Room Creation Guide
Last updated Oct 28, 2026
Room Creation Guide
Build rooms with the wand editor. You need WorldEdit schematics and soapsfloor.admin.wand permissions. Plugin version 1.2.4.
Staff how-to
- Put
.schemfiles inplugins/SoapsFloor/schematics/. /sf wand create <room_id>. Select starter box (pos1/pos2), entry (run start), optional lobby wait spawn (skipto use entry), then exit.- Add floors via chat (
schematic layer) or schematic browser (shift + right-click wand). - Floor Editor (comparator): Access/locks, Mobs, Countdown, Custom commands per floor.
- Room Settings (nether star) hub: Lobby & party, Lives & combat, Rewards & weakness, Direction & climb (direction, enclosure, climb options, after-clear Stay/Ladder/Stair pack when flood is Off).
- Optional hazard (magma cream): descending particle plane on Drop, or Rising Flood on Climb. On Climb, hazard On means Escape (reach the top). Off means Clear (kill mobs to advance; configure after-clear path in Direction & climb).
/sf wand finish(or typedone), then/sf info <id>and/sf join <id>to test./sf setreward <room> <table>or Room Settings → Reward table if usingrewards.yml.
Quick workflow
/sf wand create <room_id>- Left-click wand: position 1. Right-click wand: position 2 (starter box). Shift + Left Click clears corners.
- Right-click: entry spawn in the starter (where the run starts). Optional lobby wait spawn (or type
skip). Then exit spawn. - Add floors (chat or schematic browser).
- Open the Floor Editor (comparator) for Access, Mobs, Countdown, and Commands.
- Open Room Settings (nether star) for direction, void enclosure, PvP, auto-start, party scaling, countdown, and player limits.
- Optionally enable Falling Hazard / Rising Flood (magma cream) for the room.
- Type
donein chat or/sf wand finish(or/sf wand leave).
New-room defaults (default-room-settings)
Applied when creating rooms (each room can override):
| Key | Default | Effect |
|---|---|---|
max-floors-per-room |
50 |
Cap on floors per room |
void-y-level |
-64 |
Y at/below = instant fail |
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 |
enclosure.enabled |
false |
Void shell walls/roof around playable floors (air only) |
enclosure.material |
BLACK_CONCRETE |
Shell material |
enclosure.walls / roof |
true |
Which faces to build |
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 drop delay |
auto-start-enabled |
true |
Auto-start when a player enters starter |
pvp-enabled |
false |
Room PvP default |
keep-inventory-on-death |
false |
Keep items on death in room |
keep-experience-on-death |
false |
Keep XP on death in room |
lives |
omit | Party lives override (0 = unlimited). Omit to inherit anti-cheese.lives |
waiting-timer-enabled |
true |
Waiting lobby timer |
waiting-timer-seconds |
30 |
Seconds before room locks |
min-players |
1 |
Minimum to auto-start |
max-players |
4 |
Max per session (0 = unlimited) |
allow-join-in-progress |
false |
Late join mid-run |
Edit live values with Room Settings / Floor Editor; gaps with the gap adjusters.
Wand commands
| Command | Permission | Description |
|---|---|---|
/sf wand create <id> |
soapsfloor.admin.wand.create |
Start new room |
/sf wand edit <id> |
soapsfloor.admin.wand.edit |
Edit existing room |
/sf wand finish |
soapsfloor.admin.wand |
Save and exit |
/sf wand leave |
soapsfloor.admin.wand |
Alias for finish |
/sf wand cancel |
soapsfloor.admin.wand |
Discard session |
/sf wand status |
soapsfloor.admin.wand |
Session status |
/sf wand list |
soapsfloor.admin.wand |
Floors in session |
/sf wand floors |
soapsfloor.admin.wand |
Floor schematic details |
/sf wand remove <id> |
soapsfloor.admin.wand.remove |
Delete room (no active session) |
/sf wand rename <old> <new> |
soapsfloor.admin.wand.rename |
Rename room |
/sf schematics |
soapsfloor.admin.wand.schematics |
Open schematic browser (GUI required) |
/sf wand settings toggle <setting> |
soapsfloor.admin.wand.settings |
feedback, actionbar, or preview |
Adding floors
Chat method
Type in chat:
<schematic_name> <layer>
Examples:
ROOM 1
boss_arena 5
castle_hall 1-10
Type list to see floors. Type done when finished.
GUI method (gui.enabled: true)
Shift + Right Click the wand to open the schematic browser. Switch between schematics and packs, pick one, set how many floors to assign (and the start floor if replacing), then confirm. The browser stays closed after assign. Open it again with Shift + Right Click when you want more floors. On pack floors, Shift + Scroll Wheel or Shift + Left Click cycles the preview ghost.
Editor hotbar items
| Item | Function |
|---|---|
| Room Setup Wand | Select starter area and spawn points |
| Starter Gap Adjuster | Gap between starter and floor 1 |
| Floor Gap Adjuster | Gap between floors |
| Floor Editor | Hub for Access, Mobs, Countdown, and Commands per floor |
| Falling Hazard | Magma cream. GUI on: menu (fall interval, particle chat via shift-click). GUI off: toggle. See Falling Hazard |
| Room Settings | Nether star. Room-wide PvP, auto-start, party scaling, join-in-progress, keep inventory/XP on death, party lives, countdown, min/max players. GUI off: view-only chat dump |
See Locked Floors for Access and buy-in settings. See Falling Hazard for hazard options.
Mob type input
Format in chat (from Floor Editor → Mob settings):
| Format | Example |
|---|---|
vanilla:<entity> |
vanilla:zombie |
mythicmobs:<id> |
mythicmobs:FireDemon |
Config default uses vanilla:husk (uppercase also works in config).
Custom floor commands
Set per-floor start commands in Floor Editor → Custom commands.
Placeholders: {player}, {floor}, {room}.
Selection limits
From editor-mode.wand-selection:
| Limit | Value |
|---|---|
| Max volume | 100,000 blocks |
| Max axis | 200 blocks |
Schematic folder
Place .schem files in:
plugins/SoapsFloor/schematics/
Bundled templates: ROOM, STARTER_ROOM.
Standalone schematic paste
/sf schematics opens a browser outside a wand session (requires GUI).
Placement uses eye + look direction × distance (block-snapped, schematic centered on that point).
While previewing:
- Scroll to adjust distance (ignored while a GUI is open)
- Chat:
done/finishto paste,cancelto abort,undoafter paste - Chat:
rotate [degrees],dist <n>,ylock(lock Y; look still moves X/Z) - Clickable controls:
[90°][180°][270°][done][cancel][dist][ylock] /sf schematics done|cancel|rotate|dist|ylock|undo(same actions as the clicks)
Editor floor ghosts honor the preview toggle, cap large floors, tint per floor, and move on gap change without a full rebuild.
Schematic packs (weighted floor pools)
Packs live in plugins/SoapsFloor/packs/<id>.yml. A pack needs at least 2 schematics with weights. Width×length must match exactly across members. Height may differ.
For Climb stair connectors, use a dedicated pack (or tagged entries) with climb-height set so the stair sits on the walk floor and reaches into the next floor plate (no top gap). That is usually the full span from the lower floor base to the upper plate. Stairs paste on the walk floor. They must not bury into the lower floor or stick out past the upper plate. Assign the pack in Room Settings → Direction & climb → Choose stair pack, then Validate stair heights. Missing heights fall back to a full ladder. Adjust in world axis y is −1…+2; look-follow stays XZ.
Author
/sf schematics pack create <id>(oredit <id>), or Create pack on an empty Packs browser tab (type the id once in chat).- Pack weights GUI: Add schematic opens the picker (Back returns here). Left Click / Right Click change weight (Shift + Left/Right Click ±5). Press F sets the editor preview. Press Q removes the entry.
- Save pack. Unsaved drafts are not listed for floor assign. If the wand is already on floor setup, Save opens the Packs assign flow for that pack.
Assign (wand)
- Shift + right-click the wand → toggle Packs → pick a pack.
- FloorSelector: layer count, optional start floor (lower it to replace existing floors). Confirm applies; overlapping content asks Replace in-GUI.
- After confirm the browser closes; reopen with Shift + Right Click to assign more. Chat still works when GUIs are off:
pack:<id> 2/pack:<id> 1-3. - Cycle the editor ghost with Shift + Scroll Wheel or Shift + Left Click (or chat
cyclepreview [floor#]). Runtime still rolls by weight each run. - Assign fails if the pack’s W×L is larger than the starter room. Paste stacks under the starter by the rolled size (taller variants grow down); the full starter is backed up for restore.
Locked floors stay after free floors; unlock costs stay on the floor slot.
/sf schematics pack list|info|delete|validate <id|all>. Delete is blocked if rooms still reference the pack.
Rename rules
- Letters, numbers, underscores, hyphens only
- Target name must not exist
- Room cannot have an active game or wand session
Delete rooms
| Command | Permission | Notes |
|---|---|---|
/sf wand remove <id> |
soapsfloor.admin.wand.remove |
No wand session active |
/sf delete <id> |
soapsfloor.admin.room.delete |
No active game session |
Climb rooms (direction: up)
Author a vertical parkour tower with the same footprint as the starter, split into floor segments.
Bundled room kits (extracted to plugins/SoapsFloor/schematics/ and packs/):
| Pack | Role |
|---|---|
FLOOR_DROP |
Drop floors (STARTER_ROOM + ROOM) |
CLIMB_UP |
Climb + rising flood (CLIMB_STARTER_ROOM + CLIMB_ROOM) |
CLIMB_UP_WITH_STAIRS |
Climb clear (CLIMB_UP_WITH_STAIRS_STARTER_ROOM + CLIMB_UP_WITH_STAIRS_ROOM, links CLIMB_UP_STAIRS_PACK, pins Starter→1 to CLIMB_UP_STAIRS_MAIN) |
- Room Settings: Direction: Up (Climb).
- Build the starter from the matching starter schematic (flood or stairs). Entry is the run start inside the starter. Optional lobby spawn for waiting or crafting.
- Assign floor schematics (or the Climb with stairs room pack). Floors paste above the starter and stay. The starter is kept so flood/stairs can start there.
- At GO, fighters stay at entry (not teleported to floor 1). Higher floors paste within reveal distance.
- Rising Flood on means Escape (reach the top; mobs spawn when floors appear). Hazard off means clear mobs to advance. See Falling Hazard.
- Room Settings → Direction & climb: reveal distance, overhead fail, optional mob fall damage (default off), optional void enclosure, and (when flood Off) after-clear Stay / Ladder / Stair pack, ladder support material, plus optional retire lower floor.
- Clear + Ladder/Stair flow: connector opens → party upstairs → hole closes → mobs spawn. Escape still reveals and spawns on approach.
- Victory: top floor (Escape) or last clear (Clear mode).
Tips
- Set entry and exit before testing. Optional lobby = join/waiting only; run still starts at entry (climb starter stays playable). Exit is where
/sf leavesends players. - Use
floor-gapandstarter-gapadjusters with previews enabled to line up drops (or climb stacks). - Run
/sf info <id>to verify floor count and spawn points after saving. Use/sf finish(or/sf wand finish) to save and exit creator mode.
Pack defaults: FLOOR_DROP · CLIMB_UP · CLIMB_UP_WITH_STAIRS · CLIMB_UP_STAIRS_PACK · Hub: Config Reference
Still stuck? Ask about this page