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-delay removed).
  • Party scaling: max-extra-players, health.apply-to-mythic; per-room Inherit/On/Off in Room Settings.
  • Global pvp-enabled removed; PvP is per-room (default from default-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 global on-death from config.yml.
  • Victory teleport-to-exit; teleports to room exit.
  • Reward tables: fractional multiplier rolls, guaranteed entries, unique-rolls, {total_kills} + message:/broadcast: command prefixes. Leaner rewards.yml examples.

Falling hazard

  • Room-wide falling hazard on the room YAML (falling-hazard). Off by default. Removed from config.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-behavior still applies. respawn keeps players in-session on the current floor.

Weaknesses

  • Replaced glow with Exposed (cannot sneak). Removed glowing / nausea entries.
  • 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.yml gui.enabled (removed gui.yml settings.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.mobs YAML. Spawning uses mob-type only.
  • 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 finish as 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-join in config.yml) until a slot opens.
  • Multiplayer: per-room auto-start-enabled and allow-join-in-progress are honored on join; late joiners get the active weakness; max-player counting is consistent for unlimited rooms.
  • /sf leave teleports 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 uses soapsfloor.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 start when 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 list entries are clickable and run join on click.
  • /sf wand leave is an alias for /sf wand finish.
  • Configurable join signs (join-signs in config.yml): default empty / [SF] / {room} / empty. Right-click to join.
  • soapsfloor.admin.sign creates join signs. soapsfloor.admin.sign.break is 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.yml orphan recovery on startup
  • Concurrent schematic cache; atomic room and stats YAML via SoapsYamlFiles
  • /sf reload refreshes rooms, leaderboard cache, and messages merge
  • falling-hazard.max-particles-per-tick config cap (default 200). Removed from config.yml in 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-version 1.21.11

GUI

  • Fixed menu size field: 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-scaling config 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: false in room settings YAML
  • min-players enforced 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.protection permission

Schematic preview (editor-mode config)

  • schematic-preview-max-blocks: 5000
  • schematic-preview-blocks-per-tick: 30
  • schematic-preview-glow: false

Requires SoapsCommon 1.3.0+.

1.0.4

Maintenance release (no public notes in source).