| **[Skill][]** | Executes a meta-skill. The butter for your bread. |
| **[VariableSkill][]** | Executes a meta-skill. Supports placeholders. |
| [Aura][] | Applies an aura to the targeted entity, allowing for skills to be run onStart/onTick/onEnd/Etc which all originate from the target. |
| [Beam][] | Creates a beam of a material between the caster and the target |
| [CancelEvent][] | Cancels the Event that triggered the current skill-tree. Only works for certain triggers. |
| [CancelSkill][] | Cancels the execution of the Metaskill when triggered. |
| [Cast][] | Applies an [aura] that "Casts" a meta-skill using various advanced options. |
| [Chain][] | Chains a skill between multiple targets that are near each other. |
| [ChainMissile][] | A missile that chains between entities. **Premium-Only** mechanic! |
| [Delay][] | Delays execution of the current skill list by a set number of ticks. |
| [DetermineCondition][] | Determines the outcome of a Metaskill that is used as a Condition via the [MetaskillCondition](/Skills/Conditions/MetaskillCondition) condition |
| [EndProjectile][] | Terminates the projectile. Only usable in projectile mechanics. |
| [ForEach][] | Executes a metaskill once for each target of the mechanic |
| [ForEachValue][] | Executes a metaskill once for each entry or key-value pair in the specified value |
| [ForEachPin][] | Executes a metaskill once for each pin of a multi-pin |
| [GlobalCooldown][] | Sets the caster's Global Cooldown timer |
| [Missile][] | Fires a homing projectile towards the target. |
| [ModifyProjectile][] | Modifying the projectile / missile / orbital |
| [OnAttack][] | Applies an [aura][] to the target that triggers skills when they attack |
| [OnDamaged][] | Applies an [aura][] to the target that triggers skills when they take damage |
| [OnShoot][] | Applies an [aura][] to the target that triggers skills when they shoot a bow |
| [OnBlockBreak][] | Applies an [aura][] to the target that triggers skills when they break a block |
| [OnBlockPlace][] | Applies an [aura][] to the target that triggers skills when they place a block |
| [OnChat][] | Applies an [aura][] to the target that triggers skills when they chat |
| [OnSwing][] | Applies an [aura][] to the target that triggers skills when they swing / left click |
| [OnInteract][] | Applies an [aura][] to the target that triggers skills when they interact / right click while holding a block or looking at an outlined block (NOT AIR) |
| [OnJump][] | Applies an [aura][] to the target that triggers a skill when they jump (PAPER ONLY MECHANIC) |
| [OnDeath][] | Applies an [aura][] to the target that triggers a skill when they die |
| [Orbital][] | Applies an [aura][] that causes a projectile to orbit around the target |
| [FollowPath][] | Applies an [aura][] that causes the mob to follow a path |
| [FormLine][] | Applies an [aura][] that causes the mob to follow a *straight* path |
| [Polygon][] | Creates a highly-customizable polygon-shaped pattern that can execute metaskills. |
| [Projectile][] | Fires a highly-customizable projectile towards the target |
| [ProjectileVelocity][] | Modifies the velocity of the calling Projectile or Missile |
| [RandomSkill][] | Executes a random skill from a list |
| [SetSkillCooldown][] | Sets the given metakill's cooldown to the given value |
| [SetProjectileDirection][]| Sets the calling projectile's movement direction to the given target |
| [SetProjectileBulletModel][] | Sets the model of the projectile. (DISPLAY bullets only) |
| [Shoot][] | Shoots a item-projectile at the target, similar to arrows/eggs/snowballs. |
| [Slash][] | Creates a highly-customizable slash pattern that can execute metaskills. |
| [SudoSkill][] | Makes the target execute a skill |
| [Switch][] | Acts as a switch/case |
| [StatAura][] | Applies an aura to the target that applies a specific stat to them |
| [Totem][] | Creates a static "totem" at a location that can execute other skills |
| [Terminable][] | Creates an [aura] that cancels the execution of its onStart metaskill is some conditions are met |
| [Volley][] | Shoots a volley of projectile-items at the target with various options |
| [VariableAdd][] | Adds an amount to a numeric variable |
| [VariableMath][] | Performs math on a numeric variable |
| [SetVariable][] | Sets the value of a variable |
| [SetVariableLocation][] | Sets a variable to the target location |
| [VariableUnset][] | Unsets the variable |
| [VariableSubtract][] | Subtracts an amount from a numeric variable |
| [VariableMove][] | Moves an already created variable across names and/or registries |
| [Wait][] | Puts the metaskill on hold until a set of conditions is met |
| [CinematicCamera][] | Plays a cinematic camera path for the target player |
| [CinematicCancel][] | Cancels an active cinematic for the target player |
| [CloseDialog][] | Closes any open dialog for the target player |
| [OnKeyPress][] | Applies an aura that triggers a skill when the player presses a key |
| [OnKeyRelease][] | Applies an aura that triggers a skill when the player releases a key |
# Universal Attributes
The following attributes are applicable to all mechanics.
| cooldown | cd | In seconds. Allows for decimal values. | 0 |
| delay | | Delays the execution of the mechanic by a set number of ticks. | 0 |
| repeat | | How many times the mechanic should be repeated. If repeatInterval is set to `0`, this becomes the number of executions rather than repetitions | 0 |
| repeatInterval | repeatI | How many ticks must elapse between repetitions | 0 |
| targetInterval | targetI | How many ticks must elapse between target selection | 0 |
| origin | | *[PREMIUM]** Change the origin to whatever targeter is supplied. Does not work if more than one target is parsed. `origin=@Forward{f=10}`<br>The targeter of the origin attribute will be parsed separately from the mechanic's targeter, so if you use something like `origin=@targetedlocation` it will not return the mechanic's explicit target, but the metaskill's inherited one | |
| power | | [Power](/mobs/Power) multiplier | 1 |
| fromorigin | fo, sourceisorigin, castfromorigin | Whether to cast the mechanic from origin. This only works with a select few mechanics, and is usually listed as one of their attributes, too | false |
| targetisorigin | | Whether to set the target of the mechanic to be the origin | false |
| splitPower| powersplit, powersplitbetweentargets | Whether to split the power between targets| false |
| faulty | | Whether the mechanic should use the old vector formula | true |
| chance | | The chance of the mechanic executing. For instance, 0.1 is a 10% chance | 1 |
| forcesync | sync | Whether to force the mechanic to be run synchroniously with the main Minecraft thread. This *generally* worsens performances (albeit usually in a non-perceptible fashion), but **some mechanics needs this to be set to true***(for instance, the [cancelevent] mechanic, since an event cannot be cancelled if the mechanics comes in "late" and the event has already happened)* | false |
# Examples
```yaml
ExampleMob:
Type:ZOMBIE
Skills:
-message{m="This message will only be shown once every 5 seconds!";cooldown=5} @trigger ~onInteract
-message{m="This one 5 times in a row over 2 seconds!";repeat=4;repeatInterval=10} @trigger ~onInteract
```
<!--
Upcoming Mechanics
------------------
These mechanics are currently being worked on and will be in future
releases of the plugin. Some mechanics listed here are already included,
| **[Skill][]** | Executes a meta-skill. The butter for your bread. |
| **[VariableSkill][]** | Executes a meta-skill. Supports placeholders. |
| [Aura][] | Applies an aura to the targeted entity, allowing for skills to be run onStart/onTick/onEnd/Etc which all originate from the target. |
| [Beam][] | Creates a beam of a material between the caster and the target |
| [CancelEvent][] | Cancels the Event that triggered the current skill-tree. Only works for certain triggers. |
| [CancelSkill][] | Cancels the execution of the Metaskill when triggered. |
| [Cast][] | Applies an [aura] that "Casts" a meta-skill using various advanced options. |
| [Chain][] | Chains a skill between multiple targets that are near each other. |
| [ChainMissile][] | A missile that chains between entities. **Premium-Only** mechanic! |
| [Delay][] | Delays execution of the current skill list by a set number of ticks. |
| [DetermineCondition][] | Determines the outcome of a Metaskill that is used as a Condition via the [MetaskillCondition](/Skills/Conditions/MetaskillCondition) condition |
| [EndProjectile][] | Terminates the projectile. Only usable in projectile mechanics. |
| [ForEach][] | Executes a metaskill once for each target of the mechanic |
| [ForEachValue][] | Executes a metaskill once for each entry or key-value pair in the specified value |
| [ForEachPin][] | Executes a metaskill once for each pin of a multi-pin |
| [GlobalCooldown][] | Sets the caster's Global Cooldown timer |
| [Missile][] | Fires a homing projectile towards the target. |
| [ModifyProjectile][] | Modifying the projectile / missile / orbital |
| [OnAttack][] | Applies an [aura][] to the target that triggers skills when they attack |
| [OnDamaged][] | Applies an [aura][] to the target that triggers skills when they take damage |
| [OnShoot][] | Applies an [aura][] to the target that triggers skills when they shoot a bow |
| [OnBlockBreak][] | Applies an [aura][] to the target that triggers skills when they break a block |
| [OnBlockPlace][] | Applies an [aura][] to the target that triggers skills when they place a block |
| [OnChat][] | Applies an [aura][] to the target that triggers skills when they chat |
| [OnSwing][] | Applies an [aura][] to the target that triggers skills when they swing / left click |
| [OnInteract][] | Applies an [aura][] to the target that triggers skills when they interact / right click while holding a block or looking at an outlined block (NOT AIR) |
| [OnJump][] | Applies an [aura][] to the target that triggers a skill when they jump (PAPER ONLY MECHANIC) |
| [OnDeath][] | Applies an [aura][] to the target that triggers a skill when they die |
| [Orbital][] | Applies an [aura][] that causes a projectile to orbit around the target |
| [FollowPath][] | Applies an [aura][] that causes the mob to follow a path |
| [FormLine][] | Applies an [aura][] that causes the mob to follow a *straight* path |
| [Polygon][] | Creates a highly-customizable polygon-shaped pattern that can execute metaskills. |
| [Projectile][] | Fires a highly-customizable projectile towards the target |
| [ProjectileVelocity][] | Modifies the velocity of the calling Projectile or Missile |
| [RandomSkill][] | Executes a random skill from a list |
| [SetSkillCooldown][] | Sets the given metakill's cooldown to the given value |
| [SetProjectileDirection][]| Sets the calling projectile's movement direction to the given target |
| [SetProjectileBulletModel][] | Sets the model of the projectile. (DISPLAY bullets only) |
| [Shoot][] | Shoots a item-projectile at the target, similar to arrows/eggs/snowballs. |
| [Slash][] | Creates a highly-customizable slash pattern that can execute metaskills. |
| [SudoSkill][] | Makes the target execute a skill |
| [Switch][] | Acts as a switch/case |
| [StatAura][] | Applies an aura to the target that applies a specific stat to them |
| [Totem][] | Creates a static "totem" at a location that can execute other skills |
| [Terminable][] | Creates an [aura] that cancels the execution of its onStart metaskill is some conditions are met |
| [Volley][] | Shoots a volley of projectile-items at the target with various options |
| [VariableAdd][] | Adds an amount to a numeric variable |
| [VariableMath][] | Performs math on a numeric variable |
| [SetVariable][] | Sets the value of a variable |
| [SetVariableLocation][] | Sets a variable to the target location |
| [VariableUnset][] | Unsets the variable |
| [VariableSubtract][] | Subtracts an amount from a numeric variable |
| [VariableMove][] | Moves an already created variable across names and/or registries |
| [Wait][] | Puts the metaskill on hold until a set of conditions is met |
| [CinematicCamera][] | Plays a cinematic camera path for the target player |
| [CinematicCancel][] | Cancels an active cinematic for the target player |
| [CloseDialog][] | Closes any open dialog for the target player |
| [OnKeyPress][] | Applies an aura that triggers a skill when the player presses a key |
| [OnKeyRelease][] | Applies an aura that triggers a skill when the player releases a key |
# Universal Attributes
The following attributes are applicable to all mechanics.
| cooldown | cd | In seconds. Allows for decimal values. | 0 |
| delay | | Delays the execution of the mechanic by a set number of ticks. | 0 |
| repeat | | How many times the mechanic should be repeated. If repeatInterval is set to `0`, this becomes the number of executions rather than repetitions | 0 |
| repeatInterval | repeatI | How many ticks must elapse between repetitions | 0 |
| targetInterval | targetI | How many ticks must elapse between target selection | 0 |
| origin | | *[PREMIUM]** Change the origin to whatever targeter is supplied. Does not work if more than one target is parsed. `origin=@Forward{f=10}`<br>The targeter of the origin attribute will be parsed separately from the mechanic's targeter, so if you use something like `origin=@targetedlocation` it will not return the mechanic's explicit target, but the metaskill's inherited one | |
| power | | [Power](/mobs/Power) multiplier | 1 |
| fromorigin | fo, sourceisorigin, castfromorigin | Whether to cast the mechanic from origin. This only works with a select few mechanics, and is usually listed as one of their attributes, too | false |
| targetisorigin | | Whether to set the target of the mechanic to be the origin | false |
| splitPower| powersplit, powersplitbetweentargets | Whether to split the power between targets| false |
| faulty | | Whether the mechanic should use the old vector formula | true |
| chance | | The chance of the mechanic executing. For instance, 0.1 is a 10% chance | 1 |
| forcesync | sync | Whether to force the mechanic to be run synchroniously with the main Minecraft thread. This *generally* worsens performances (albeit usually in a non-perceptible fashion), but **some mechanics needs this to be set to true***(for instance, the [cancelevent] mechanic, since an event cannot be cancelled if the mechanics comes in "late" and the event has already happened)* | false |
# Examples
```yaml
ExampleMob:
Type:ZOMBIE
Skills:
-message{m="This message will only be shown once every 5 seconds!";cooldown=5} @trigger ~onInteract
-message{m="This one 5 times in a row over 2 seconds!";repeat=4;repeatInterval=10} @trigger ~onInteract
```
<!--
Upcoming Mechanics
------------------
These mechanics are currently being worked on and will be in future
releases of the plugin. Some mechanics listed here are already included,