English
MythicMobs Integration
How EmakiLevel and MythicMobs work together: how to enable each path, how to fill in the parameters, and how to choose between the two
EmakiLevel provides two MythicMobs integration paths:
- Kill sources: grant exp when a player kills configured MythicMob IDs through
sources/mythicmobs.yml - Custom drops: write
emakilevel_exp{...}orelv_exp{...}in MythicMobsDropsto grant intangible level exp directly
Both can be used together or independently
Enable switches
Prerequisite: MythicMobs is an optional dependencies.server entry in paper-plugin.yml. If MythicMobs is not installed, EmakiLevel skips these bridges and the rest of the plugin still works
Main config:
yaml
mythicmobs:
enabled: true
kill_sources: true
drops:
enabled: true
names:
- "emakilevel_exp"
- "elv_exp"| Field | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
mythicmobs.enabled | boolean | no | true | true / false | Global MythicMobs switch. When false, kill sources and drops are ignored |
mythicmobs.kill_sources | boolean | no | true | true / false | Enables mythic_mob_kill source rules |
mythicmobs.drops.enabled | boolean | no | true | true / false | Registers custom MythicMobs drops |
mythicmobs.drops.names | list<string> | no | emakilevel_exp, elv_exp | — | Recognized drop names. Empty list falls back to defaults |
Run /elv reload after editing to apply changes
MythicMob kill sources
Default file: plugins/EmakiLevel/sources/mythicmobs.yml
yaml
id: "mythicmobs_sources"
enabled: true
sources:
mythic_mob_kill:
enabled: true
type: "combat"
trigger: "mythic_mob_kill"
anti_abuse:
exp_cooldown_ticks: 5
ignore_near_spawner: true
spawner_scan_radius: 8
rules:
- mob_ids: ["SkeletonKing", "UndeadKnight"]
exp_formula: "50 + %mythic_level% * 5"
- mob_ids: ["ForestBoss"]
exp_formula: "300 + %mythic_level% * 20"Trigger timing and behavior:
- When a player kills an entity, CoreLib publishes the
entity_killshared event first, then checks whether the entity is a MythicMob and publishes an additionalmythic_mob_killevent when it is - A single kill can therefore match both
entity_killandmythic_mob_killsources mob_idsare matched case-normalized- Matched exp is written to the source
type, defaultcombat - This source also supports
anti_abuse.exp_cooldown_ticks,ignore_near_spawner, andspawner_scan_radius
Formula variables:
| Variable | Description |
|---|---|
%mythic_id% | MythicMob internal ID |
%mythic_level% | MythicMob level, supplied by the CoreLib shared event |
Example:
yaml
sources:
dungeon_boss_level:
enabled: true
type: "main"
trigger: "mythic_mob_kill"
rules:
- mob_ids: ["DungeonBoss"]
exp_formula: "500 + %mythic_level% * 50"Custom drops
When MythicMobs is installed and mythicmobs.drops.enabled: true, EmakiLevel listens to MythicDropLoadEvent and registers intangible exp drops. These drops do not create items; they grant level exp to the target player
Minimal example:
yaml
Drops:
- emakilevel_exp{type=main;amount=120}
- elv_exp{type=combat;amount=80;reason=mythic_drop}Parameters:
| Parameter | Default | Description |
|---|---|---|
type | config.yml > primary_type | Target level type ID |
amount | 1 | Base exp amount. Can be a number or expression |
amount_formula | %amount% * %drop_amount% | Final exp formula |
reason | mythic_drop | Operation reason, exposed to level action variable %reason% |
auto_upgrade | true | Whether this exp operation can trigger auto-upgrade |
silent | false | Silent flag passed into the level service |
amount_formula variables:
| Variable | Description |
|---|---|
%amount% | Parsed base amount from the amount parameter |
%drop_amount% | Drop amount multiplier passed by MythicMobs |
%metadata_amount% | MythicMobs DropMetadata amount |
%generations% | MythicMobs DropMetadata generations |
%tick% | MythicMobs DropMetadata tick |
%player% | Target player name |
%type% | Target level type |
%drop% | Matched drop name |
If amount is not a plain number, it is evaluated as an expression first. In that expression, %drop_amount%, %metadata_amount%, %generations%, and %tick% are available
Drop examples
Fixed exp
yaml
Drops:
- emakilevel_exp{type=combat;amount=50}Scale by drop amount
yaml
Drops:
- emakilevel_exp{type=main;amount=100;amount_formula="%amount% * %drop_amount%"}If MythicMobs passes a drop amount of 3, the final exp is 300
Boss scaling by generations
yaml
Drops:
- elv_exp{type=main;amount=200;amount_formula="%amount% + %generations% * 25";reason=boss_reward}Add exp without auto-upgrade
yaml
Drops:
- elv_exp{type=mining;amount=500;auto_upgrade=false;reason=event_reward}The exp remains in the current level until the player manually runs /elv levelup mining
Silent reward
yaml
Drops:
- elv_exp{type=combat;amount=25;silent=true;reason=mob_drop}Useful for frequent small mob rewards, avoiding excessive feedback when combined with actions
Choosing source rules or drops
| Method | Best for |
|---|---|
mythic_mob_kill source | Centralized exp rules by MythicMob ID inside EmakiLevel |
| MythicMobs drop | Rewards that should live with MythicMobs mob configs, drop tables, conditions, or groups |
If both are configured, one kill can grant both source exp and drop exp. A recommended split:
- Basic exp for normal MythicMob kills:
sources/mythicmobs.yml - Bosses, events, rare rewards, condition-based rewards: MythicMobs
Drops
Target restrictions
Failure handling: the custom drop target must resolve to a Bukkit Player. If MythicMobs gives the drop to a non-player entity, EmakiLevel skips it
Likewise, if the final formula result is less than or equal to 0, the exp grant is skipped