ID System (Item & Block ids)

Minecraft has stopped using their legacy id system from the 1.13 update and up-wards. That means that legacy id's will only work for 1.8.*-1.12.* . This ID system has been created to help with this.

Blocks

The simplest form of getting a numeric id for both legacy ids (1.8-1.12) and the flattened ids is to use the static Blocks.Instance global variable.

Example usage:

var redstoneLampId = Blocks.Instance.GetId("minecraft:redstone_lamp").Value;

Note how GetId() returns a ushort?, this means that in cases where the passed string, in this case "minecraft:resdstone_lamp" is not a valid or a matching name, then null is returned.

This null mechanism is useful in casses where Minecraft uses different names for different versions, as in some cases you can do the following:

var someBlockId = Blocks.Instance.GetId("minecraft:some_block_1_8_name") ?? Blocks.Instance.GetId("minecraft:some_block_1_13_name");

Block more utility

There are also more functions on Blocks.Instance that make it easier to work with ids. The notable ones are:

  • Blocks.Instance.GetIds - get an array of ids for an array of inputs, example usage:

var fallingBlocks = Blocks.Instance.GetIds("minecraft:sand", "minecraft:red_sand", "minecraft:gravel");
  • ...

Items

Item ids work in the exact same way as the Block system, except it uses *Items*.Instance.GetId, instead of *Blocks*.Instance.GetId!

Example usage:

var fishingRodId= Items.Instance.GetId("minecraft:fishing_rod").Value;

Note how GetId() returns a ushort?, this means that in cases where the passed string, in this case "minecraft:fishing_rod" is not a valid or a matching name, then null is returned.

This null mechanism is useful in casses where Minecraft uses different names for different versions, as in some cases you can do the following:

var someItemId = Items.Instance.GetId("minecraft:some_item_1_8_name") ?? Items.Instance.GetId("minecraft:some_item_1_13_name");

Items more utility

There are also more functions on Items.Instance that make it easier to work with ids. The notable ones are:

  • Items.Instance.GetIds - get an array of ids for an array of inputs, example usage:

var food = Items.Instance.GetIds("minecraft:apple", "minecraft:bread", "minecraft:cooked_porkchop", "minecraft:cooked_fish", "minecraft:cookie", "minecraft:melon", "minecraft:cooked_beef", "minecraft:cooked_chicken", "minecraft:carrot", "minecraft:baked_potato",
                "minecraft:pumpkin_pie", "minecraft:cooked_mutton", "minecraftA:cooked_salmon", "minecraft:beetroot", "minecraft:beetroot_soup", "minecraft:dried_kelp", "minecraft:honey_bottle", "minecraft:cooked_rabbit", "minecraft:suspicious_stew", "minecraft:cooked_cod"
            );
  • ...

Last updated