Default config.yml
Last updated Oct 28, 2026
Default config.yml
Shipped defaults from SoapsFloor 1.2.4. After first run, this file lives under plugins/SoapsFloor/.
Updating the jar does not overwrite your live copy. Use this page to compare or reset.
See also: Config Reference · Configuration
# ################################################
# #
# SoapsFloor - Configuration #
# #
# Created by AlternativeSoap #
# Website: www.SoapsUniverse.com #
# Support: https://discord.gg/mawAzwFq #
# #
# ################################################
#
# Dungeon floor-drop plugin for Paper 26.1+ (26.1 / 26.2 / 26.3)
# Messages: messages.yml | GUI layouts: gui.yml
# ──────────────────────────────────────────────────────────────
# General
# ──────────────────────────────────────────────────────────────
# Inventory-based menus (all features still work via commands / chat when disabled)
gui:
enabled: true
# ──────────────────────────────────────────────────────────────
# Room Defaults
# ──────────────────────────────────────────────────────────────
# Applied when creating new rooms. Each room can override these.
default-room-settings:
max-floors-per-room: 50
void-y-level: -64 # Y-level that counts as void (instant fail)
# Vertical mode: down = classic drop tower; up = climb + rising flood
direction: down # down | up
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 rooms: floor mobs take fall damage (default off)
# Clear mode only (Rising Flood Off): path after a floor clears
climb-after-clear: ladder # stay | ladder | stair-pack
climb-connector-pack: "" # Pack id when climb-after-clear is stair-pack
climb-retire-lower-floor: true # Wipe the cleared floor once the party is upstairs
climb-ladder-support: STONE # Solid block behind clear-mode climb ladders
# Void enclosure: black shell outside the paste footprint (air only; wiped on session end)
enclosure:
enabled: false
material: BLACK_CONCRETE
walls: true
roof: true
padding: 0 # Extra blocks outside play AABB before shell faces
# Floor spacing (blocks)
starter-to-floor-gap: 5 # Gap between starter room and first floor
floor-to-floor-gap: 3 # Gap between consecutive floors
# Countdown (starter run-start AND delay before a cleared floor drops)
countdown-seconds: 3
countdown-sound: BLOCK_NOTE_BLOCK_PLING
countdown-sound-volume: 1.0
countdown-sound-pitch: 1.0 # Pitch increases per tick automatically
countdown-final-sound: ENTITY_ENDER_DRAGON_GROWL
countdown-final-volume: 1.0
countdown-final-pitch: 1.2
auto-start-enabled: true # Auto-start when a player enters the starter room
pvp-enabled: false # Default for new rooms (toggle per room in Room Settings)
keep-inventory-on-death: false # Keep items on death inside this room
keep-experience-on-death: false # Keep XP/levels on death inside this room
weakness-voting-enabled: true # New rooms run weakness voting before countdown (toggle in Room Settings)
# Waiting timer (before countdown begins)
waiting-timer-enabled: true
waiting-timer-seconds: 30 # Time to wait for more players before locking
ready-check-enabled: true # /sf ready: all fighters ready ends the wait early
skip-vote-enabled: true # /sf skip: majority vote ends the wait early
spectator-max: 4 # Lobby spectators via /sf spectate (0 = unlimited)
# Player limits
min-players: 1 # Minimum to auto-start (0 = disabled, solo-friendly)
max-players: 4 # Max fighters per session (0 = unlimited; spectators use spectator-max)
allow-join-in-progress: false # Allow joining an active session
# ──────────────────────────────────────────────────────────────
# Quick Join & Queue
# ──────────────────────────────────────────────────────────────
# /sf quickjoin (and GUI Quick Join) picks a joinable room.
# Prefer open waiting lobbies, then empty rooms, then in-progress (if allowed).
# When every room is full/locked, players enter a FIFO queue until a slot opens.
quick-join:
enabled: true
queue-enabled: true
queue-timeout-seconds: 300 # 0 = no timeout
# ──────────────────────────────────────────────────────────────
# Join Signs
# ──────────────────────────────────────────────────────────────
# Place a sign matching the pattern below to create a clickable join sign.
# Default layout:
# line 1: (empty)
# line 2: [SF]
# line 3: <room name>
# line 4: (empty)
# Use {room} for the room-id line. Other lines must match exactly (case-insensitive).
# Blank pattern lines must be left empty on the sign.
join-signs:
enabled: true
lines:
- ""
- "[SF]"
- "{room}"
- ""
# Applied after a valid join sign is created (MiniMessage). Use {room}.
formatted-lines:
- ""
- "<gradient:#f59e0b:#fbbf24><bold>[SF]</bold></gradient>"
- "<#fbbf24>{room}"
- "<#6b7280>Click to join"
# ──────────────────────────────────────────────────────────────
# Party Scaling (multiplayer difficulty)
# ──────────────────────────────────────────────────────────────
# More players = harder dungeon. Locked when the waiting timer ends.
# Per-room on/off: Room Settings (wand hotbar) or room YAML party-scaling.enabled
party-scaling:
enabled: true
base-players: 1 # Scaling starts above this count
lock-at-room-lock: true # Snapshot player count when room locks
max-extra-players: 0 # Cap extras used for scaling (0 = no cap)
mobs:
extra-min-per-player: 0
extra-max-per-player: 1 # +1 max mob per extra player
count-multiplier-per-player: 0.15
health:
multiplier-per-player: 0.20 # 4 players @ base 1 = +60% HP
apply-to-vanilla: true
apply-to-mythic: true # Same HP multiplier on MythicMobs
mythic-level-per-player: 1
rewards:
roll-multiplier-per-player: 0.10 # Stacks with weakness multiplier
# ──────────────────────────────────────────────────────────────
# Mob Spawning
# ──────────────────────────────────────────────────────────────
mob-spawning:
default-min-mobs: 3
default-max-mobs: 8
default-mob-type: vanilla:husk # Format: vanilla:<type> or mythicmobs:<id>
default-spread-radius: 3 # Min blocks between spawns
spawn-delay-ticks: 0 # Ticks between each mob spawn (0 = all at once)
# How to show remaining mob count: "actionbar", "chat", or "bossbar"
mob-counter-display: actionbar
# On spawn: target nearest fighter, bump follow range, keep AI aware (Paper).
# Makes dungeon mobs engage faster instead of idling first.
instant-aggro:
enabled: true
follow-range: 48 # 0 = do not change follow range
# false = leave MythicMobs targeting to Mythic config (ThreatTable / AlwaysAggressive / etc.)
apply-to-mythicmobs: true
# ──────────────────────────────────────────────────────────────
# Block Protection
# ──────────────────────────────────────────────────────────────
# Built-in protection so rooms stay intact without WorldGuard.
# Turn the master switch or individual flags off if another plugin
# already protects the area. soapsfloor.bypass.protection is exempt.
block-protection:
enabled: true
prevent-block-break: true
prevent-block-place: true
prevent-explosions: true # TNT / creeper / bed / etc. block damage
prevent-bucket-use: true # Empty / fill buckets
prevent-fire: true # Ignite, burn, and snuff 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
# ──────────────────────────────────────────────────────────────
# Anti-Cheese
# ──────────────────────────────────────────────────────────────
# Prevents players from circumventing room progression.
# Admins with soapsfloor.admin are exempt from all restrictions.
anti-cheese:
disable-elytra: true
block-ender-pearls: true
block-chorus-fruit: true # Block Chorus Fruit random teleportation
block-flying: true
fall-damage-multiplier: 0.0 # 0.0 = no fall damage, 1.0 = normal
remove-invisibility-on-join: true # Strip invisibility effect when entering a room
# Force survival mode when entering a room
# When enabled, remembers the player's gamemode before joining and
# restores it after the game ends (victory, leave, wipe, quit).
force-survival: true
# Shared party lives for the run (mid-run deaths only; lobby deaths do not spend).
# 0 = unlimited respawns on the current floor.
# >0 = shared pool for the whole party. Each death spends 1 while any remain,
# then that player spectates. When nobody is left fighting, the run ends.
# Rooms can override this in Room Settings / room YAML.
lives: 3
# How far spectators may roam from the current floor bounds (blocks).
spectator-leash-blocks: 16
# Keep a disconnected player in the session this many seconds (0 = remove immediately).
reconnect-grace-seconds: 60
# Blacklisted items: materials that cannot be used inside dungeon rooms.
# Players will be unable to interact with these items while in a session.
# Use Bukkit Material names: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
blacklisted-items:
- ENDER_EYE
# - TNT
# - FIRE_CHARGE
# ──────────────────────────────────────────────────────────────
# Effects
# ──────────────────────────────────────────────────────────────
# Victory
victory:
teleport-to-exit: true # After victory delay, move winners to the room exit (always evacuate before floor cleanup)
teleport-delay: 3 # Seconds to celebrate on the last floor before evacuate (0 = instant)
# Title display (shown on screen)
title-enabled: true
title: "<gradient:#f59e0b:#fbbf24>Dungeon Cleared</gradient>"
subtitle: "<#9ca3af>{room} <#6b7280>·</#6b7280> <gradient:#10b981:#34d399>{time}</gradient>"
title-fade-in: 10 # Ticks (10 = 0.5 seconds)
title-stay: 70 # Ticks (70 = 3.5 seconds)
title-fade-out: 20 # Ticks (20 = 1.0 seconds)
# Victory sound
sound: entity.player.levelup # Accepts Minecraft namespaced keys or Bukkit enum names
sound-volume: 1.0
sound-pitch: 1.0
# Particle effect
victory-particle: FIREWORK # FIREWORK, TOTEM_OF_UNDYING, EXPLOSION, DRAGON_BREATH
victory-particle-count: 100
# Reward commands (run from console for each active player, unless noted)
# Placeholders: {player}, {players}, {room}, {time}, {kills}, {total_kills}, {floors}
# Special prefixes:
# broadcast:<text> server-wide broadcast (once per clear). Use & legacy colors.
# message:<text> private message to that player. Use & legacy colors.
reward-commands:
- "broadcast:&8[&6SoapsFloor&8] &e{players} &7cleared &6{room} &7· &a{time} &7· &6{floors} &7floors · &c{total_kills} &7kills"
# - "xp add {player} 50 points"
# - "sa economy give {player} 100"
# - "sq sigils give {player} 2"
# - "give {player} diamond 1"
# Floor drop
floor-drop:
particle-effect: EXPLOSION # EXPLOSION, CLOUD, LARGE_SMOKE, CAMPFIRE_COSY_SMOKE
particle-count: 50
sound-effect: entity.generic.explode # Accepts Minecraft namespaced keys or Bukkit enum names
sound-volume: 1.0
sound-pitch: 0.8
# ──────────────────────────────────────────────────────────────
# Editor Mode
# ──────────────────────────────────────────────────────────────
# Wand-based room editor for admins.
editor-mode:
# Structure previews
enable-previews: true
enable-glow-outline: false # Scoreboard glow on thousands of displays is slow; brightness tint is enough
preview-view-range: 1.0 # Chunk render distance (1.0 = normal)
# Particle borders around previews
show-particle-borders: false
particle-type: END_ROD
particle-interval: 10 # Ticks between updates
# Standalone schematic browser preview (/sf schematics)
# Targeting stays eye + look direction × distance (block-snapped, centered).
schematic-preview-max-blocks: 5000 # Cap ghost blocks sent to client (prevents crashes)
schematic-preview-blocks-per-tick: 150 # Spawn rate while preview loads (enter editor / floors)
schematic-preview-teleport-per-tick: 400 # Floor ghost moves on direction/gap change (batched)
schematic-preview-remove-per-tick: 400 # Batched destroy on leave / finish
schematic-preview-glow: false # Scoreboard glow on thousands of displays crashes clients
schematic-preview-particles: true # Particle AABB around standalone paste preview
schematic-preview-skip-decorative: false # Skip leaves/carpets/foliage in ghosts (paste still full)
schematic-preview-min-distance: 3
schematic-preview-max-distance: 50
schematic-preview-default-distance: 10
schematic-preview-update-ticks: 4 # How often the ghost follows look direction
schematic-preview-editor-max-blocks: 5000 # Cap for editor floor ghosts (same crash protection)
schematic-preview-floor-tint: true # Per-floor brightness tint colors in editor previews
# Wand selection preview
wand-selection:
show-particles: true # Show particle outline when selecting pos1/pos2
max-selection-volume: 100000 # Max total blocks in selection (W×H×L)
max-selection-dimension: 200 # Max blocks per axis (width, height, or length)
# Player state
restore-location: true # Restore location on editor exit
restore-gamemode: true # Restore gamemode on editor exit
# Protection
prevent-block-break: true
prevent-block-place: true
# Action bar hints
show-actionbar-hints: true
actionbar-interval: 60 # Ticks (60 = 3 seconds)
# Schematic packs (weighted floor pools)
schematic-packs:
min-entries: 2
default-weight: 10
# ──────────────────────────────────────────────────────────────
# Admin Visualization
# ──────────────────────────────────────────────────────────────
# Particle markers shown to admins for room elements.
visualization:
enabled: true
show-bounds: true # Floor bounds wireframe
show-spawns: true # Entry/exit spawn points
# ──────────────────────────────────────────────────────────────
# Schematic Settings
# ──────────────────────────────────────────────────────────────
schematic-settings:
floor-removal-inset: 1 # Blocks from edge kept on floor drop; also keeps mob spawns off walls
spawn-height-offset: 1.0 # Blocks above the solid surface under the mob's feet
# ──────────────────────────────────────────────────────────────
# Integrations
# ──────────────────────────────────────────────────────────────
integrations:
soaps-hunger-stamina:
# When SoapsHungerStamina is installed, turn stamina off for fighters
# during a run (fight enter → leave). Uses SHS runtime API.
disable-stamina-in-game: true
# ──────────────────────────────────────────────────────────────
# Debug Mode
# ──────────────────────────────────────────────────────────────
# Fast testing features for development. Not for production use.
debug-mode:
enabled: false
instant-start: true # Skip countdown
instant-floor-drop: true # No delay between floors
instant-mob-spawn: true # No spawn delay
verbose-logging: false # Extra console output
Still stuck? Ask about this page