- Mobs that belong to a room are now fully despawned when all players die or the session ends. Any leftover entities inside the room bounds get cleaned up too, so you won't find random zombies hanging around after a failed run.
- Block protection is now built in and toggleable. With `block-protection.enabled: true`, players can't break, place, or interact with blocks inside a room. Explosions are also blocked. Admins with the bypass permission are exempt.
- If a player was flying before entering the wand editor, they'll still be flying when they leave. Same goes for creative mode and allow flight, everything gets saved and restored properly now.
- Chorus Fruit teleportation can now be blocked inside rooms. Enable `anti-cheese.block-chorus-fruit` in config and players won't be able to cheese floors by eating chorus fruit.
- Armor stands, item frames, and other non mob entities no longer get counted as mobs. Only actual hostile/neutral mobs are tracked by the mob counter, so floors clear correctly even if decorative entities exist in the room.
- You can now stagger mob spawns with `mob-spawning.spawn-delay-ticks`. Set it to something like 10 and mobs will spawn one by one with a short delay instead of all appearing at once.
- The lobby waiting timer duration (`waiting-timer-seconds`) is now properly documented in the config. It was already functional but easy to miss.
- PvP inside rooms is now toggleable. Set `pvp-enabled: false` (default) to prevent players from damaging each other. Mobs can still hit players and players can still hit mobs regardless of this setting.
- Cleaned up a bunch of unnecessary comments throughout the codebase. No AI generated filler comments anymore, just meaningful documentation where it matters.
- All particle references now have proper validation. If you put an invalid particle name in the config, the plugin logs a warning instead of crashing. Works for victory particles, floor drop effects, falling hazard, and editor previews.
- The countdown system now supports per floor timers. Each floor can have its own countdown duration, editable with the Clock item in the wand editor. Floors inherit the global countdown by default but you can override them individually.
- Anti cheese got expanded with invisibility removal on room join and a configurable blacklisted items list. Blacklisted items can't be used, placed, eaten, worn as armor, thrown as projectiles, or dropped inside rooms. Covers ender pearls, TNT, potions, bows, food, and anything else you add to the list.
- Creeper explosions now properly register as mob deaths. Previously if the last mob on a floor was a creeper that exploded, the floor wouldn't clear. A delayed validation check now catches this and advances the floor correctly.
- Running `/sf wand finish` now shows the same success message as typing "done" in chat. Both methods work identically now.
- Fixed a duplicate console startup log that was printing the plugin header twice on enable.
- Fixed the schematic preview not fully exiting after pasting. The scroll wheel and chat input were still active after using "done" to paste, now everything cleans up properly.
- All wand editor hotbar items now use hex color gradients for their display names instead of flat colors. Each item has its own unique gradient and the lore text follows a consistent color scheme across all items. Also fixed the Custom Commands item missing bold styling and the Mob Settings item using the wrong color for shift actions.
Comments ()