Placeholders

The Mythic-ecosystem placeholders MythicEnchants provides. These expand on MythicMob Placeholders, which typically may be used as expected within enchantment skills, including in-line condition evaluations.

Some Mythic triggers contain Integrated Placeholders to provide additional functionality, such as <skill.var.damage-amount> from attack and damage events to evaluate the damage delivered. Many in-line placeholder usage, especially with variables, require Mythic Premium.

These registered placeholders may be used outside of enchantments as well, such as a mob's skills evaluating a player's item for enchantments or durability.

MythicCrucible also grants item-related placeholders!

All variables support both dash (-) and underscore (_) separators interchangeably.
e.g. <skill.var.enchant-level> and <skill.var.enchant_level> are equivalent.

Enchantment Placeholders

Placeholder Data Type Description
<skill.var.enchant-id> STRING The ID of the enchantment that triggered the skill tree
<skill.var.enchant-rarity> STRING The rarity of the enchantment that triggered the skill tree
<skill.var.enchant-name> STRING The display name of the enchantment that triggered the skill tree
<skill.var.enchant-description> STRING The description of the enchantment that triggered the skill tree
<skill.var.enchant-level> INTEGER The level of the enchantment that triggered the skill tree
<skill.var.enchant-maxlevel> INTEGER The maximum level of the enchantment that triggered the skill tree
<skill.var.enchant-total-levels> INTEGER Will return the INT total of all levels of the triggering enchantment currently worn

<skill.var.enchant-*> placeholders only reflect the currently firing enchantment's trigger context. To look up a specific enchantment by ID (any enchantment, not just the one that triggered the skill), use the <enchant.ID.field> placeholders below instead.

Enchant Definition Placeholders

Look up any registered enchantment's definition data by ID — independent of any trigger context, usable anywhere a MythicMobs placeholder is valid.

Placeholder Data Type Description
<enchant.ID.name> STRING Display name of enchantment ID
<enchant.ID.description> / <enchant.ID.desc> STRING Description of enchantment ID
<enchant.ID.maxlvl> / <enchant.ID.maxlevel> INTEGER Maximum level of enchantment ID
<enchant.ID.minlvl> / <enchant.ID.minlevel> INTEGER Minimum level of enchantment ID
<enchant.ID.rarity> STRING Rarity enum name of enchantment ID
<enchant.ID.totallevel> INTEGER Will return the INT total of all levels of the named enchantment currently worn by the placeholder's entity`

ID may be a bare key (resolved against the plugin's default namespace, then tried raw) or a fully-qualified namespace:key.

- message{msg="<trigger.name>'s target has <enchant.frost_bite.name>: <enchant.frost_bite.description>"} @self

Slot-Aware Enchant Placeholders

Reads the enchantment's level directly off the placeholder context entity's equipped item for a given slot — works for any enchantment ID, not just the one that triggered the skill.

Placeholder Data Type Description
<enchant.SLOT.ID.level> INTEGER Level of enchantment ID on the entity's SLOT item (0 if absent)
<enchant.SLOT.ID.has> BOOLEAN Whether the entity's SLOT item has enchantment ID

Valid SLOT values: mainhand/hand, offhand, head/helm/helmet, chest/chestplate, legs/leggings, feet/boots.

- message{msg="You have Frost Bite <enchant.mainhand.frost_bite.level> on your weapon!"} @self ?enchant.mainhand.frost_bite.has

Bookshelves Placeholders

Placeholder Data Type Returns
<caster.var.menchbookshelves> int The scanned table power — the same count the table feeds into its slot equations. Uses the config's scan shape. Uncapped by design (caps live at the slot level)
<bookshelves.radial.4> int Table power, but scanning a chebyshev ring 1..4 (Y 0..1) instead of the config shape
<bookshelves.radial.2.5> int Table power, chebyshev ring inner=2..outer=5
<bookshelves.cuboid.3> int Table power, full cube radius 3 (every dx, dy, dz in -3..3)
<bookshelves.slot.1> int Slot 1's capped base level: slot equation (count = power) → per-slot slot-capmax-base-level
<bookshelves.slot.2> int Slot 2's capped base level
<bookshelves.slot.3> int Slot 3's capped base level
<bookshelves.radial.4.slot.2> int Slot 2's base level computed from the radial-4 scan

Caster Placeholders

Placeholder Data Type Description
<skill.var.player-health> FLOAT The wielder's current health
<skill.var.player-max-health> FLOAT The wielder's maximum health
<skill.var.fall-distance> FLOAT The wielder's current accumulated fall distance in blocks

Target Placeholders

Placeholder Data Type Description
<skill.var.target-health> FLOAT The skill target's current health (when a target entity is present)
<skill.var.target-max-health> FLOAT The skill target's maximum health (when a target entity is present)

Trigger-Specific Placeholders

Placeholder Data Type Trigger(s) Description
<skill.var.damage> FLOAT ~onDamaged The incoming damage amount from the current damage event
<skill.var.item-attack> FLOAT ~onAttack The equipment's attack damage value
<skill.var.equip-slot> STRING Most triggers The equipment slot of the enchanted item (e.g. HAND, CHEST, FEET)

Enchant Apply/Remove Trigger Placeholders

These are injected only during ~onEnchantApply and ~onEnchantRemove triggers:

Placeholder Data Type Description
<skill.var.enchantments-applied> INTEGER Number of enchantments applied (~onEnchantApply only)
<skill.var.enchantments-removed> INTEGER Number of enchantments removed (~onEnchantRemove only)
<skill.var.enchantments> STRING Comma-separated list of enchantment IDs applied or removed
<skill.var.enchantment-source> STRING Source of the enchantment change: TABLE, ANVIL, COMMAND, or GRINDSTONE
<skill.var.enchantment_applied.N> STRING The Nth enchantment ID in the change (1-based index)

Math Expressions

MythicEnchants provides a <math:EXPR> placeholder for evaluating math expressions inline. Any of the above variables can be referenced inside math expressions using their underscore form.

Syntax

Enchantment File:

<math:EXPRESSION>

Metaskill or Skills File (Requires MM Premium):

<math.EXPRESSION>

Available Variables in Math

Variable Description
enchant_level Level of the triggering enchantment
enchant_maxlevel Maximum level of the triggering enchantment
player_health Caster's current health
player_max_health Caster's maximum health
fall_distance Caster's accumulated fall distance in blocks
target_health Target's current health (0 if no target)
target_max_health Target's maximum health (0 if no target)
damage Incoming/outgoing damage value (0 if not applicable)
item_attack Item attack value (0 if not applicable)

Supported Functions

Function Description
min(a, b) Returns the smaller of two values
max(a, b) Returns the larger of two values
clamp(v, min, max) Clamps a value between min and max
round(x) Rounds to the nearest integer
floor(x) Rounds down to the nearest integer
ceil(x) Rounds up to the nearest integer
abs(x) Returns the absolute value
sqrt(x) Square root
random(min, max) Random float between min and max
randomInt(min, max) Random integer between min and max (inclusive)
lerp(a, b, t) Linear interpolation between a and b by factor t
step(edge, x) Returns 1 if x >= edge, otherwise 0
sin(x), cos(x), tan(x) Trigonometric functions
log(x), log2(x), log10(x) Logarithmic functions
signum(x) Returns -1, 0, or 1 based on sign
logb(x, base) Logarithm with custom base

Supported Operators

Operator Description
+ - * / ^ Standard arithmetic
< <= > >= == Comparison (returns 1 or 0)
Updated Aug 19, 2026