Skip to content

Identifier Types

Daniel Saukel edited this page Oct 8, 2020 · 1 revision

Caliburn offers different methods to identify and distinguish between custom items or mobs.

Name Items Mobs Minecraft versions Persistent Visible Modifiable by players Custom content
DISPLAY_NAME Yes Yes All Yes Yes Yes Yes
LORE Yes No All Yes Yes No Yes
METADATA No Yes All No No No Yes
PERSISTENT_DATA_CONTAINER Yes Yes As of 1.14 Yes No Yes Yes
VANILLA Yes Yes All Yes No No No
  • Items: If the method can be used to distinguish between items.
  • Mobs: If the method can be used to distinguish between mobs.
  • Minecraft versions: The versions where the ID type is available.
  • Visible: If the identifier is visible to players (e.g. players can see if a mob has a name tag, but not if it has some internal metadata).
  • Modifiable by players: If players can modify the identifier in Vanilla Minecraft (e.g. players can rename an item with an anvil so identifying items through the display name isn't safe in a Vanilla environment).
  • Custom content: If the method can be used to identify custom content. It is currently not possible to register actual Minecraft IDs (=VANILLA) without client mods so custom items cannot use them.

DISPLAY_NAME (for both items and mobs)

The visible display name. This should not be used unless the environment guarantees it cannot be changed e.g. with anvils or name tags.

LORE (only for items)

The first item lore line.

METADATA (only for mobs)

The Bukkit Metadata API. Note that this data is not persistent, which means the mob will not be recognizable after a restart. The ID will be stored under the key "caliburnId".

PERSISTENT_DATA_CONTAINER (for both items and mobs; 1.14+)

The Bukkit PersistentDataContainer API.

VANILLA

This can only represent Vanilla content and is always subsidiary. Should not be used for custom content.