Audit pass 3: rewrite remaining pages from audit findings
Rewrites rather than spot-fixes, since the affected pages had errors
throughout.
Actions Engine: documents that flag names must be lowercase (camelCase
flags are silently ignored), that targets are mandatory and not inherited
across GOTO or actions-on-fail, comparison operators and the EQUALS
default, ~filter semantics, PERMISSION negation, and that VAULT_BALANCE
fails open without Vault. Corrects HOOK (a velocity action, not a plugin
hook), the ~location/~speed/~message/~amount/~name usage columns, and
SELF's parameters. All examples reworked to actually run.
Version Support: replaces the range with the exact version-to-module
table, lists the explicitly rejected versions, and states that an
unsupported version disables the plugin.
Installation: ProMCCore data folder IS migrated automatically; splits
declared soft-dependencies from runtime-only detection; notes the
paper-plugin.yml load-before block is likely inert; corrects the Citizens
and WorldGuard descriptions.
Developer Getting Started: depend is CodexCore, not Codex; the
CodexPlugin example now implements all six abstract methods; hasEditor is
not an override; JYML lives in codex-plugin and loadOrExtract throws a
checked exception; getConfigFile appends .yml itself and its documented
auto-save does not exist; mccore.gui has no replacement.
Menus: documents the getPages off-by-one and the negative-modulo blank
page, that nav buttons need placing per page, that onClose must call
super, and that YAMLMenu is not a Menu subclass.
Compat and NMS: ArmorUtil is an armor-trim shim and a no-op before
1.19.4, unrelated to ArmorEquipEvent. Adds the missing NMS methods, the
NBTAttribute parameter type, and the codex-core dependency step.
Events: adds DROP and CONSUME, marks DEATH as never fired, notes BROKE
cannot be cancelled, that only outbound packets are intercepted and
EngineServerPacketEvent is never fired, and that IEvent/ICancellableEvent
are abstract classes which ArmorEquipEvent does not use.
Item Providers: isCustomItem and isCustomItemOfId are currently unusable;
getMainItemType is effectively never null; Nexo's exception behaviour
differs; documents both stripPrefix methods.
Also cross-references the casing trap between the two ~flag: value;
parsers, which disagree.
Audit pass 1: correct permission prefix, data folder, and reload behaviour
Findings from a source audit of the wiki's factual claims.
- Permission prefix is codexcore., not codex. The plugin's declared name
is CodexCore (plugin.yml name: ${project.name}, module <name>), so
getNameRaw() yields codexcore. codex.stuck is unaffected: it is a
hardcoded literal.
- The onInteract bypass node is general.oninteract.bypass. The shipped
config.yml comment naming core.oninteract.bypass is itself wrong.
- Data folder is plugins/CodexCore/, not plugins/Codex/. Corrected on
every page.
- /stuck has no executor bound; only /unstuck works, and on Paper the
label does not exist at all. Documented as a known defect.
- /codex reload does not re-read config.yml from disk on the engine; it
re-applies the in-memory document. Restart is required for any change.
- core.lang is injected but never consumed; general.lang is the key that
selects the language file.
- Derived permission nodes are undeclared and fall back to Bukkit's
op-only default rather than declaring one.
- Wildcard grants depend on the permission plugin; Codex registers no
parent permissions.
Expand wiki from single page to full documentation set
The wiki previously consisted of one Home page covering a stale command
list and a config.yml dump. This replaces it with 20 pages covering the
plugin as it actually exists.
Corrections to previously documented content:
- /corereload no longer exists; the command is /codex reload
- command-aliases default is codex,codexengine,codexcore
- bungee_id default is codexcore
- documented previously missing keys: file-timings, action-bar-legacy
New server-owner pages: Installation, Configuration, Commands,
Permissions, Join and Interact Commands, Chat Module, Scoreboard Module,
Localization, Version Support.
New developer pages: Developer Getting Started, Actions Engine, Item
Providers, Menus and GUIs, Compat and NMS, Hooks, Events, Utilities.
Adds _Sidebar.md and _Footer.md for persistent navigation.