Skip to content

Instantly share code, notes, and snippets.

@dktapps
Last active June 6, 2022 21:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dktapps/762d30eb18cc81896fdfc0589941bc38 to your computer and use it in GitHub Desktop.
Save dktapps/762d30eb18cc81896fdfc0589941bc38 to your computer and use it in GitHub Desktop.

Deserializing old items in world saves

Classic items (MCPE <= 1.5, PM <= 1.12)

  1. int ID + meta
  2. 1.16 string ID via item_id_map.json -> string ID + meta
  3. deserialize as medieval item

Medieval items (MCPE 1.6 - 1.8)

  1. string ID + meta
  2. if ID found in 1.12_item_id_to_block_id_map.json, deserialize as blockitem; otherwise as normal item

Non-blockitems

  1. deserialize as modern item

Blockitems

  1. string block ID via 1.12_item_id_to_block_id_map.json -> string block ID + meta
  2. blockstate via r12_to_current_block_map.bin -> blockstate NBT
  3. deserialize as block

Modern items (MCPE 1.9 - present)

  1. string ID + meta / blockstate NBT
  2. if blockstate NBT found, deserialize as blockitem; otherwise as normal item

Non-blockitems

  1. current string ID via r16_to_current_item_map.json -> current string ID + meta

Blockitems

  1. deserialize as block

Required data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment