# 1.20.1-v2.16.0
## LoadStructureTemplateEvent
- New event that fires after a `StructureTemplate` loads.
- Contains methods to modify the blocks and entities within the template.
## Gel Blocks
- Now automatically perform their function without needing to implement the structure processor or use a specific StructurePiece type.
- If the processor is already present, it will still use that.
- This will not be done when loading a template through Structure Blocks or the `place template` command.
## IModifyState
- Any `TemplateStructurePiece` that extends `IModifyState` will now work with it as long as the `postProcess` method isn't overwritten.
## Data Handler
- All handlers can now mark blocks for post processing in the Properties menu.
- Useful for making sure water flows after being placed, or updating fence connections for neighboring structures.
- The position marked for post processing will be the position of the data handler itself, with the applied offset.
- Added `structure_gel:empty` as an empty data handler.
- Its primary function is to set an offset and mark a position for post processing.
- This is not used by default if the data handler can't be loaded from nbt.
- Fixed the `structure_gel:block_state` using `structure_gel:chest` for its data parser.
## Building Tool
- The Shape tool now has Hollow Cube, Cube Frame, Pyramid, and Cone.
- Changing the shape now uses a selection panel instead of clicking to cycle to the next value.
- The Fill tool now supports all the shapes from the Shape tool for fine control over shapes (replaces the old Mode property).
- The Clone tool now temporarily saves its selected region into a clipboard.
- This allows for cloning to an area far away, regardless of the source being loaded.
- The region is not actually saved to the item itself, but rather to an external file in the dimension's `data` folder..
- This results in drastic client performance improvements, especially for large selections.
- The Replace tool now has a "Fuzzy" property that allows only replacing directly attached neighbors or diagonal neighbors.
- Fixed a number of vertex sorting issues with the Clone tool.
- Translatable text values in the GUI's now scroll like vanilla options buttons.
- Action history is no longer stored in a level capability. It has been moved to `SavedData` files to allow for more dynamic loading.
## Block Entities
- Added `IRotatable` interface.
- Allows a block entity to be rotated and mirroed when placed in a structure.
- Contains `void mirror(Mirror)` and `void rotate(Rotate)`.
- Supported by vanilla's `StructureTemplate` (mixin), `GelTemplate`, relavent data handlers, and relavent Building Tool modes.
## Misc
- Added an abstract item interface: `StructureFinderItem`
- Contains basic methods to get/set located structure info within itself.
- Improved performance with data handler processing.
- Some registry events have been deprecated. They will become NeoForge registries in 1.20.4.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }