Configuration

Last updated Oct 28, 2026

Configuration

Tour of plugins/SoapsFloor/config.yml essentials. Full dumps: Config Reference.

File Guide / defaults
config.yml This page · Default config.yml
messages.yml Default messages.yml
gui.yml GUI Menus · Default gui.yml
weaknesses.yml Weaknesses · Default weaknesses.yml
rewards.yml Rewards · Default rewards.yml
packs/*.yml Room Creation Guide

Reload YAML with /sf reload. Jar upgrades need a full restart. Reload policy.

General

Key Default Description
gui.enabled true Master switch for inventory GUIs (all menus; commands/chat still work)

default-room-settings

Applied to new rooms. Each room can override these in its saved YAML or via the wand Room Settings / Floor Editor.

Key Default Description
max-floors-per-room 50 Floor cap per room
void-y-level -64 Y level that fails the run
direction down down = drop tower; up = climb + rising flood
climb-reveal-distance 8 Blocks below next climb segment before it pastes
climb-overhead-fail-blocks 2 Fail if flood is this many blocks above eye height
climb-mob-fall-damage false Climb: floor mobs take fall damage
climb-after-clear ladder Clear mode only: stay / ladder / stair-pack. Ladder/Stair: party upstairs → hole closes → mobs spawn
climb-connector-pack "" Pack id when climb-after-clear is stair-pack (climb-height = walk floor through next plate)
climb-retire-lower-floor true Wipe the cleared floor once the party is upstairs and the hole has closed
climb-ladder-support STONE Support block behind temporary ladders (also set in Direction & climb chat)
enclosure.enabled false Void shell walls/roof around playable floors
enclosure.material BLACK_CONCRETE Shell block type
enclosure.walls true Outer walls
enclosure.roof true Roof above the tower
enclosure.padding 0 Extra blocks outside the play area
starter-to-floor-gap 5 Blocks between starter and floor 1
floor-to-floor-gap 3 Blocks between floors
countdown-seconds 3 Starter countdown and post-clear delay (drop / climb clear-mode)
countdown-sound BLOCK_NOTE_BLOCK_PLING Tick sound
countdown-sound-volume 1.0 Tick volume
countdown-sound-pitch 1.0 Tick pitch (rises each tick)
countdown-final-sound ENTITY_ENDER_DRAGON_GROWL Sound at GO
countdown-final-volume 1.0 Final sound volume
countdown-final-pitch 1.2 Final sound pitch
auto-start-enabled true Start flow when a player enters starter
pvp-enabled false Default for new rooms (toggle per room in Room Settings)
keep-inventory-on-death false Keep items on death inside the room (Room Settings)
keep-experience-on-death false Keep XP/levels on death inside the room (Room Settings)
lives omit Optional party lives override (0 = unlimited). Omit to inherit anti-cheese.lives
waiting-timer-enabled true Lobby timer before lock
waiting-timer-seconds 30 Lobby wait time
ready-check-enabled true /sf ready: all online fighters ready ends the wait early
skip-vote-enabled true /sf skip: majority of online fighters ends the wait early
spectator-max 4 Lobby spectators via /sf spectate (0 = unlimited)
min-players 1 Minimum players to lock (0 = disabled)
max-players 4 Fighter cap (0 = unlimited; spectators use spectator-max)
allow-join-in-progress false Join active runs

join-signs

Clickable signs that join a room. Pattern lines must match (case-insensitive). Use {room} for the room id line.

Key Default Description
enabled true Master switch for join signs
lines empty / [SF] / {room} / empty Match pattern on the sign
formatted-lines styled MiniMessage lines Applied after a valid sign is created

Creating a sign requires soapsfloor.admin.sign. Breaking one requires soapsfloor.admin.sign.break.

party-scaling

Locked when the waiting timer ends. Per-room: Room Settings (wand) or party-scaling.enabled on the room YAML (null/omit = inherit).

Key Default Description
enabled true Global party scaling
base-players 1 Scaling starts above this count
lock-at-room-lock true Snapshot player count at lock
max-extra-players 0 Cap extras used for scaling (0 = no cap)
mobs.extra-min-per-player 0 Extra min mobs per extra player
mobs.extra-max-per-player 1 Extra max mobs per extra player
mobs.count-multiplier-per-player 0.15 Mob count multiplier
health.multiplier-per-player 0.20 HP multiplier per extra player
health.apply-to-vanilla true Scale vanilla mob HP
health.apply-to-mythic true Same HP multiplier on MythicMobs
health.mythic-level-per-player 1 Mythic level bump per player
rewards.roll-multiplier-per-player 0.10 Extra reward roll chance

mob-spawning

Key Default Description
default-min-mobs 3 Default min per floor
default-max-mobs 8 Default max per floor
default-mob-type vanilla:husk vanilla:<type> or mythicmobs:<id>
default-spread-radius 3 Min blocks between spawns
spawn-delay-ticks 0 Delay between each mob spawn
mob-counter-display actionbar actionbar, chat, or bossbar
instant-aggro.enabled true Target nearest fighter on spawn + keep AI aware
instant-aggro.follow-range 48 Raise follow range if lower (0 = leave alone)
instant-aggro.apply-to-mythicmobs true Set false if Mythic handles targeting itself

block-protection

Built-in so rooms stay intact without WorldGuard. Disable the master switch or individual flags if another protection plugin already covers the area.

Key Default Description
enabled true Master switch for all room block protection
prevent-block-break true Player block breaking
prevent-block-place true Player block placing
prevent-explosions true TNT / creeper / bed / etc. block damage
prevent-bucket-use true Empty / fill buckets
prevent-fire true Ignite and burn; snuffs leftover fire on session end
prevent-mob-grief true Endermen, ravagers, and other EntityChangeBlock
prevent-trampling true Farmland / crop trampling
prevent-pistons true Pistons pushing or pulling room blocks
prevent-dispensers true Dispense water / lava / flint & steel / TNT into rooms
prevent-hanging-break true Item frames, paintings, armor stands
protect-from-outsiders true Block edits by players not in that room's session
protect-inactive-rooms false Also protect room bounds when no session is running

Players with soapsfloor.bypass.protection skip protection.

anti-cheese

Admins with soapsfloor.admin skip these rules.

Key Default Description
disable-elytra true Block elytra flight
block-ender-pearls true Block ender pearls
block-chorus-fruit true Block chorus fruit teleport
block-flying true Block creative flight
fall-damage-multiplier 0.0 0.0 = none, 1.0 = vanilla
remove-invisibility-on-join true Strip invisibility on join
force-survival true Force survival; restore gamemode after run
lives 3 Shared party lives (0 = unlimited; N = spend then spectate). Rooms may override via Room Settings / room YAML lives
spectator-leash-blocks 16 Spectator roam limit from current floor bounds
reconnect-grace-seconds 60 Hold a disconnect slot during wait/countdown/run (0 = remove immediately)
blacklisted-items ENDER_EYE Materials blocked in sessions

falling-hazard

Removed from config.yml. Configure per room under falling-hazard in the room YAML or via the wand. See Falling Hazard.

victory

Key Default Description
teleport-to-exit true Teleport winners to the room exit
teleport-delay 3 Seconds before teleport
title-enabled true Show victory title
title MiniMessage Title text
subtitle MiniMessage Subtitle ({time} placeholder)
title-fade-in 10 Title fade in ticks
title-stay 70 Title stay ticks
title-fade-out 20 Title fade out ticks
sound entity.player.levelup Victory sound
sound-volume 1.0 Sound volume
sound-pitch 1.0 Sound pitch
victory-particle FIREWORK Particle effect
victory-particle-count 100 Particle count
reward-commands list Console commands on win

Placeholders: {player}, {players}, {room}, {time}, {kills}, {total_kills}, {floors}.

Prefixes on reward commands: broadcast:<text> (once per clear), message:<text> (per player). & color codes are supported in those prefixes. Per-table append-to-global in rewards.yml can skip globals for that room.

floor-drop

Used when the starter floor is removed at run start and when cleared floors drop mid-run.

Key Default Description
particle-effect EXPLOSION Drop particle
particle-count 50 Particle count
sound-effect entity.generic.explode Drop sound
sound-volume 1.0 Volume
sound-pitch 0.8 Pitch

editor-mode

Key Default Description
enable-previews true Ghost block previews
enable-glow-outline true Glow on previews
preview-view-range 1.0 Chunk render distance
show-particle-borders false Particle borders
particle-type END_ROD Border particle
particle-interval 10 Border update ticks
schematic-preview-max-blocks 5000 Max preview blocks
schematic-preview-blocks-per-tick 30 Preview spawn rate
schematic-preview-teleport-per-tick 400 Floor ghost move rate on direction/gap change
schematic-preview-glow false Glow on schematic preview
schematic-preview-particles true Particle box on paste preview
schematic-preview-skip-decorative false Hide foliage/carpets in ghosts
schematic-preview-min-distance 3 Min look distance
schematic-preview-max-distance 50 Max look distance
schematic-preview-default-distance 10 Starting look distance
schematic-preview-update-ticks 4 Follow look interval
schematic-preview-editor-max-blocks 5000 Cap editor floor ghosts
schematic-preview-floor-tint true Per-floor glow tint
wand-selection.show-particles true Selection outline
wand-selection.max-selection-volume 100000 Max selection volume
wand-selection.max-selection-dimension 200 Max axis length
restore-location true Restore position on editor exit
restore-gamemode true Restore gamemode on exit
prevent-block-break true Block break in editor
prevent-block-place true Block place in editor
show-actionbar-hints true Editor actionbar hints
actionbar-interval 60 Hint interval ticks

schematic-packs

Weighted floor pools under plugins/SoapsFloor/packs/<id>.yml. Assign a pack to a floor slot instead of a single schematic.

Key Default Description
min-entries 2 Minimum schematics required to save a pack
default-weight 10 Weight applied when adding a schematic without an explicit weight

Exact width×length must match across pack members; height may differ. Runtime rolls by weight (session-only). See Room Creation Guide.

visualization

Key Default Description
enabled true Admin markers
show-bounds true Floor bounds wireframe
show-spawns true Entry and exit markers

schematic-settings

Key Default Description
floor-removal-inset 1 Blocks kept on floor edge at drop; also keeps mob spawns off walls
spawn-height-offset 1.0 Blocks above the solid surface under the mob's feet

debug-mode

Not for production. Toggle with /sf debug, or set in config and /sf reload. Plugin debug logs follow enabled.

Key Default Description
enabled false Master switch for debug features and debug logging
instant-start true Skip countdown when enabled
instant-floor-drop true No floor drop delay when enabled
instant-mob-spawn true No spawn delay when enabled
verbose-logging false Extra console output when enabled

Defaults: Default config.yml · Hub: Config Reference

Still stuck? Ask about this page