Six releases of command-registry and messaging work, plus a white-label build.
Install: drop DzusillCore-1.14.0.jar into plugins/. Every plugin built on
the framework needs it — it is free and it is the only dependency they share.
Commands
The registry now defends the names it registers, which is most of this release.
- Self-heals against late takeovers. A plugin that registers
/homeafter
us used to win silently; the name kept working when typed but tab completion
answered to whoever registered last. The registry now notices and takes its
name back. - Owns the name properly, so a client is told the command exists rather than
discovering it only after typing it. - Tab completion fires on the event a player's client actually sends — the
previous event was the right one on paper and the wrong one in game. - Partial player names complete, including names captured mid-argument.
CommandRegistry.ownsfor plugins that need to inspect who holds a name
before registering.
Two fixes worth naming because they were the same bug twice: a self-heal loop
raced Paper's own command builder at startup, and then a player joining
re-triggered the rebuild. Both are gone.
Messages
- Channels and sounds per kind of message. A server owner can send every
error to the action bar with one sound and every confirmation to chat with
another, without the plugin knowing anything about it.
Config
- New keys reach curated sections. A config an owner had reorganised stopped
receiving new keys on upgrade; they now land in the section the owner kept.
Builds
- White-label builds through a
plugin.nameproperty. A client build
overrides the name and description from a Maven profile and changes nothing
else — same package, same API, same relocations. A plugin compiled against the
standard artifact runs on the rebranded jar unchanged.
Upgrading
Drop-in from 1.8.0. No configs to migrate and no API removed that a plugin built
against 1.8.0 was using.