Compatibility
Minecraft: Java Edition
Platforms
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Links
Creators
Details
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