MineBot Plugin API
  • Introduction
  • Quick Start
  • Examples
    • Start Plugins
      • Events (basic)
      • Movement (basic)
      • Killaura (intermediate)
      • Wheat Farmer (intermediate)
    • Request Plugins
      • Chat (advanced)
    • Macro Component Additions
    • Botting Command Additions
    • BotViewer Additions
      • Base Extension
      • Chat Command Based Extension
  • API
    • ID System (Item & Block ids)
    • Events
    • Context
      • Player
      • Entities
        • IPlayerEntity
        • IMobEntity
        • IObjectEntity
      • World
        • IBlock
      • Containers
        • IWindow
        • ISlot
      • Functions
    • Utility
      • ChestMap
      • LocationBlacklistCollection
      • LocationWhitelistCollection
Powered by GitBook
On this page
  • Blocks
  • Block more utility
  • Items
  • Items more utility
  1. API

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.

PreviousChat Command Based ExtensionNextEvents

Last updated 3 years ago

It is recommended to use Blocks.Instance.GetId in the Start function of your ITask class, and store results in variables for the whole class to use. This is considered best practice for performance.

You can find item id name's in such sites: , , ...

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"
            );
  • ...

https://minecraftitemids.com/
https://www.minecraftinfo.com/idlist.htm
https://www.deadmap.com/idlist