07-26-2018, 12:42 AM
BlockIdentifier might just be a big enum of block types for ease of comparison.
In any case, we need a Palette for 1.13 chunk data. It just needs to be a big static lookup table mapping a BLOCKTYPE/NIBBLETYPE combo to a block state id. The vanilla server provides a mapping from block state ("minecraft:xxx" + properties) to ids as a json export, so somehow a mapping from BLOCKTYPE/NIBBLETYPE to block states is needed.
It looks like they've enumerated every possible block state and sequentially assigned ids to them, so presumably Palette won't need any fancy logic once the mappings are written/generated.
In any case, we need a Palette for 1.13 chunk data. It just needs to be a big static lookup table mapping a BLOCKTYPE/NIBBLETYPE combo to a block state id. The vanilla server provides a mapping from block state ("minecraft:xxx" + properties) to ids as a json export, so somehow a mapping from BLOCKTYPE/NIBBLETYPE to block states is needed.
It looks like they've enumerated every possible block state and sequentially assigned ids to them, so presumably Palette won't need any fancy logic once the mappings are written/generated.