Changelog
Last updated Sep 18, 2026
Changelog
1.0.7
Config & room settings
- Countdown default is 3s; covers starter start and post-clear floor drop (
floor-drop-delayremoved). - Party scaling:
max-extra-players,health.apply-to-mythic; per-room Inherit/On/Off in Room Settings. - Global
pvp-enabledremoved; PvP is per-room (default fromdefault-room-settings.pvp-enabled). - Wand Room Settings (nether star): PvP, auto-start, party scaling, join-in-progress, keep inventory/XP on death, countdown, min/max players. Hotbar Max Players Adjuster removed.
- Keep inventory / experience on death are per-room (
keep-inventory-on-death/keep-experience-on-death). Removed globalon-deathfromconfig.yml. - Victory
teleport-to-exit; teleports to room exit. - Reward tables: fractional multiplier rolls,
guaranteedentries,unique-rolls,{total_kills}+message:/broadcast:command prefixes. Leanerrewards.ymlexamples.
Falling hazard
- Room-wide falling hazard on the room YAML (
falling-hazard). Off by default. Removed fromconfig.yml. - Wand Falling Hazard (magma cream): GUI menu, or toggle on/off when GUIs are disabled.
- Fall interval edited in ticks. Start delay, hit/above modes, particle, color, and advanced density options.
- Shift-click particle to type any Bukkit particle name in chat (with clickable suggestions).
- Pauses during floor clear countdown / drop / paste. Resumes at the same world Y (no snap to next ceiling).
- If far above the current floor, speeds up to catch up, then returns to normal near that floor.
- Stops at floor bottom. Paste failure resumes so it is not stuck paused.
- Menus refresh in place (cursor no longer resets on each click).
- Instant kill uses normal damage so
death-behaviorstill applies.respawnkeeps players in-session on the current floor.
Weaknesses
- Replaced glow with Exposed (cannot sneak). Removed
glowing/nauseaentries. - Added Soft Spot, No Crits, Slow Hands, Empty Stomach, Dry Flask, Melee Only, No Second Chance, Heavy Hit, Bleeding.
- Open Guard (
no-shield): no shields and +20% damage taken. - Nausea removed (not a meaningful fight challenge).
Cleanup
- Removed unused editor message keys and dead code paths.
- GUI master switch is only
config.ymlgui.enabled(removedgui.ymlsettings.enabled). - Mob counter boss bars use Adventure components.
- Shared location helpers for spawn points and room entry/exit.
MYTHIC:works as a mob prefix alias. - Removed legacy per-location
Floor.mobsYAML. Spawning usesmob-typeonly. - Floor mob defaults resolve floor, then room settings, then global config (including counter display).
- Debug logging follows
debug-mode.enabled(same flag as/sf debug). - Shared reward
message:/broadcast:dispatch, a floor-picker helper, and one GuiManager screen registry. - Room play commands are top-level:
/sf join|leave|list|info|start|delete(removed/sf room …). Creators get/sf finishas a wand-finish alias (soapsfloor.admin.wand; not shown to normal players). /sf quickjoin(and GUI Quick Join) fills waiting lobbies first, then empty rooms. If all are full, players enter a FIFO queue (quick-joininconfig.yml) until a slot opens.- Multiplayer: per-room
auto-start-enabledandallow-join-in-progressare honored on join; late joiners get the active weakness; max-player counting is consistent for unlimited rooms. /sf leaveteleports to the wand exit point after session cleanup (falls back to entry). Entry/exit world binding survives reloads; finish requires both points set.- Main Hub is 5 rows: info, play, tools, then Leave/Close on their own bottom row. Inner glass fillers removed (frame only).
- Hub menus (Admin, Stats, Settings, browsers, leaderboards) share the editor layout: 5 rows, black fill, Back@39 / Close@41. Fixed dead clicks from overlapping filler slots,
[open_menu]GuiState sync (pagination), and leaderboard time/kills tabs. Settings usessoapsfloor.player.settings.
Requires SoapsCommon 1.4.3+.
1.0.6
Locked floors
- Free floors come first. Locked floors stack after and are bought in the lobby by the host.
- Currency sources include SoapsAdmin economies, SoapsQuest sigils, Vault money, and item costs.
- Unbought locked floors are skipped. The run ends at free floors plus what was bought.
- Host handoff when the host leaves. Use
/sf room startwhen auto-start is off. - Instant-start debug uses free floors only.
Floor Editor
- Wand Floor Editor hub: select a floor, then open Access & locks, Mob settings, Countdown, or Custom commands.
- Access & locks covers currency cycle, amount, item cost slots, and a boss flag.
- Mob settings GUI: min/max counts, entry list (click to remove), add via chat, or use defaults.
- Countdown GUI: per-floor timer with inherit or reset to the room default.
- Custom commands GUI: list or remove commands, and add via chat.
- Editor hotbar is wand, gaps, Floor Editor, Falling Hazard, and Room Settings (max players is in Room Settings).
Join UX
/sf room listentries are clickable and run join on click./sf wand leaveis an alias for/sf wand finish.- Configurable join signs (
join-signsinconfig.yml): default empty /[SF]/{room}/ empty. Right-click to join. soapsfloor.admin.signcreates join signs.soapsfloor.admin.sign.breakis required to break them.
Requires SoapsCommon 1.4.3+.
1.0.5
Production readiness (2026-06-11)
- Floor progression uses async schematic paste (no main-thread paste stalls)
- Budgeted block removal on room teardown;
active-sessions.ymlorphan recovery on startup - Concurrent schematic cache; atomic room and stats YAML via
SoapsYamlFiles /sf reloadrefreshes rooms, leaderboard cache, and messages mergefalling-hazard.max-particles-per-tickconfig cap (default 200). Removed fromconfig.ymlin 1.0.7; hazard is per-room and the tick cap is hardcoded.- MythicMobs spawn guard; startup warnings for rooms referencing missing Mythic mobs
- GUI state cleared on player quit
api-version1.21.11
GUI
- Fixed menu
sizefield: values are row counts (3 to 6), not total slot counts - Compacted all menus: Main Hub (4 rows), Admin/Stats/Settings (3 rows), paginated browsers (5 rows)
- Schematic Browser: fixed schematic clicks doing nothing
- Schematic Browser: pagination no longer opens empty pages past the last page
- Schematic Browser: empty schematics folder shows a helpful notice
- Schematic Browser: schematic cards use PAPER instead of MAP (fixes client crashes)
- Schematic Browser: preview capped and throttled for large schematics
- Floor selector sub-menu aligned to 5-row layout
Party scaling
- New
party-scalingconfig section: more players means more mobs, higher HP, extra loot rolls - Player count snapshotted when the waiting timer locks the room
- Per-room opt-out via
party-scaling.enabled: falsein room settings YAML min-playersenforced before the room locks
Schematic templates
- Bundled default schematics: ROOM (floor template) and STARTER_ROOM (lobby reference)
- Extracted to
plugins/SoapsFloor/schematics/on first run
Performance and fixes
- Schematic file cache, O(1) mob death lookup, leaderboard cache (60s TTL)
- Falling hazard particles capped and sent per-player only
- Added
soapsfloor.bypass.protectionpermission
Schematic preview (editor-mode config)
schematic-preview-max-blocks: 5000schematic-preview-blocks-per-tick: 30schematic-preview-glow: false
Requires SoapsCommon 1.3.0+.
1.0.4
Maintenance release (no public notes in source).