English
EmakiSkills
EmakiSkills (the skills module) covers how skills unlock, how they go into skill slots, when a cast is allowed, what it costs, how leveling works, and where your data is stored
Who runs the skill effect after a cast depends on the script.mode switch: native uses the built-in script system (script_engine.default_mode is native by default and needs no external plugin), mythic hands execution to MythicMobs, and hybrid runs both
Module facts
| Item | Value |
|---|---|
| Module version | 2.8.8 |
| Jar name | EmakiSkills-2.8.8.jar |
| Maven coordinate | emaki.jiuwu.craft:emaki-skills:2.8.8 |
| API coordinate | emaki.jiuwu.craft:emaki-skills-api:2.8.7 |
| Platform | Paper 26.1 (api-version: "26.1", folia-supported: true) |
| Main command | /emakiskills |
| Alias | /eskills |
| Hard dependency | EmakiCoreLib |
| Soft dependencies | MythicMobs, EmakiAttribute, PlaceholderAPI, AuraSkills, MythicLib, MMOCore |
| Main permissions | emakiskills.use, emakiskills.reload, emakiskills.admin, emakiskills.debug |
Module split
| Module | Responsibility |
|---|---|
| EmakiSkills | Skill definitions, slots, triggers, cooldowns, resources, upgrades, and player data |
| MythicMobs | Executes the actual skill effects such as damage, particles, summons, and movement |
| EmakiAttribute | Provides attribute checks, resource checks, and resource consumption |
| EmakiItem | Items may provide skill unlocks, triggers, or set skills |
| PlaceholderAPI | Displays skill state, cooldowns, levels, and more |
Default runtime folder
text
plugins/EmakiSkills/
├── config.yml
├── skills/
├── resources/
├── gui/
│ ├── skills_gui.yml
│ ├── trigger_select_gui.yml
│ └── upgrade_gui.yml
├── data/
└── lang/Top-level config.yml keys
The top level of config.yml stays short: only the version, language, and default-data release switches plus one slots block. The remaining keys live on the feature pages below
yaml
# version is maintained by resource syncing and is not a feature switch
version: "2.8.8"
# Language file name, resolved as lang/<language>.yml
language: "zh_CN"
# Whether to release the plugin's bundled default skill data at startup
release_default_data: true
slots:
# Default skill slot count; values below 1 are treated as 1
default_count: 3| Field | Type | Required | Default | Values | Description |
|---|---|---|---|---|---|
version | string | No | "2.8.8" | — | Resource version, maintained by the resource sync flow; it is not a feature switch |
language | string | No | "zh_CN" | A file name under lang/ without .yml | Loads lang/<language>.yml as the source of player-visible text |
release_default_data | boolean | No | true | true / false | Whether bundled default skill data (example skills and so on) is released at startup |
slots.default_count | integer | No | 3 | ≥ 1, values below 1 become 1 | Default skill slot count per player; drives the %slot_1%~%slot_n% range in the action bar and the baseline for %emakiskills_slot_count% |
Where the other keys live:
| Keys | Documented on |
|---|---|
skill_sources.*, skill_tags.equip_limits | Definitions |
triggers, passive_triggers, trigger_settings, passive_trigger_settings, cast_mode | Triggers |
actionbar, cast_timing | Action bar |
script_engine | Native scripting |
Config precheck
Loading checks that config.yml, skills/, resources/, and gui/ exist and parse, and compiles script action lines to report diagnostics. A warning is raised when both skill_sources sides are off, or when require_lore_pdc_match is on with only one side enabled
Pages
| Page | Content |
|---|---|
| Commands | GUI, cast mode, skill grant/revoke, level management, slot cleanup, and debug commands |
| Definitions | Active/passive skills, resource consumption, upgrades, and config fields |
| Triggers | Active triggers, passive triggers, conflicts, and combo configuration |
| Variable types | Variable types, fields, and runtime resolution |
| Native scripting | Script modes, stages, actions, limits, and target resolution |
| Action bar | Action bar templates, refresh intervals, and cast mode hints |
| Placeholders | PlaceholderAPI output |
| CoreLib Actions | Skill cast, level, slot, cooldown, and manual unlock actions |
| API | Skill API, external skill sources, and external skill-definition registration |
| Event API | Bukkit events and interception points across the skill flow |
Skill types
Active skills
Active skills are cast by the player, by hand, through a skill slot, command, GUI, or cast mode. What you usually configure:
- MythicMobs skill ID
- Cooldown
- Global cooldown
- Resource consumption
- Condition checks
- Skill level and parameters
Passive skills
Passive skills need no input from the player; game events fire them on their own, such as attack, being hit, kill, movement, or block. All you do is configure the trigger and conflict handling
Cast mode
Cast mode is a switch: the player can only cast while in the right state. Because the client-side G key cannot be observed natively by the server, skill triggers rely on server-visible behavior such as commands, GUI, F key item swap, or interaction events
Resource system
Skills use several kinds of resources; each one can either be consumed or only checked:
ea-resource: consume Attribute resources through the EmakiAttribute bridgeattribute-check: verify a certain attribute meets the requirement. Alias:ea-attribute-checklocal-resource: use EmakiSkills' local resource definitionsauraskills-mana: use AuraSkills mana. Aliases:aura-skills-mana,aura-manamythiclib-mana: use MythicLib / MMOCore mana. Aliases:mmocore-mana,mythic-mana
Typical cast flow
- The player triggers an active or passive skill
- Skills checks whether the player owns the skill
- Skills checks skill level, slot, trigger, and conditions
- Skills checks cooldown and global cooldown
- Skills checks and consumes resources
- Skills runs the built-in script actions, the MythicMobs skill, or both, according to
script.mode - Skills writes cooldown, statistics, or upgrade progress
- Skills sends feedback to the player
When a cast fails, the player-facing message comes from keys such as cast.* in lang/<language>.yml; the internal reason key is never shown to players