This is a 'super issue' covering all work for pre-flattening blocks.
Feel free to try and knock something off this list!
Blocks in 1.12 and prior are stored with numeric IDs rather than names. For example, blocks with an ID of 3 are dirt blocks. This doesn't fit with the current Chunk and Block in fastanvil. Since 1.12 is no longer receiving updates, we translate the old numeric IDs into their Block equivalents on demand, rather than pollute the current Chunk/Block types with 1.12 logic.
Along with the numeric IDs, there is also 4 extra bits of information called the data value that tell you more about a given block. For example, wooden logs have a numeric ID of 17, and the two smallest bits determine if it is oak, spruce, birch or jungle logs. There is also another wooden log block with ID 162 for the other log types.
Relevant code is in fastanvil/src/java/pre13, in particular the pre13_block_names::modern_block function.
The Minecraft Wiki contains all the necessary information in it's Pre-flattening page.
TODO basics:
TODO Data value extraction:
This is a 'super issue' covering all work for pre-flattening blocks.
Feel free to try and knock something off this list!
Blocks in 1.12 and prior are stored with numeric IDs rather than names. For example, blocks with an ID of 3 are dirt blocks. This doesn't fit with the current
ChunkandBlockinfastanvil. Since 1.12 is no longer receiving updates, we translate the old numeric IDs into theirBlockequivalents on demand, rather than pollute the currentChunk/Blocktypes with 1.12 logic.Along with the numeric IDs, there is also 4 extra bits of information called the data value that tell you more about a given block. For example, wooden logs have a numeric ID of 17, and the two smallest bits determine if it is oak, spruce, birch or jungle logs. There is also another wooden log block with ID 162 for the other log types.
Relevant code is in
fastanvil/src/java/pre13, in particular thepre13_block_names::modern_blockfunction.The Minecraft Wiki contains all the necessary information in it's Pre-flattening page.
TODO basics:
TODO Data value extraction: