Releases: pmmp/BedrockBlockUpgradeSchema
Releases · pmmp/BedrockBlockUpgradeSchema
3.4.0
3.3.0
3.2.0
3.1.0
3.0.0
Changes since 2.2.0
- Added support for a flattening-specific variation of
remappedStates
in NBT upgrade schema.- Entries in
remappedStates
may now have anewFlattenedName
property (instead ofnewName
), which allows embedding the value of a single string property into the new ID if the new IDs are consistent. - This change saves a significant amount of space when many different states are flattened into separate IDs, such as for coloured blocks.
- An example of this improvement can be seen here: before/after
- Example schema generator and upgrader implementation changes to PocketMine-MP can be seen here: pmmp/PocketMine-MP@c165670 (most importantly here)
- Entries in
- Removed
1.12.0_to_1.18.10_blockstate_map.bin
. This can be replaced by the more fine-grainedid_meta_to_nbt/1.12.0.bin
. - Added ID/meta -> NBT mappings for 1.9 and 1.12.
- These mappings don't upgrade, they only translate.
- For example, the
1.12.0.bin
file converts 1.12 ID/meta -> 1.12 NBT. - Having these mappings upgrade as well as translate was considered, but only translating allows producing better quality upgrade information, since it doesn't duplicate information already present in the NBT upgrade schemas (which could be changed in the future to fix bugs).
- For example, the
- This change allows upgrading blocks (and blockitems) from <= 1.12 to any selected newer version. Previously it was only possible to upgrade to 1.18.10 or later, due to that being the earliest available data.
- Users of
1.12.0_to_1.18.10_blockstate_map.bin
can directly replace their usage withid_meta_to_nbt/1.12.0.bin
, which will produce equally good results (don't forget to upgrade the results to your desired version, as the output will be 1.12 NBT blockstates). 1.9.0.bin
won't be needed for most cases, but may be useful if you want to upgrade blockitems to a version in the range 1.9-1.11, as these versions used NBT for blockitems in inventories, and1.12.0.bin
won't be suitable for such cases.- The format of these files is the same as the old
1.12.0_to_1.18.10_blockstate_map.bin
. See the README for details.
- These mappings don't upgrade, they only translate.
2.2.0
Changes since 2.1.0
- Added schema to upgrade blockstates to 1.20.0.23 beta.
- Entries in
remappedStates
may have a new (optional)copiedState
property, which contains a list of property names that should be copied from the old blockstate without modification.oldState
should now be interpreted as a partial match criteria, rather than requiring an input blockstate to exactly equal it.- This change allows significantly reducing the size of state remaps when blocks are flattened (think each type of wall getting its own ID).
- All schemas have been regenerated to use this new feature. Old schemas will continue to work, but you might benefit from updating them.
- An example of this feature in a schema can be seen here, and example changes to support it here.
- Improved rule ordering in schema files.
- Improved conversion of wooden logs from 1.12 -> 1.13.
- Fixed incorrect property value conversion of purpur, quartz, hay and bone blocks in 1.9 -> 1.10.