-
Notifications
You must be signed in to change notification settings - Fork 14
Permissions
| Node | Default | Grants |
|---|---|---|
codexcore.user |
undeclared (op) | /codex help |
codexcore.admin |
undeclared (op) | /codex reload |
codexcore.cmd.editor |
undeclared (op) | /codex editor |
codex.stuck |
everyone | /unstuck |
general.oninteract.bypass |
undeclared (op) | Exempts the holder from onInteract triggers |
Command permissions are derived from the plugin's name, and the plugin is named CodexCore —
plugin.ymlusesname: ${project.name}, and the Maven module's<name>isCodexCore. So the derived nodes arecodexcore.user,codexcore.admin, andcodexcore.cmd.editor.
codex.stuckis the exception: it is a hardcoded literal, not derived, so it really iscodex.
Only codex.stuck is actually declared, in both plugin.yml and paper-plugin.yml, with
default: true. Nothing else is declared in either file or registered programmatically.
The other four fall through to Bukkit's default for unregistered permissions, which is op-only. That usually produces the behaviour you want, but it is a fallback rather than a stated default — permission plugins that do not consult Bukkit's fallback may treat them differently. Grant them explicitly rather than relying on op.
codex.stuck is the only node granted to all players by default. Revoke it explicitly if you do not
want /unstuck generally available:
# In your permission plugin
codex.stuck: falsePlayers holding this node do not trigger onInteract command blocks. This is meant for staff, so
that admins clicking on configured blocks while building do not fire the attached commands. See
Join and Interact Commands.
⚠️ The comment in the shippedconfig.ymlnames thiscore.oninteract.bypass. That comment is wrong — the node the code checks isgeneral.oninteract.bypass.
Individual onInteract entries can also carry their own permission option, checked in addition to
the bypass node.
⚠️ Part of the legacy mccore codebase. Deprecated — see Chat Module.
Active only when Features.chat-enabled is true.
| Node | Grants |
|---|---|
general.chat.list |
/chat list |
general.chat.name |
/chat name |
general.chat.prefix |
/chat prefix |
general.chat.reset |
/chat reset |
These are complete node strings, not suffixes.
Codex does not register
general.chat.*as a parent permission, and Bukkit will not expand it. Whether a wildcard grant works depends entirely on your permission plugin — LuckPerms expands wildcards at query time, others do not. Grant the four nodes individually if yours does not.
⚠️ Part of the legacy mccore codebase. Deprecated — see Scoreboard Module.
Active only when Features.scoreboards-enabled is true.
| Node | Grants |
|---|---|
general.board.cycle |
/board cycle |
general.board.list |
/board list |
general.board.show |
/board show |
general.board.stop |
/board stop |
general.board.toggle |
/board toggle |
These are complete node strings, not suffixes. The same wildcard caveat as above applies.
Codex derives command permissions from the plugin's own name, lowercased with spaces and hyphens
stripped. Because the engine's plugin name is CodexCore, that produces the codexcore. prefix:
| Command | Node pattern | Resolves to |
|---|---|---|
help |
<plugin>.user |
codexcore.user |
reload |
<plugin>.admin |
codexcore.admin |
editor |
<plugin>.cmd.editor |
codexcore.cmd.editor |
The same pattern applies to every plugin built on Codex, so a plugin whose declared name is Fabled
gets fabled.admin. Note the transformation only removes spaces and hyphens — it does not shorten
the name, which is exactly why the engine's nodes are codexcore. and not codex. Check your own
plugin's declared name: rather than assuming. See Developer Getting Started.
Default players
- codex.stuckStaff
- codex.stuck
- codexcore.user
- general.oninteract.bypassAdd general.chat.* and general.board.* only if you are still running the deprecated chat and
scoreboard modules.
Administrators
- codexcore.admin
- codexcore.cmd.editorNote that codexcore.admin grants config reloading, and codexcore.cmd.editor grants access to the
in-game editor, which can rewrite plugin configuration files. Treat both as administrative.
Source · Issues · Discord · Maven repo
Server Owners
- Installation
- Configuration
- Commands
- Permissions
- Join and Interact Commands
- Localization
- Version Support
Deprecated
-
Chat Module
⚠️ -
Scoreboard Module
⚠️
Developers