Skip to content

Releases: pmmp/BedrockBlockUpgradeSchema

3.4.0

06 Dec 14:18
9872eb3
Compare
Choose a tag to compare

Changes since 3.3.0

  • Added schema for Bedrock 1.20.50.23 beta.

3.3.0

08 Nov 18:17
ee46b93
Compare
Choose a tag to compare

Changes since 3.2.0

  • Added upgrade schema for 1.20.40.24 beta.

3.2.0

20 Sep 17:23
874e1c0
Compare
Choose a tag to compare

Changes since 3.1.0

  • Added schemas for 1.20.20.23 beta and 1.20.30.22 beta.
  • Updated README usage instructions.

3.1.0

12 Jul 12:12
6d4ae41
Compare
Choose a tag to compare

Changes since 3.0.0

  • Added schema for 1.20.10.24 beta.

3.0.0

03 Jul 17:03
8b72c47
Compare
Choose a tag to compare

Changes since 2.2.0

  • Added support for a flattening-specific variation of remappedStates in NBT upgrade schema.
    • Entries in remappedStates may now have a newFlattenedName property (instead of newName), 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)
  • Removed 1.12.0_to_1.18.10_blockstate_map.bin. This can be replaced by the more fine-grained id_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).
    • 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 with id_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, and 1.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.

2.2.0

07 Jun 19:40
79bb3ad
Compare
Choose a tag to compare

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.

2.1.0

07 Jun 19:29
1c07ced
Compare
Choose a tag to compare

Changes since 2.0.0

  • Added schema to upgrade blockstates to 1.19.80.24 beta.

2.0.0

25 Mar 21:30
9140eb8
Compare
Choose a tag to compare

Changes since 1.1.1

  • null is now used for oldState and newState to signify "no properties". This is easier for most languages to parse and generate than special-casing for empty arrays.
  • Arrays are no longer accepted for oldState and newState.

1.1.1

09 Mar 15:18
e054034
Compare
Choose a tag to compare

Changes since 1.1.0

  • Fixed typo in the name of the 1.19.70.26 beta upgrade schema (schema ID remains unchanged).

1.1.0

06 Mar 17:57
78c965a
Compare
Choose a tag to compare

Changes since 1.0.0

  • Added upgrade schema for 1.19.70 (171).
  • Empty arrays are now allowed in place of empty objects for oldState and newState when remapping states, because generating empty objects in PHP is a pain.