--- title: Builder Tools type: docs weight: 3 --- The Builder Tools system provides world editing capabilities for creative mode, including selection operations, scripted brushes, and prefab editing. **Package:** `com.hypixel.hytale.builtin.buildertools` ## Architecture ``` BuilderToolsPlugin ├── Commands (37+) │ ├── Selection: /pos1, /pos2, /deselect, /expand, /contract, /shift │ ├── Clipboard: /copy, /cut, /paste, /rotate, /flip │ ├── Modification: /set, /fill, /replace, /walls, /hollow │ ├── History: /undo, /redo, /clearhistory │ └── Utilities: /stack, /move, /tint, /submerge ├── Scripted Brushes │ ├── ScriptedBrushAsset - Brush definitions │ ├── BrushOperation - Operation base classes │ └── BrushConfigCommand - Brush configuration ├── Prefab Editor │ ├── PrefabEditSession - Editing session │ ├── PrefabAnchor - Anchor points │ └── PrefabCommand - Prefab commands ├── Snapshots │ ├── SelectionSnapshot - Selection history │ ├── ClipboardContentsSnapshot - Clipboard data │ └── EntityTransformSnapshot - Entity changes ├── Tool Operations │ ├── PaintOperation - Paint blocks │ └── ToolOperation - Base operations └── Systems ├── BuilderToolsSystems - Main processing └── BuilderToolsUserDataSystem - Per-user data ``` ## Commands Overview ### Selection Commands | Command | Description | |---------|-------------| | `/pos1` | Set selection point 1 | | `/pos2` | Set selection point 2 | | `/deselect` | Clear selection | | `/expand [direction]` | Expand selection | | `/contract [direction]` | Contract selection | | `/shift [direction]` | Move selection | | `/selectchunk` | Select entire chunk | | `/selectchunksection` | Select chunk section | ### Clipboard Commands | Command | Description | |---------|-------------| | `/copy` | Copy selection to clipboard | | `/cut` | Cut selection to clipboard | | `/paste` | Paste clipboard | | `/rotate ` | Rotate clipboard | | `/flip ` | Flip clipboard | ### Modification Commands | Command | Description | |---------|-------------| | `/set ` | Fill selection with blocks | | `/fill ` | Fill selection | | `/replace ` | Replace blocks | | `/walls ` | Create walls around selection | | `/hollow` | Hollow out selection | | `/stack [direction]` | Stack selection | | `/move ` | Move blocks | ### History Commands | Command | Description | |---------|-------------| | `/undo [count]` | Undo operations | | `/redo [count]` | Redo operations | | `/clearedithistory` | Clear edit history | | `/settoolhistorysize ` | Set history limit | ### Utility Commands | Command | Description | |---------|-------------| | `/tint ` | Tint blocks | | `/submerge ` | Submerge selection | | `/clearblocks` | Clear blocks | | `/clearentities` | Clear entities | | `/environment` | Set environment | | `/globalmask` | Set global mask | ## Quick Start ```java // Builder tools are enabled in creative mode // Players can use selection and editing commands // Programmatic access to builder tools data via ECS components import com.hypixel.hytale.builtin.buildertools.BuilderToolsPlugin; import com.hypixel.hytale.builtin.buildertools.BuilderToolsUserData; import com.hypixel.hytale.component.CommandBuffer; import com.hypixel.hytale.component.Ref; // Get the component type BuilderToolsPlugin builderTools = BuilderToolsPlugin.get(); ComponentType userDataType = builderTools.getUserDataComponentType(); // Access user data via command buffer BuilderToolsUserData userData = commandBuffer.getComponent(playerRef, userDataType); ``` ## Section Contents {{< cards >}} {{< card link="scripted-brushes" title="Scripted Brushes" subtitle="Programmable brush operations" icon="code" >}} {{< card link="builder-commands" title="Builder Commands" subtitle="All building commands reference" icon="terminal" >}} {{< card link="prefab-editor" title="Prefab Editor" subtitle="Create and edit prefabs" icon="cube" >}} {{< card link="tool-operations" title="Tool Operations" subtitle="Block painting and editing" icon="pencil" >}} {{< card link="snapshots" title="Snapshots" subtitle="Undo/redo and history" icon="clock" >}} {{< /cards >}}