Skip to content

DzusillCore 1.14.0 — Command Registry, Message Channels & White-Label Builds

Latest

Choose a tag to compare

@dzusill dzusill released this 26 Aug 13:18

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 /home after
    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.owns for 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.name property. 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.