- check_circle Advancements
- check_circle Functions
- 2,608 views, 9 today
- 345 downloads, 0 today
90
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!
Compatibility: Versions are available from 1.20.6 to 1.21.4. This pack will not be backported before 1.20.6, but will most likely continue to receive updates for future versions.
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:
Select Structure Block - Run this command while standing on top of the structure block
Deselect Current 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.
REPLACE FILL - Replaces all instances of one block with another inside the bounding box
TOTAL FILL - Completely fills the bounding box with the specified block
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.
Thanks for reading/downloading! If you have more questions or just wanna chat, feel free to join my Datapack Development Discord Server!
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!
Compatibility: Versions are available from 1.20.6 to 1.21.4. This pack will not be backported before 1.20.6, but will most likely continue to receive updates for future versions.
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.
Thanks for reading/downloading! If you have more questions or just wanna chat, feel free to join my Datapack Development Discord Server!
Compatibility | Minecraft 1.20 |
to | Minecraft 1.21 |
Tags |
3 Update Logs
Dynamic Fill Performance Update : by Conure512 04/22/2025 8:49:15 pmApr 22nd
- MASSIVE performance improvement for Dynamic Fill. This function should run much faster on very large structures (it may still be laggy, just significantly less so than before)
- Fixed a visual glitch with the info advancement in versions prior to 1.21.5
- Fixed a visual glitch with the info advancement in versions prior to 1.21.5
LOAD MORE LOGS
6354338
119
Create an account or sign in to comment.
Are you planning to extend your tool to 1.21.3 (or 4) ? That woold be awesome.
If you already downloaded it for 1.21, that version will still work all the way up to 1.21.4 (none of the version changes affected this pack). If you download the currently posted one, it's identical but the game won't scream at you for using an outdated pack lol
Am I doing something wrong becouse in the previous version it worked fine.
Also, make sure you don't have any other datapacks or mods that might be messing with it.
Again, great helpfull tool. Thanks.