The Mythic skill grammar

Every MythicCraft plugin builds behaviour out of the same four parts, written on one line: a mechanic that does something, a targeter that aims it, conditions that gate it, and a trigger that fires it. Learn the line once and it reads the same in all of them.

The shape of a skill

A skill is one list entry. Its parts appear in a fixed order, and everything after the mechanic is optional:

The grammar, with optional parts in brackets

Skills:
- mechanic{argument=value} [@targeter] [?condition] [~ontrigger] [health] [chance]

Read it right to left and it is a sentence about when something happens. The trigger is the event the mob or item reacts to; the conditions decide whether the reaction goes ahead; the targeter chooses who or where it lands on; and the mechanic is the thing that actually happens. A targeter is optional and usually defaults to @trigger, which is why omitting one rarely produces an error and often produces the wrong result.

A skill that hurts nearby players every five seconds, but only in daylight

Skills:
- damage{amount=8} @PlayersInRadius{r=5} ?sunny ~onTimer:100

Two sigils carry the grammar. @ introduces a targeter and ~ introduces a trigger, so a line can be scanned without knowing what any of the words mean. Conditions attached inline take ?; the same conditions written as a block under Conditions or TargetConditions do not. The trailing two numbers, if present, are a health modifier and a chance to fire.

📌 Note

The documentation writes the same item three ways: a URL slug is lowercase (activatespawner), a reference table uses camel case (ActivateSpawner), and a targeter carries its sigil (@Self). That is a fact about the documentation rather than about the parser — nothing upstream states whether the parser itself cares about case, so neither does this page. It matters when you are searching the wiki, or counting anything.

How large each surface is

The four surfaces are not evenly developed. MythicMobs is where the grammar comes from and carries most of it; the other plugins add the mechanics, triggers and conditions that belong to their own subject and inherit the rest.

PluginMechanicsTargetersConditionsTriggersDoc pages
MythicMobs3028919536969
MythicCrucible4342154167
MythicRPG35132558162
MythicDungeons1483416124
ModelEngine5847—115
MythicEnchants322127102
MythicAchievements2—1—44
MythicHUD——6—29
MythicCosmetics————31
MythicArmors————14
Whole suite4861203011711,757

The totals count each item once per plugin that documents it. A mechanic available in MythicMobs and reachable from MythicCrucible appears in both rows, because from a configuration author's point of view it is documented twice and may behave differently in each context.

How these numbers were arrived at

They were counted, not recalled. 1,766 pages of the MythicCraft documentation were read, of which 1,757 belong to one of the ten plugins, and the counts fall out of the structure of the documentation itself.

That structure is not uniform, which is the interesting part. Mechanics and conditions get one page each, so counting pages counts them. Targeters and triggers are documented as tables on a single page, so counting pages misses them entirely — a first pass reported MythicMobs as having no targeters at all, while its targeter page carried seventeen tables of them.

Both surfaces therefore have two possible derivations, and where both exist they agree:

MythicMobs surfaceCounted as pages Counted from the index tablesPublished
Mechanics302301 302
Conditions195195 195
Targeters8989 89
Triggers3636 36

Three of the four match exactly and the fourth is out by one, which is a better guarantee than either method alone: the page tree and the hand-written index tables are maintained separately, so they would not drift together.

⚠ Gotcha

Counting pages by path is how a count gets inflated. The particle catalogue lives under skills/mechanics/particle/particle-types/, so a naive count of everything below mechanics/ reports 439 mechanics for MythicMobs, of which 119 are particle types and 18 are sub-pages. Only an immediate child of a surface directory is an item — and if the two derivations above had not disagreed, nothing would have caught it.

Where the plugins diverge

5 of the ten plugins document all four surfaces. The gaps are informative rather than accidental:

Reading the upstream documentation

The MythicCraft documentation moved to wiki.mythiccraft.io from the GitLab wikis at git.mythiccraft.io and git.lumine.io. The old URLs still resolve, because they redirect, which means a link to them looks healthy and is nonetheless pointing at an address the project has left. Every citation on this site was repointed.

💡 Best practice

When a mechanic does not fire, check the parts in grammar order rather than re-reading the mechanic. Most failures are a trigger that never occurs or a targeter that resolved to nothing, and both are silent: a skill aimed at an empty target set is not an error, it is a skill that did nothing.

Sources