Structure Block Tools
Useful Commands for Structure Block Management
Structure Block Tools
Structure Block Tools
This datapack gives the player several ways to edit the contents of a Structure Block bounding box, designed to be used when creating custom structure datapacks!
How to Use - Right-click any Structure Block (in Save mode) using a Blaze Rod to select that block. This works up to a range of 10 blocks (so if you've used attributes to boost your interaction range, you may need to get closer) - With the block selected, type any of the commands below to apply changes to the selected Structure Block's bounding box. No need to calculate the numbers for /fill commands and stuff like that. - Commands will update accordingly if you use the Structure Block UI to move/rescale the bounding box - When you're done editing, deselect the Structure Block with the command listed below
A full video explaining how to use the datapack can be found HERE
COMMANDS
Recommended command to run when you first install the datapack: ``` /gamerule commandModificationBlockLimit 110592 ``` (this is the max possible volume of a structure bounding box)
Select Structure Block - Run this command while standing on top of the structure block ``` /function sbtools:select_structure_block ``` (this can also be accomplished by just right-clicking the block with a Blaze Rod)
Deselect Current Structure Block ``` /function sbtools:deselect_structure_block ```
All "Fill" commands will apply to the selected structure block's entire bounding box without the need for numerical input
Dynamic Fill - Acts a bit like the "Paint Bucket" in pixel art programs. The function's origin (usually the location where the player is standing) will be the starting point. `dynamic_fill_voids` and `dynamic_fill_water` replace only air by default. ``` /function sbtools:dynamic_fill_voids /function sbtools:dynamic_fill_water /function sbtools:dynamic_fill {fill:"[block to fill]",replace:"[block to replace]"} ```
Replace Fill - Replaces all instances of one block with another inside the bounding box ``` /function sbtools:replace_fill_voids /function sbtools:replace_fill_water /function sbtools:replace_fill {fill:"[block to fill]",replace:"[block to replace]"} ```
Total Fill - Completely fills the bounding box with the specified block ``` /function sbtools:total_fill_air /function sbtools:total_fill_voids /function sbtools:total_fill_water /function sbtools:total_fill {fill:"[block to fill]"} ```
Note that for the `fill` and `replace` parameters in macros, block states `{fill:"minecraft:oak_log[axis=y]"}` do work, and for `replace`, block tags `{replace:"#minecraft:logs"}` also work!
DO NOT run any of the commands that begin with `sbtools:util/...`, as these are "under-the-hood" functions and may break things if executed by a player.
Read more on the PlanetMinecraft Page