English
Commands and Permissions
EmakiStation registers its commands at runtime instead of declaring a commands: section in paper-plugin.yml, just like every other module in the series
Your main command is /emakistation, with the aliases /estation and /est. Run it without arguments, or with an unrecognised subcommand, and it prints the help text
Subcommands
| Usage | Permission | Description |
|---|---|---|
/emakistation | none | Print help |
/emakistation help | none | Same as no arguments; prints help |
/emakistation open <station> | emakistation.use + that station's access permission | Open the station window |
/emakistation dismantle <station> | emakistation.dismantle + that dismantle station's access permission | Open the dismantle window |
/emakistation queue | emakistation.use | View your own queue |
/emakistation claim | emakistation.use | Claim pending outputs |
/emakistation cancel <station> <index> | emakistation.use | Cancel a queue entry; the index starts at 1 |
/emakistation list [station] | emakistation.use | List stations, or the recipes of one station. Console is allowed |
/emakistation reload | emakistation.reload | Reload configuration, stations, recipes and GUI templates. Console is allowed |
/emakistation debug | emakistation.debug | Debug switches, with the same arguments as other modules' debug subcommand. Console is allowed |
/emakistation admin queue <player> | emakistation.admin | Inspect another player's queue, loading offline data asynchronously. The name must be present in the server cache, otherwise an unknown-player message is returned. Console is allowed |
You run open, dismantle, queue, claim and cancel as a player (the console gets a players-only message); list, reload, debug and admin also work from the console. Tab-completion offers 10 subcommands (help, open, dismantle, queue, claim, cancel, list, reload, debug, admin), and help only prints the help text
For the second argument, open, cancel and list complete to loaded crafting station ids, while dismantle completes to loaded dismantle station ids. The first-argument list also includes help; debug completions come from CoreLib's debug subcommand
Permission Nodes
Here are the permissions declared in paper-plugin.yml and their defaults:
| Permission | Default | Purpose |
|---|---|---|
emakistation.use | true | Use the station window and queue-related subcommands |
emakistation.purchase | true | Buy extra queue slots |
emakistation.dismantle | true | Use the dismantle window |
emakistation.reload | op | Reload configuration |
emakistation.debug | op | Debug switches |
emakistation.admin | op | Administrative operations |
Note that emakistation.purchase is deliberately not placed under emakistation.queue.*: that prefix is already taken by queue length tiers, and mixing the two would make the meanings hard to tell apart. To buy a slot you also need queue.purchase.enabled in config.yml and queue.allow_purchase on the station to both be true
Per-Station Access Permissions
Crafting stations and dismantle stations have separate access prefixes. Leave permission empty in the configuration and it falls back to a node derived from the id:
| Type | Configuration key | Fallback node when empty |
|---|---|---|
| Crafting station | permission in stations/<id>.yml | emakistation.access.<id> |
| Dismantle station | permission in stations_dismantle/<id>.yml | emakistation.dismantle.access.<id> |
You will not find these prefixes declared in the descriptor, because the node names depend on which stations you configure. To grant the example station and the example dismantle station:
text
emakistation.access.blacksmith
emakistation.dismantle.access.example_dismantleQueue Length Permission Tiers
With queue.permission_tiers enabled, the highest number among your emakistation.queue.<n> nodes wins, and <n> is the queue length. If you have no node under that prefix, base_length stays unchanged
text
emakistation.queue.8
emakistation.queue.16Holding both of the above yields 16. A permission tier replaces the base length, while paid queue slots stack on top of the effective tier, and the station's queue.max_length clamps the result
Threading
Every subcommand that touches your window or inventory first hops to your own owner thread, because a command can arrive from the console or from another player's thread. On Folia that is the entity scheduler owner; on Paper it is the main server thread