User:Pneuma01/Back To 1.12

I use ver1.12's mineshot when I want to create images for the multi-block render, but creating complex structures by hand is an exhausting task. I think it would be easier if I could read those ver1.13 and ver1.14 structure data.

In fact, there is little difference between NBTFormat 1.13 or later and 1.12 or earlier. However, when we load new NBT files in StructureBlock they fail and the structure becomes a partial air block, but the reason for that is the difference in block information between versions.

The following data is in NBT format on 1.12 and 1.14.

{ "nbt": [ {     "tagType": 10, "name": "", "value": [ .       . //The placement information for blocks is the same for both 1.12 and 1.13. .       {          "tagType": 9, "name": "palette", "value": { "tagListType": 10, "list": [ [               {                  "tagType": 10, "name": "Properties", "value": [ {                     "tagType": 8, "name": "half", "value": "bottom" },                   {                      "tagType": 8, "name": "variant", "value": "stone_brick" }                 ]                },                {                  "tagType": 8, "name": "Name", "value": "minecraft:stone_slab" }             ],            ]          }        },        {          "tagType": 3, "name": "version", "value": 1 }     ]    }  ] }
 * Java Edition 1.12 (Converted with nbt2json)

{ "nbt": [ {     "tagType": 10, "name": "", "value": [ .       .        .        {          "tagType": 9, "name": "palette", "value": { "tagListType": 10, "list": [ [               {                  "tagType": 10, "name": "Properties", "value": [ {                     "tagType": 8, "name": "half", "value": "bottom" }                 ]                },                {                  "tagType": 8, "name": "Name", "value": "minecraft:stone_brick_slab" }             ],            ]          }        },        {          "tagType": 3, "name": "DataVersion", "value": 1457 }     ]    }  ] }
 * Java Edition 1.14 (Converted with nbt2json)

In the NBT format the blocks are defined in the "palette" section. The block placement information uses their palette numbers as aliases. This system has not changed since 1.12 or after 1.13.

These are just a few of the different parts of the data. That nbt2json can also re-convert the json format to the NBT format. If you're a user of any script (Javascript, python, etc.), you'll find that they can be easily converted.

List for converting NamespaceIDs
The content of the bracket after the converted ID should be added to the tagType=10, name="properties" section respectively. For example, if it's, add , and so on.

Additions
These blocks are the blocks added after 1.13. If you want to load these blocks nondestructively, you can change them to dummy blocks such as stone or wool so that you don't lose the structure placement information completely when you load the NBT file.