Placeholders
These are all of the placeholders MythicCrucible provides.
Caster Placeholders
These placeholders will return whatever attribute of the caster that is called.
Skills:
- message{m="<caster.item.nbt.TestKey|Unknown>"} @self ~onSwing
- message{m="<caster.item.hand.nbt.Some.Other_Key|5>"} @self ~onSwing
Put a value to use after "|" inside the placeholder to provide a default when the value is undefined.
| Caster Placeholder | Function |
|---|---|
| <caster.item.nbt.KEY> | If no slot is specified, this checks the caster's item that called the skill. |
| <caster.item.hand.nbt.KEY> | Returns the specified NBT key of the caster's hand item. |
| <caster.item.offhand.nbt.KEY> | Returns the specified NBT key of the caster's offhand item. |
| <caster.item.head.nbt.KEY> | Returns the specified NBT key of the caster's head item. |
| <caster.item.chest.nbt.KEY> | Returns the specified NBT key of the caster's head item. |
| <caster.item.legs.nbt.KEY> | Returns the specified NBT key of the caster's head item. |
| <caster.item.feet.nbt.KEY> | Returns the specified NBT key of the caster's feet item. |
Variable Placeholders
| Variable Placeholder | Generated by | Function |
|---|---|---|
| <skill.var.crafts> | CraftSkills | Returns the amount of items crafted |
| <skill.var.equip-item> | Returns the Itemstack of the item being used | |
| <skill.var.equip-slot> | Returns the slot of the item being used | |
| <skill.var.block-internalid> | onBlockBreak onBlockPlace |
Returns the internal name of the custom block being placed/broken, if used inside CustomBlockSkills |
Trigger Placeholders
These placeholders will return whatever attribute of the item that caused the skill to happen.
| Trigger Placeholder | Function |
|---|---|
| <trigger.item.hand.nbt.KEY> | Returns the specified NBT key of the trigger's hand item. |
Item Placeholders
These placeholders return information about an item. They read the item bound to the current skill or trigger context; where supported, prefix them with a scope such as caster., target. or trigger. (for example <caster.item.name>) to select whose item is read. If an item has multiple modifiers of the same stat, .display.STAT will return the value of a pseudo-random modifier.
| Item Placeholder | Function |
|---|---|
| <item.name> | The item's custom display name, or its material name if it has none |
| <item.type> | The Mythic internal name for Crucible items, otherwise the vanilla material name |
| <item.crucibleid> | The Crucible internal ID of the item (empty if it is not a Crucible item) |
| <item.amount> | The item's stack size |
| <item.group> | The Crucible item's configured Group |
| <item.durability> | The item's remaining durability (max durability minus damage) |
| <item.maxdurability> | The item's maximum durability (Crucible config value, or the material's) |
| <item.custommodeldata> | The item's CustomModelData integer (0 if unset) |
| <item.unbreakable> | true or false, whether the item is unbreakable |
| <item.enchants> | Comma-separated list of enchantments as key:level |
| <item.color.hex> | The hex color of a dyed leather item or custom potion (#FFFFFF if none) |
| <item.equip.slot> | The equip slot the skill was triggered from |
| <item.slot> | The inventory slot the skill was triggered from |
| <item.lore> | The item's current lore, joined by newlines |
| <item.lore.{key}> | The Lore.<key> line from the item's Crucible config |
| <item.data.{key}> | The value of the item-data key {key} (supports lowercase, uppercase, capitalize, pretty, wrap options) |
| <item.nbt.{key}> | The value at an NBT/data-component path on the item. Supports a |default fallback |
| <item.{slot}.nbt.{key}> | The NBT value of the item in the given equip slot (hand, offhand, head, chest, legs, feet) |
| <item.stat.{Stat}> | The numeric value of the given stat on the item |
| <item.stat.{Stat}.{StatModifier}> | The numeric value of the given stat modifier |
| <item.stat.display.{Stat}> | The formatted display value of the given stat |
| <item.stat.display.{Stat}.{StatModifier}> | The formatted display value of the given stat modifier |
| <item.augment.icon.{type}.{slot}> | The configured augment icon for the given augment type and slot |
| <item.upgrade.description> | The item's upgrade description, with <lvl> replaced by the current upgrade level |
| <item.level.description> | The item's level description, with <lvl> replaced by the current level |
Ammo Placeholders
These placeholders read the player's active ammo tracker. Prefix with a scope (caster., target.) to choose the player.
| Ammo Placeholder | Function |
|---|---|
| <caster.helditem.ammo.current> | The current ammo count of the player's tracked weapon (0 if none) |
| <caster.helditem.ammo.max> | The maximum ammo capacity of the player's tracked weapon (0 if none) |
Container Placeholders
Read the contents of a container. The container.* family reads the container at the scoped location or on the scoped furniture entity; the open.container.* family reads the container GUI the player currently has open. Both support block containers (chest, barrel, hopper, shulker box, dispenser, dropper, furnace family, brewing stand, ender chest) and Crucible furniture inventories.
| Container Placeholder | Function |
|---|---|
| <container.type> | The InventoryType of the container involved in an inventory trigger |
| <target.container.size> | The number of slots in the container at the target |
| <target.container.count.{itemId}> | How many of {itemId} are in the target container. {itemId} may be a Mythic id, a material, or air/empty. Optional from/to slot range |
| <target.container.slot.{index}.amount> | The stack size of the item in slot {index} |
| <target.container.slot.{index}.type> | The id/type of the item in slot {index} (AIR if empty; add namespaced=true for a namespaced id) |
| <caster.open.container.size> | The number of slots in the player's currently open container |
| <caster.open.container.count.{itemId}> | How many of {itemId} are in the open container (same rules as above) |
| <caster.open.container.slot.{index}.amount> | The stack size of the item in the open container's slot {index} |
| <caster.open.container.slot.{index}.type> | The id/type of the item in the open container's slot {index} |
Set Placeholders
| Set Placeholder | Function |
|---|---|
| <caster.set.{SetName}> | How many pieces of the equipment set {SetName} the player has equipped |
| <caster.set.{SetName}.pieces> | Same as above (the trailing .pieces is optional) |
Furniture Placeholders
| Furniture Placeholder | Function |
|---|---|
| <furniture.var.{VariableName}> | Fetched the variable by the given name on the target furniture entity. Can use Meta Keywords. Also usable as <target.furniture.var.{VariableName}> |
| <caster.furniture.var.{VariableName}> | Fetches the variable by the given name on the furniture the caster is (for skills cast by a furniture). Supports a |default suffix |
Font Placeholders
Placeholders that can interact with Custom Fonts
| Fonf Placeholder | Function |
|---|---|
| <font.{FontName}> | Returns the character associated with the custom font named {FontName} |
| <fontimage.{name}> | Returns the character associated with the registered font image {name}. Aliases: <glyph.{name}>, <emoji.{name}>. Optional row/col args select a cell of the image |
PlaceholderAPI Integration
Other than being able to use PlaceholderAPI placeholders anywhere placeholder support is in place, MythicCrucible introduces some new PAPI placeholders that can be used by third parties to fetch MythicCrucible-related values.
| PAPI Placeholder | Function |
|---|---|
| %mythic_emoji_fontname% | Returns the font named "fontname" |