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-cap → max-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) |