Commands
Base alias: /roomeditor (alias /re). Every subcommand requires the class-level permission roomeditor.command — there is no additional per-subcommand permission.
Subcommand | Description |
|---|---|
| Start a new editing session for a room of the given gamemode/layout. |
| Place a component at the player's current location instead of by clicking. |
| Discard the current session without saving. |
| Load a saved room blueprint into a new session at the player's location. |
| Save the current session as a room blueprint + schematic. |
| Re-give the session's component placement items (e.g. after they were lost or dropped). |
| Undo the single most recently placed component. |
| Reload |
All subcommands except /re reload are player-only.
/re create <gamemode> <layout> <name>
Completions: @gamemodes (registered gamemode ids), @layouts (layout ids), @nothing.
Starts a new RoomEditSession. Fails with a message and does nothing if:
namedoesn't match^[a-zA-Z0-9_]{3,16}$(invalid-room-name);the player already has an active session (
already-active-session);gamemodeisn't a registered gamemode id (unknown-gamemode);layoutisn't a layout id within that gamemode (unknown-layout).
On success, gives the player one hotbar item per component id the layout's components list allows (dropping any that don't fit in the first 9 slots) and sends session-created.
/re set <component> [id]
Completion: @components (registered component ids).
Places component at the player's current location and orientation, as if the player had right-clicked there with that component's tool. Fails if there's no active session (no-active-session), the component isn't in the active layout's components list (unsupported-component), or the component requires-id and no id was supplied (component-requires-id). Two-click (cuboid) primitives cannot be placed this way in a single call — placing one still requires the click flow to supply both corners.
/re cancel
Ends the active session without saving: removes the session's hotbar items, clears its render, and sends session-cancelled. Fails with no-active-session if there is none.
/re load <blueprint>
Completion: @roomBlueprints (loaded blueprint names, resolved via RoomBlueprintContextResolver).
Fails with already-active-session if the player already has a session. Otherwise offsets the blueprint's components to the player's current location, opens a session pre-populated with them, re-gives the hotbar items, pastes the blueprint's schematic at the player's location via FastAsyncWorldEdit, and draws the render for every restored component. If the layout referenced by the blueprint's gamemode/layout no longer exists, falls back to searching every gamemode for a layout with that id (for blueprints saved before the gamemode field existed) and fails with unknown-layout if none is found.
/re save
Fails with no-active-session if there is no session, or invalid-session if the session's layout has any required component type not yet placed, or if its bounds-component (bounding_box by default) isn't present as a cuboid. On success: removes the hotbar items, exports the schematic and blueprint YAML (see Configuration: room blueprints), sends session-saved, ends the render, and clears the session.
/re items
Re-gives the active session's hotbar tool items and sends items-restored. Fails with no-active-session if there is no active session.
/re undo
Removes the single most recently placed component (tracked per player; placing a new component after an undo overwrites what "most recent" points to — there is no multi-level undo stack). Fails with no-active-session if there's no session. If nothing has been placed since the session started or the last undo, sends a plain "Nothing to undo." chat message (not an EditorMessages key). On success, sends "Undid placement of <Display Name>.", removes the component's render, and plays a particle/sound cue.
/re reload
Open to anyone holding roomeditor.command (console included — the handler takes CommandSender, not Player). Calls AstralRoomEditor#loadConfiguration(), which reloads messages.yml and re-runs ComponentService#load()/LayoutService#load()/SchematicService#load()/BlueprintService#load(). Sends plain (non-EditorMessages) chat feedback and logs the exception on failure — reload failures do not throw a CommandException.
Permission summary
Node | Grants |
|---|---|
| All |