English
Commands and Permissions
EmakiSkills exposes commands and permission nodes for players and for administrators alike
The main command of EmakiSkills is /emakiskills, with /eskills as an alias. Players use it to open the skill GUI, toggle cast mode, and upgrade skills; administrators use it for level management, granting or revoking skills, slot cleanup, profile inspection, skill-source resync, and reloading configuration
Command registration
| Item | Value |
|---|---|
| Main command | /emakiskills |
| Alias | /eskills |
| Command permission | emakiskills.use |
| Help | /eskills or /eskills help |
Keep one rule in mind: the whole command sits behind emakiskills.use. Without it, no subcommand runs, including help, so the emakiskills.admin fallbacks inside subcommands are never reached. That permission defaults to true, so the only players it blocks are those a permission plugin has explicitly negated
Commands
| Command | Permission | Description |
|---|---|---|
/eskills help | Command permission | Print the command help list. Also shown when running /eskills with no arguments. The help branch adds no extra check |
/eskills gui | emakiskills.use or emakiskills.admin | Open the skill GUI. Non-player senders are told the command is player-only |
/eskills castmode <on|off|toggle> | emakiskills.use or emakiskills.admin | Enable, disable, or toggle cast mode |
/eskills upgrade <skill> | emakiskills.use or emakiskills.admin | Try to upgrade a skill; feedback comes from the upgrade.* keys |
/eskills level get <player> <skill> | emakiskills.admin | Get a player's skill level |
/eskills level set <player> <skill> <value> | emakiskills.admin | Set a player's skill level |
/eskills level add <player> <skill> <value> | emakiskills.admin | Add levels to a player's skill |
/eskills grant <player> <skill> | emakiskills.admin | Write the skill into the player's manual learned set and persist it to manual_skill_ids in data/<uuid>.yml. Replies skill.not_found when the target skill id has no definition (YAML or externally registered) |
/eskills revoke <player> <skill> | emakiskills.admin | Remove the skill from the player's manual learned set and persist it. Also replies skill.not_found when the target skill id has no definition |
/eskills list [player] | emakiskills.use or emakiskills.admin | Read-only listing of the player's learned skills and slot bindings; the player may be omitted to target yourself |
/eskills reset <player> | emakiskills.admin | Clear the player's manually learned skills; slot bindings are untouched |
/eskills clearslot <player> <slot> | emakiskills.admin | Clear a player's skill slot binding |
/eskills inspect [player] | emakiskills.use or emakiskills.admin | Inspect the profile and the bound trigger of each slot |
/eskills resync [player] | emakiskills.admin | Validate and resync the player's skill slot bindings. The player may be omitted to target yourself |
/eskills debug [status|on|off|player|module] [...] | emakiskills.debug or emakiskills.admin | Print or toggle debug state. Skill modules are cast, unlock, upgrade, and slot |
/eskills reload | emakiskills.reload or emakiskills.admin | Asynchronously reload skills, resources, GUI, language, and main configuration, then report the elapsed time |
If you type an unknown subcommand, it replies with general.unknown_command. level and clearslot also check the argument count and require an integer value / slot, otherwise they reply with general.invalid_args
Tab completion
| Position | Suggestions |
|---|---|
| First argument | The fourteen subcommand literals |
castmode argument 2 | on, off, toggle |
upgrade argument 2 | Skills the player has unlocked, has upgrades enabled for, and has not maxed; from console, all skill ids |
level argument 2 | get, set, add |
clearslot / grant / revoke / list / reset / inspect / resync argument 2, level argument 3 | Online player names |
grant / revoke argument 3 | All skill ids |
clearslot argument 3 | Slots 0~8 |
level argument 4 | All skill ids |
level set/add argument 5 | 1, 2, 5, 10 |
Permissions
| Permission | Default | Description |
|---|---|---|
emakiskills.use | true | Allows basic skill usage, GUI access, cast mode switching, and casting; also the command registration permission |
emakiskills.reload | op | Allows reloading configuration |
emakiskills.admin | op | Allows level management, slot clearing, resync, and acts as an administrative fallback for basic features |
emakiskills.debug | op | Allows debug output |
Which command first
| Symptom | Run first | Purpose |
|---|---|---|
| A player wants to view or bind skills | /eskills gui | Open the skill interface |
| An active skill cannot be cast | /eskills inspect [player] | Check whether the profile is loaded and which trigger each slot has bound |
| Skills did not refresh after an equipment change | /eskills resync <player> | Re-scan skill sources |
| A skill level looks wrong | /eskills level get <player> <skill> | Confirm the stored level |
| A slot is bound to a deleted skill | /eskills clearslot <player> <slot> | Clear that slot |
| You need to grant or revoke a skill directly | /eskills grant / /eskills revoke | Write or remove the player's manually learned skills |
| Skills, resources, or GUI files changed | /eskills reload | Reload the runtime configuration |
Common operations
Open the skill GUI
text
/eskills guiOnce the skill GUI is open, you can see unlocked skills, skill levels, slot bindings, the upgrade entry, and the trigger-selection entry
Toggle cast mode
text
/eskills castmode toggle
/eskills castmode on
/eskills castmode offCast mode decides whether active skills can trigger. In the default configuration you press the F key to enter or leave cast mode; whether the state survives a rejoin is controlled by cast_mode.restore_last_state_on_join
Manage skill levels
text
/eskills level get Steve fireball
/eskills level set Steve fireball 3
/eskills level add Steve fireball 1Level changes feed straight into skill parameters, resource costs, script variables, and upgrade checks. Levels are clamped into [1, max_level]; a skill without upgrades enabled has a maximum of 1. Run inspect afterwards to confirm the stored value
Grant and revoke skills
text
/eskills grant Steve fireball
/eskills revoke Steve fireballgrant writes the skill into the player's manual learned set and revoke takes it back out. Both require the target skill id to be defined (a YAML skill under skills/ or an externally registered definition), otherwise they reply skill.not_found. The result is persisted to manual_skill_ids in data/<uuid>.yml
List a player's learned skills
text
/eskills list
/eskills list SteveRead-only listing of the player's learned (manually unlocked) skills and slot bindings; omit the player to target yourself
Reset manually learned skills
text
/eskills reset SteveThis clears only the player's manually learned skills, touching just manual_skill_ids; slot bindings stay as they are, so reach for clearslot when you need to clear a slot
Clear a slot
text
/eskills clearslot Steve 1Reach for this command when a slot points at a deleted skill, a trigger conflicts, or the GUI cannot unbind. An invalid slot is rejected by the state service and reports failure
Resync skill sources
text
/eskills resync SteveRun it in these situations:
- Equipment-provided skills did not refresh after an equipment change
- EmakiItem set or item effects changed
- An external module granted or removed a skill source
- Online players need a refresh after a config reload
Print debug information
text
/eskills debug
/eskills debug status
/eskills debug on
/eskills debug off
/eskills debug player Steve
/eskills debug module cast| Subcommand | Description |
|---|---|
status | Print the current debug state and tracked players. debug with no arguments prints the same status, and any unrecognized subcommand falls back to it |
on / off | Enable or disable all debug output |
player <player> | Track debug output for one player |
module <module> | Toggle a single debug module. Skill modules are cast, unlock, upgrade, and slot; shared modules are action, item_operation, variables, placeholder, gui, and chat_input |
Note: the in-game help text prints debug <status|player|module|all> [...]; the subcommands above are the actual ones
Troubleshooting
- Skills do not appear: check that the definition loaded, that you own a skill source, and that the level is greater than 0
- A skill cannot be cast: check cast mode, trigger binding, cooldowns, the global forced delay, resource costs, and conditions
- Passive skills do not fire: check
trigger_type: passive,passive_triggers, and that the passive trigger is enabled globally - Binding fails in the GUI: check whether the trigger is disabled, conflicts with an existing binding, or the slot index is invalid
- A MythicMobs skill has no effect: check that MythicMobs is installed, the skill ID is correct, and the script mode is
mythicorhybrid - Players see no failure reason: messages come from
lang/<language>.yml; confirm that key exists instead of editing the internal reason key