Configuration
Last updated Sep 18, 2026
Configuration
Main file: plugins/SoapsFloor/config.yml. Messages and GUI layouts are separate files.
| File | Purpose |
|---|---|
config.yml |
Gameplay, protection, editor, victory |
messages.yml |
MiniMessage text |
gui.yml |
Menu layouts |
weaknesses.yml |
Weakness voting |
rewards.yml |
Reward tables |
Reload all with /sf reload.
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 |
starter-to-floor-gap |
5 |
Blocks between starter and floor 1 |
floor-to-floor-gap |
3 |
Blocks between floors |
countdown-seconds |
3 |
Starter run-start countdown and delay before a cleared floor drops |
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) |
waiting-timer-enabled |
true |
Lobby timer before lock |
waiting-timer-seconds |
30 |
Lobby wait time |
min-players |
1 |
Minimum players to lock (0 = disabled) |
max-players |
4 |
Session cap (0 = unlimited) |
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 |
block-protection
| Key | Default | Description |
|---|---|---|
enabled |
true |
Room block protection |
prevent-block-break |
true |
Block breaking |
prevent-block-place |
true |
Block placing |
prevent-explosions |
true |
Explosion damage |
prevent-bucket-use |
true |
Bucket use |
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 |
death-behavior |
respawn |
kick = leave room, spectate = watch, respawn = stay and respawn on current floor |
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.
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-glow |
false |
Glow on schematic preview |
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 |
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 |