Skip to content

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 ​

ItemValue
Module version2.8.8
Jar nameEmakiSkills-2.8.8.jar
Maven coordinateemaki.jiuwu.craft:emaki-skills:2.8.8
API coordinateemaki.jiuwu.craft:emaki-skills-api:2.8.7
PlatformPaper 26.1 (api-version: "26.1", folia-supported: true)
Main command/emakiskills
Alias/eskills
Hard dependencyEmakiCoreLib
Soft dependenciesMythicMobs, EmakiAttribute, PlaceholderAPI, AuraSkills, MythicLib, MMOCore
Main permissionsemakiskills.use, emakiskills.reload, emakiskills.admin, emakiskills.debug

Module split ​

ModuleResponsibility
EmakiSkillsSkill definitions, slots, triggers, cooldowns, resources, upgrades, and player data
MythicMobsExecutes the actual skill effects such as damage, particles, summons, and movement
EmakiAttributeProvides attribute checks, resource checks, and resource consumption
EmakiItemItems may provide skill unlocks, triggers, or set skills
PlaceholderAPIDisplays 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
FieldTypeRequiredDefaultValuesDescription
versionstringNo"2.8.8"—Resource version, maintained by the resource sync flow; it is not a feature switch
languagestringNo"zh_CN"A file name under lang/ without .ymlLoads lang/<language>.yml as the source of player-visible text
release_default_databooleanNotruetrue / falseWhether bundled default skill data (example skills and so on) is released at startup
slots.default_countintegerNo3≥ 1, values below 1 become 1Default 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:

KeysDocumented on
skill_sources.*, skill_tags.equip_limitsDefinitions
triggers, passive_triggers, trigger_settings, passive_trigger_settings, cast_modeTriggers
actionbar, cast_timingAction bar
script_engineNative 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 ​

PageContent
CommandsGUI, cast mode, skill grant/revoke, level management, slot cleanup, and debug commands
DefinitionsActive/passive skills, resource consumption, upgrades, and config fields
TriggersActive triggers, passive triggers, conflicts, and combo configuration
Variable typesVariable types, fields, and runtime resolution
Native scriptingScript modes, stages, actions, limits, and target resolution
Action barAction bar templates, refresh intervals, and cast mode hints
PlaceholdersPlaceholderAPI output
CoreLib ActionsSkill cast, level, slot, cooldown, and manual unlock actions
APISkill API, external skill sources, and external skill-definition registration
Event APIBukkit 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 bridge
  • attribute-check: verify a certain attribute meets the requirement. Alias: ea-attribute-check
  • local-resource: use EmakiSkills' local resource definitions
  • auraskills-mana: use AuraSkills mana. Aliases: aura-skills-mana, aura-mana
  • mythiclib-mana: use MythicLib / MMOCore mana. Aliases: mmocore-mana, mythic-mana

Typical cast flow ​

  1. The player triggers an active or passive skill
  2. Skills checks whether the player owns the skill
  3. Skills checks skill level, slot, trigger, and conditions
  4. Skills checks cooldown and global cooldown
  5. Skills checks and consumes resources
  6. Skills runs the built-in script actions, the MythicMobs skill, or both, according to script.mode
  7. Skills writes cooldown, statistics, or upgrade progress
  8. 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