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.
Mark mccore-derived features as deprecated
Everything under studio.magemonkey.codex.mccore is legacy ProMCCore code
and should not be used in new setups or new plugin code.
- Chat Module and Scoreboard Module pages get deprecation banners and are
grouped separately in the sidebar and on Home
- Features.chat-enabled / scoreboards-enabled documented as deprecated,
with the sample config now showing them disabled
- file-timings noted as read only by the legacy config layer, so it has
no effect on JYML-based configs
- Developer Getting Started now documents JYML as the config API and
flags getConfigFile/registerConfig as returning the deprecated mccore
Config type
- Added a legacy-package table mapping each mccore subpackage to its
current replacement, including the mccore.commands vs codex.commands
naming overlap
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.