Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
MythicMobs MythicMobs
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 132
    • Issues 132
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • MythicCraft
  • MythicMobsMythicMobs
  • Wiki
    • Skills
  • Triggers

Last edited by Lxlp 2 weeks ago
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Triggers

Triggers are used to determine how a skill is triggered from within the mobs skill configuration section.

TRIGGERS CANNOT BE USED IN META-SKILLS AND SHOULD NOT BE INCLUDED IN THEM.

Triggers can only be used to activate the meta-skill itself (in the mob's configuration file).

Additional Triggers

Links to triggers added by addon plugins. Any triggers from these links will not work without that plugin installed.

  • Mythic Crucible
  • Mythic Enchantments

Triggers

Table of all available triggers:

Trigger When it fires...
onCombat Default
onAttack When the mob hits something
onDamaged When the mob is damaged
onSpawn When the mob spawns
onDespawn When the mob is despawned
onReady / onFirstSpawn Triggered the first time a mob is spawned from a spawner
onLoad When the mob is loaded (spawning or loading after a restart)
onDeath When the mob dies
onTimer:# Every # ticks (where # is the interval in ticks)
onInteract When the mob is right-clicked
onPlayerKill When the mob kills a player
onEnterCombat When the mob enters combat (requires threat tables be on)
onDropCombat When the mob leaves combat (requires threat tables be on)
onChangeTarget When the mob changes targets (requires threat tables be on)
onExplode When the mob explodes (typically only used for creepers)
onPrime When the creeper charges up for an explosion
onCreeperCharge When the creeper is charged (when lightning hits a creeper)
onTeleport When the mob teleports (typically only used for endermen)
onSignal:[signal] When the mob receives a signal
onShoot When the mob fires a projectile
onBowHit When the mob's fired projectile hits an entity
onTame When the mob gets tamed
onBreed When the mob breeds with another mob.
onTrade When the Villager completes a trade. Requires Paper
onChangeWorld When the mob changes world
onBucket When the cow is milked or an entity is bucketed (axolotl etc.)
onSkillDamage When the mob deals damage to other entities via a mechanic
onHear When the mob hears a sound, if enabled

Using Triggers

Triggers are defined in the skill section of the mob configuration and must use a tilde (~) in front of them. In the case of the Timer, a time in ticks is also required.

SkeletalWizard_Fire:
  Type: WITHER_SKELETON
  Display: '&Skeletal Fire Wizard'
  Health: 50
  Damage: 0.5
  Skills:
  - ignite{ticks=100} @target ~onAttack
  - skill{s=FireShield} @trigger ~onDamaged 0.1
  - skill{s=AOEFire} ~onTimer:300

In this example the mob will also set its target on fire when melee-attacking, will use a "FireShield" skill when taking damage, and will use the "AOEFire" skill every 300 ticks, or every 15 seconds.

Not using Triggers...

Skill triggers give far more flexibility in determining exactly when a skill should go off. It is highly recommended that you trigger all your skills using advanced triggers as opposed to the old, legacy methods.

If a skill does not have a trigger, it will default to the ~onCombat trigger which will execute when these events occur:

  • When the mob deals or takes damage
  • When the mob spawns
  • When the mob dies
SkeletalWarrior:
  Mobtype: skeleton
  Display: '<blue>A Skeletal Warrior</blue>'
  Skills:
  - skill{s=Bash} =10%-90%

In this instance the Bash skill is triggered when the mob deals or takes damage when it is between 10% and 90% health.

The @trigger Targeter

You may have noticed there is an @trigger targeter in the examples shown above, and listed in the targeters section. The @trigger will target the entity that "caused" the skill to trigger, i.e. when a player damages a mob and that mob has an ~onDamaged skill, it will target that player. If a signal is being sent to a mob, it will target the mob that sent the signal, and so on.

All Available Triggers

~onSpawn

Executes the skill when the mob spawns.

There is no associated @trigger

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when the mob spawns
    - message{m=SPAWN} @World ~onSpawn

~onDeath

Executes the skill when the mob dies.
If the server is a Paper one, it is possible to cancel the death event as long as the cancelevent mechanic is synched. The health that the mob has after this is based on what is specified in the ReviveHealth Option.

The associated @trigger is the entity that killed the caster

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when the mob dies
    - message{m=DEATH} @World ~onDeath
ImmortalCow:
  Type: COW
  Display: '&eImmortal Cow'
  Health: 20
  Options:
    ReviveHealth: -1
  Skills:
  - skill{s=[
    - cancelevent
    - e:p{p=HEART;hs=0.5;vs=0.5;y=1.5}
    - speak{m=Call an ambulance, but not for me!}
    ];sync=true} @self ~onDeath

~onAttack

Executes the skill when the mob attacks an entity.

The associated @trigger is the entity that was attacked

EXAMPLE_MOB:
  Type: CHICKEN
  Damage: 1
  Skills:
    # sends a message to all the players in the world
    # when the mob attacks an entity
    - message{m=ATTACK} @World ~onAttack

~onDamaged

Executes the skill when the mob takes damage.

The associated @trigger is the entity that dealt the damage

Implemented Placeholders
<skill.var.damage-amount>
<skill.var.damage-type>
EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when the mob takes damage
    - message{m=DAMAGED} @World ~onDamaged

~onDespawn

Executes the skill when the mob despawns.

The associated @trigger is the caster itself

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when the mob takes damage
    - message{m=DESPAWNED} @World ~onDespawn

~onExplode

Executes the skill when the mob explodes.
mobGriefing gamerule must be set to true for this to work.
Generally, this trigger only works with creepers and TNTs since other mobs tend to not explode...

There is no associated @trigger

EXAMPLE_MOB:
  Type: CREEPER
  Skills:
    # sends a message to all the players in the world
    # when the mob explodes
    - message{m=EXPLODE} @World ~onExplode

~onTeleport

Executes the skill when the mob teleports.

There is no associated @trigger

EXAMPLE_MOB:
  Type: ENDERMAN
  Skills:
    # sends a message to all the players in the world
    # when the mob teleports
    - message{m=TELEPORT} @World ~onTeleport

~onTimer:[tick(s)]

Executes the skill every nth ticks. Ticks can't be zero and 20 ticks is equal to 1 second.

Care must be taken when using this trigger as it can lead to server/client performance issues! i.e. large amounts of particle effects can cause client lag, or can kick the client from the server

There is no associated @trigger.

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world every 0.05 seconds
    - message{m=TIMER every tick (0.05 seconds)} @World ~onTimer:1
    # sends a message to all the players in the world every 2 seconds
    - message{m=TIMER every 40 ticks (2 seconds)} @World ~onTimer:40

~onPlayerKill

Executes the skill when the mob kills a player.

The associated @trigger is the player that has been killed

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when the mob kills a player
    - message{m=PLAYER KILLED} @World ~onPlayerKill

~onEnterCombat

Executes the skill when the mob enters combat. REQUIRES ThreatTables to be enabled

The associated @trigger is the entity that made the caster enter combat

EXAMPLE_MOB:
  Type: CHICKEN
  Modules:
    ThreatTable: true
  Skills:
    # sends a message to all the players in the world
    # when the mob enters combat
    - message{m=ENTERED COMBAT} @World ~onEnterCombat

~onDropCombat

Executes the skill when the mob drops combat. REQUIRES ThreatTables to be enabled

There is no associated @trigger

EXAMPLE_MOB:
  Type: CHICKEN
  Modules:
    ThreatTable: true
  Skills:
    # sends a message to all the players in the world
    # when the mob enters combat
    - message{m=DROPPED COMBAT} @World ~onDropCombat

~onChangeTarget

Executes the skill when the mob changes target. REQUIRES ThreatTables to be enabled

EXAMPLE_MOB:
  Type: CHICKEN
  Modules:
    ThreatTable: true
  Skills:
    # sends a message to all the players in the world
    # when the mob's target changes
    - message{m=Target Changed} @World ~onChangeTarget

~onInteract

Executes the skill when a player interacts with, or right-clicks, the mob.

The associated @trigger is the player that interacted with the caster

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when a player right-clicks the mob
    - message{m=INTERACTED} @World ~onInteract

~onSignal:[signal]

Executes the skill when the mob receives a signal from the signal mechanic.
A signal must be alphanumeric.

The associated @trigger is the entity that sent the signal

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a signal to all mythicmob entity in a radius of 64 blocks
    # when a player right-clicks the mob
    - signal{s=MOO_FOR_ME} @EIR{r=64} ~onInteract
DUMMY_MOB:
  Type: COW
  Skills:
    # sends a message to all the players in the world
    # when the mob receives a "MOO_FOR_ME" signal
    - message{m=MOO} @World ~onSignal:MOO_FOR_ME

You may also choose to not specify a signal for this trigger, in which case the associated mechanic will be triggered every time the mob receives a generic signal.

DUMMY_MOB:
  Type: COW
  Skills:
    # sends a message to all the players in the world
    # when the mob receives a signal
    - message{m=MOO...?} @World ~onSignal

~onShoot

Executes the skill when the mob shoots a projectile. For example, skeletons with bows will shoot arrows; ghasts, blazes, or ender dragon will shoot some type of fireball.

The associated @trigger is the caster

EXAMPLE_MOB:
  Type: SKELETON
  Skills:
    # sends a message to all the players in the world
    # when the skeleton shoots from a bow
    - message{m=I SHOT AN ARROW} @World ~onShoot

~onBowHit

Executes a skill when the mob's projectile hits an entity.

The associated @trigger is the entity that has been hit

NotYourAverageSkeleton:
  Type: SKELETON
  Equipment:
    - BOW HAND
  Skills:
  - modifyDamage{a=3;modifier=MULTIPLY;sync=true} ~onBowHit

~onBreed

Executes the skill when the mob breeds with another mob.

This trigger has @Father and @Mother targeters. The associated @trigger is the player that made the caster breed

EXAMPLE_MOB:
  Type: CHICKEN
  Skills:
    # sends a message to all the players in the world
    # when the mob breeds
    - message{m=LET'S GET THIS BREAD} @World ~onBreed

~onTame

Executes the skill when the player tames the mob.

The associated @trigger is the player that tamed the mob

EXAMPLE_MOB:
  Type: WOLF
  Skills:
    # sends a message to all the players in the world
    # when a player tames the mob
    - message{m=I GOT TAMED} @World ~onTame

~onCreeperCharge

Executes the skill when the casting creeper is charged.

The associated @trigger is the caster itself

EXAMPLE_MOB:
  Type: CREEPER
  Skills:
    # sends a message to all the players in the world
    # when the mob gets charge
    - message{m=CHARGED} @World ~onCreeperCharge

~onPrime

Executes the skill when the mob, must be a creeper, is primed (i.e. via the use of a flint and steel).

The associated @trigger is the caster itself

EXAMPLE_MOB:
  Type: CREEPER
  Skills:
    # sends a message to all the players in the world
    # when the mob is primed
    - message{m=OOO I'M GONNA EXPLODE} @World ~onPrime

~onTrade

Executes the skill when the villager trades with a player.

The associated @trigger is the player that traded with the villager

EXAMPLE_MOB:
  Type: VILLAGER
  Skills:
    # sends a message to all the players in the world
    # when the mob's target changes
    - message{m=TRADED} @World ~onTrade

~onReady

Executes the skill when the mob is ready to spawn from a spawner

EXAMPLE_MOB:
  Type: VILLAGER
  Skills:
    # sends a message to all the players in the world
    # when the mob is about to spawn from a spawner
    - message{m=READY TO SPAWN FROM A SPAWNER} @World ~onReady
    - message{m=READY TO SPAWN FROM A SPAWNER} @World ~onFirstSpawn

~onLoad

Executes the skill when the mob is loaded after a server restart.

EXAMPLE_MOB:
  Type: VILLAGER
  Skills:
    # sends a message to all the players in the world
    # when the mob is loaded after a server restart
    - message{m=LOADED} @World ~onLoad

~onChangeWorld

Executes the skill when the mob changes world.

WorldJumper:
  Type: WITHER_SKELETON
  Skills:
  - command{c=say The End!} @self ~onChangeWorld ?varEquals{var=skill.world;value=world_the_end}
  - command{c=say The Nether!} @self ~onChangeWorld ?varEquals{var=skill.world;value=world_nether}

~onBucket

Executes the skill when the cow is milked or when an entity is stored in a bucket (axolotl and the other bucketable ones).

The associated @trigger is the caster itself

ANormalCow:
  Type: Cow
  Skills:
  - skill{s=[
    - message{m="HOW DARE YOU?!?"} @trigger
    - sound{s=entity.creeper.primed}
    - explosion{yield=5;delay=30}
    ];cd=2} @self ~onMilk

~onSkillDamage

Executes the skill when the mob deals damage to other entities via a mechanic.

The associated @trigger is the entity that was damaged

ExampleMob:
  Type: 
  Skills:
  - damage @PIR{r=10} ~onTimer:20
  - message{m="Get damaged! MUHAHAHA"} @trigger ~onSkillDamage

~onHear

Executes the skill when the mob hears a sound, if this feature has been enabled.
The <skill.var.volume>placeholder can be used in the triggered skill to return a float value between 1 and 15 representing the intensity of the sound (1=quiet footstep, 15=explosion).

The associated @trigger is the entity that generated the sound

The associated @origin is the location where the sound was generated

Implemented Placeholders
<skill.var.volume>
<skill.var.sound-type>
ICanHearYou:
  Type: ZOMBIE
  Hearing:
    Enabled: true
  Skills:
  - message{m="I can hear you <trigger.name>! <skill.var.volume>? Way too loud!"} @trigger
Clone repository
Home
Changelogs
Premium Features
Commands and Permissions
Mythic Add-ons
Compatible Plugins
API Information
Guides
  • Troubleshooting
  • FAQ / Common Issues
  • Examples
Packs
  • Pins
Mobs
  • Mob Options
    • Display Options
  • Mob Levels
  • Mob Factions
  • Power Scaling
  • Damage Modifiers
  • Equipment
  • BossBar
  • Custom AI
  • Custom Kill Messages
  • Threat Tables
  • Immunity Tables
  • Templates
  • Vanilla Overrides
  • Extra: Disguises
  • Extra: ModelEngine
Skills
  • Mechanics
  • Targeters
    • Filters
  • Triggers
  • Conditions
    • In-line conditions
  • Metaskills
  • Placeholders
  • Variables
Items
  • Options
  • Attributes
  • Enchantments
  • Potions
  • Banner Layers
  • Firework
Drops & DropTables
  • Drops
  • DropTables
  • FancyDrops
Spawning
  • Spawners
  • Random Spawns
Stats
  • Custom Stat Options
  • Modifiers
  • Built in Stats
Technical
  • Math
  • Operations
    • Attribute Operations
    • Stats Modifiers
  • Particles Types
  • Audience
  • Equipment Slots
  • Intratick Scheduling