Audit pass 2: correct hooks, utilities, localization and module pages
- isNegaBetter makes NEGATIVE values win (the unlimited sentinel), not
lower ones; highest still wins among non-negatives. Also documents the
lowercase-key requirement, the -1-on-no-match return, and the int cast
that breaks getGroupValueDouble for fractions.
- Vault helpers are null-safe and return empty values rather than
failing. Conversely the engine's hook getters CAN be null even with the
plugin installed, since WorldGuard/Citizens/MythicMobs are hooked only
from the PluginEnableEvent path.
- PlayerUT.setExp adds to the current total rather than setting it;
setTotalExperience is the absolute form.
- LocUT.getFirstGroundBlock is not what /unstuck uses.
- MsgUT.isJSON checks for Codex's inline {json:} markup, not chat
components. sendTitles is deprecated.
- Debugger gates warn and err as well as log, and writes to System.out.
- Corrected EffectUT, RangeUtil, Zipper, NamespaceResolver and the
SoundUT/EnumUT rationale (registry-backed Keyed, not renamed constants).
- StringUT.replace returns a copy; the previous examples were no-ops.
- Localization: documents the two independent message systems sharing one
file, that language selection keys off general.lang rather than the
documented core.lang, and that the general.* set is never localised.
- Chat module does not persist data at all; documents the name-truncation
and reset bugs.
- Scoreboard module registers no boards of its own; /board list is
per-player; /board show requires lowercase and always reports failure.
- Join/interact: delays are cumulative, PlaceholderAPI is not expanded,
material and as are matched case-sensitively and fail silently, and
there is no click-type filter.
- Configuration: bungee_id is a server label not a channel, debug is
inert, removeBoatOnExit returns the boat to the player,
locale.world-names has no consumers, command-cooldown-message is
mccore-only, unstuck keys have no defaults.
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.