Skip to content
EnZaXD edited this page Apr 28, 2024 · 9 revisions

NBT Mappings

Since 4.6.0, mapping files are stored in a new, compact format, so editing them has become slightly more difficult. The general editing process is as follows:

  1. Open the ViaBackwards jar (with a program like 7zip or WinRAR) and navigate to assets/viabackwards/data.
  2. Look for the mapping file you need, e.g. mappings-1.19to1.18.nbt for 1.19 -> 1.18 mappings and copy it into ViaBackward's plugin folder.
  3. Open the NBT file with an NBT editor program or website, for example https://irath96.github.io/webNBT/ or the Minecraft Dev Plugin for IntelliJ.
  4. Remove all the tags you do not want to modify so you won't have to update the file every time the original is changed in ViaBackwards. Only the tags present in the NBT file you put into the plugin directory will be taken and merged with the original data.
  5. Say you want to edit item and entity names: Look for itemnames and entitynames, edit the values you want to change, and save the file. Now ViaBackwards will load the file from its plugin directory if present and merge it with the rest from the original NBT mapping file.

Changing item and entity names

For 1.14+, follow the steps above.

Adding custom model data

As explained above, create a new NBT file in the plugin directory. Add a new itemdata compound tag. Similar to the itemnames field, the key is the registry id of the item (same as in the itemnames tag), the value in this case is another compound tag, which can contain a custom_model_data number tag. An example of this looks like:

	itemdata: {
		"123": {
			custom_model_data: 1
		}
		"1234": {
			custom_model_data: 2
		}
	}

Changing block/item/sound id mappings

You cannot easily edit these from the NBT mapping files. The human readable diff mappings are stored in a separate repository and require compiling.

We'd suggest simply creating a pull request to change the json file mappings if you think different mappings would be more suitable, so they can be changed in ViaBackwards proper.

JSON Mappings

Changing 1.13- item and block mappings

Item/Block mappings are located inside different json files, e.g. 1.12 mappings for 1.11 clients are located in item-mappings-1.12.json. You can move them into the plugin folder and directly edit them. Each json file can contain three different types of mappings:

  • items for item mappings (raw id:raw data -> new id/data and custom name)
  • block-items same as items but will only replace blocks
  • blocks internal mappings to fix blockstate issues (mainly used in ViaRewind). DO NOT EDIT THESE UNLESS YOU KNOW WHAT YOU ARE DOING.

Changing 1.16+->1.15 biome mappings

Similar to the mappings from above, you can move the biome-mappings.json file into the plugin folder and directly add mappings for custom biomes to map them to legacy biomes (the static biome names that existed until 1.15.2). Make sure to keep the file up to date with ViaBackwards updates.

Changing backwards translations

Same thing as biome mappings but with the translation json file.