# Bookshelf - v2.1.4 ## Folia Support, Long Flags, and Kill Improvements ### PLUGIN UPDATES - **Folia support** — Bookshelf now runs on Folia servers. All scheduler calls use region-aware scheduling, and entity operations run on the entity's owning thread. - **Long flag variants** — All commands with flags now support `--word` alternatives alongside short `-x` flags. Tab completion suggests both forms. - `-s` / `--silent` — Feed, Heal, FlySpeed, WalkSpeed, Saturate, and all gamemode commands. - `-r` / `--remove` — Kill, KillAll. - `-f` / `--force` — KillAll, Enchant. - `-k` / `--keep` — Bundle. - `-l` / `--location` — Kit. - `-l` / `--lowest`, `-h` / `--highest` — Top. - `-h` / `--heal` — Health, MaxHealth. - `-o` / `--offhand` — Skull. - `-e` / `--extinguish` — Heal. - `-d` / `--duration` — Ban, BanIP, Mute, TempBan, TempMute. - `-c` / `--console`, `-d` / `--delay`, `-t` / `--target` — PowerTool. - **`/kill` auto-removes non-living entities** — `/kill @e[type=item]` now removes items without needing `-r`. Non-living entities (items, TNT, arrows, etc.) are automatically removed, while living entities are killed via health. Use `-r` / `--remove` to force removal on living entities. ### API UPDATES - **`Task` scheduler API** — Added `runEntity()` and `laterEntity()` methods that schedule tasks on an entity's owning region thread, required for Folia compatibility. - **`TaskHandle`** — New unified return type wrapping either `BukkitTask` or Folia's `ScheduledTask`, with `cancel()` and `isCancelled()`. - **`FoliaCompat`** — Runtime detection for Folia via `FoliaCompat.isFolia()`. - **`FlagArgument`** — Added `hasFlag(input, shortFlag, longFlag)` and extended `parseFlags`/`sanitizeInput` to support `--word` flags with values. ### INTERNAL UPDATES - Bumped **Bookshelf-Paper** to `2.1.4`. - Bumped **Bookshelf-API** to `1.2.34`. - Bumped **Bookshelf-CommandAPI** to `1.0.43`. - Removed all `BukkitRunnable` usage across the codebase. - Added `folia-supported: true` to `plugin.yml`.