Commands
EmakiCodex uses /codex as its main command and /ecodex as an alias. Documentation examples use /codex.
The Paper command entry itself requires emakicodex.use; administrative subcommands then check the matching reload, debug, or admin permission.
Command list
| Command | Permission | Description |
|---|---|---|
/codex | emakicodex.use | Shows help. |
/codex help | emakicodex.use | Shows help. |
/codex reload | emakicodex.reload or emakicodex.admin | Reloads config, language files, and advancement pages, re-registers advancements, and tries to resync online players. |
/codex grant <player> <advId> | emakicodex.admin | Grants one Codex node to an online player. |
/codex revoke <player> <advId> | emakicodex.admin | Revokes one Codex node from an online player. |
/codex debug ... | emakicodex.debug or emakicodex.admin | Manages the advancement debug module. Detailed subcommands are provided by CoreLib DebugCommand. |
Examples
text
/codex
/codex help
/codex reload
/codex grant Steve example/first_step
/codex grant Steve emakicodex:example/challenge
/codex revoke Steve example/first_step
/codex debug advancement on
/codex debug advancement offgrant and revoke require the target player to be online because the current implementation matches online player names exactly. advId supports two forms:
| Form | Example | Description |
|---|---|---|
page/node | example/first_step | Recommended short form for server administrators. |
| Full NamespacedKey | emakicodex:example/first_step | Matches the underlying vanilla advancement key. |
Reload behavior
/codex reload performs these operations:
- Releases missing default resources, controlled by
config.yml > release_default_data. - Reloads
config.yml,lang/*.yml, andadvancements/*.yml. - Removes and re-registers dynamic advancements under the EmakiCodex namespace.
- If PacketEvents is available, re-pushes the tree to online players; otherwise online players may need to reconnect to see UI changes.
Permission nodes
| Permission | Default | Covers |
|---|---|---|
emakicodex.use | true | Use the /codex command entry and help. |
emakicodex.reload | op | Use /codex reload. Can be replaced by emakicodex.admin. |
emakicodex.debug | op | Use /codex debug .... Can be replaced by emakicodex.admin. |
emakicodex.admin | op | Use grant/revoke admin commands and act as reload/debug override. |
Common LuckPerms examples:
text
/lp group default permission set emakicodex.use true
/lp group admin permission set emakicodex.admin true
/lp group admin permission set emakicodex.reload true
/lp group admin permission set emakicodex.debug trueCommon failure cases
| Case | Explanation |
|---|---|
Player not found | The grant / revoke target is offline, or the name is not an exact match. |
Advancement ... is not registered or unchanged | The advancement ID is wrong, the page failed to load, or the player's progress did not change. |
| Online players cannot see new nodes after reload | PacketEvents is missing or resync failed; players should reconnect. |
| Node coordinates do not apply | PacketEvents must be installed and advancement.packet-coordinates: true must be enabled. |