Skip to main content

Changelog

Newest first. See the GitHub releases for the full notes and downloads.

1.0.3 — unreleased​

In development. Everything in this section is only in this version — none of it is in 1.0.2, so code written against these names will not compile on the current release.

Renamed (old names kept as deprecated delegates — see Migrating)

  • registerCommand → trackCommand, registerCommands → flushRegistrations. The old names implied server registration that registerCommand never performed.
  • unregisterCommands() → unregisterReloadableCommands(), which is what it always did.
  • getPlayer() → getSenderAsPlayer(), and resolvePlayer(name) added for reading a player argument — separating "the sender" from "an argument".

Added

  • unregisterAll(Plugin) and unregisterAll().
  • PluginLogger.

Fixed

  • Registration and lifecycle bugs around datapack reloads, where a stale registration map made every COMMANDS event after the first a no-op.
  • Thread-safety in the command manager, plus input validation.

1.0.2 — OfflinePlayerCache & OfflinePlayer argument​

Current release.

Added

  • OfflinePlayerCache, an optional UUID ↔ name cache with install / uninstall and a builder for owning the lifecycle yourself.
  • OfflinePlayerArgument, using that cache for tab-completion.

Commands work without the cache installed; they just do not complete offline player names.

No Javadoc for this release

1.0.2 was published before the source and Javadoc jars were wired into the build, so JitPack has only the main jar for it. The Javadoc link will not resolve until the next release.

1.0.1 — Fix JitPack publish​

Packaging fix only, no API change.

1.0.0 — Command framework overhaul​

The release that established the framework: BaseCommand / SubCommand / CommandDispatch, the Flags API, requirements and the builder.

Registration at this point was registerCommand / registerCommands, and the only player accessor was getPlayer().

v0.0.1​

First tag. Superseded by 1.0.0; no compatibility guarantees.

These docs describe 1.0.3

Versioning is wired up, but no version has been frozen yet — so everything here describes 1.0.3 as it is being developed, not the released 1.0.2. Where the two differ, the difference is called out on the page.

Once 1.0.3 is tagged, a snapshot is cut automatically and a version dropdown appears in the navbar for reading older releases.