CommandAPI

CommandAPI

Plugin

An API to use the command UI introduced in Minecraft 1.13

Server LibraryUtility

27.8k downloads
78 followers
Follow Save
Filter loader...
Filter versions...

Minecraft Version Changes

  • Adds support for Minecraft 1.21.9 and 1.21.10
  • Drops support for Minecraft 1.20.5 and below on Paper

Bug Fixes

  • #631 Fixes unregistered commands reappearing after a minecraft:reload. This comes with some other notable changes around command registrations and unregistrations. You can read about these on the command unregistration page in the documentation.
  • #608 The RecipeArgument no longer throws any exceptions on Spigot
  • #494, #503 Fixes the ConcurrentModificationException from happening when registering/unregistering commands at runtime

Module Changes

  • #414, #517 Splits up the CommandAPI into modules specific for Paper and Spigot:
  • Removes the commandapi-bukkit-shade module and the commandapi-bukkit-shade-mojang-mapped module
  • Adds the commandapi-paper-core and the commandapi-paper-shade modules which are made to work on Paper
  • Adds the commandapi-spigot-core and the commandapi-spigot-shade modules which are made to work on Spigot
  • Adds the commandapi-paper-test-toolkit and the commandapi-spigot-test-toolkit which are replacing commandapi-bukkit-test-toolkit for Paper and Spigot respectively
  • Moves and adds a few Kotlin DSL modules:
    • commandapi-core-kotlin -> commandapi-kotlin-core
    • commandapi-bukkit-kotlin -> commandapi-kotlin-bukkit
    • commandapi-velocity-kotlin -> commandapi-kotlin-velocity
    • Newly added: commandapi-kotlin-paper
    • Newly added: commandapi-kotlin-spigot

New features

  • On Paper it is now possible to register commands at bootstrap

API Changes

  • Changes the CommandAPIBukkitConfig class into an abstract one in favour of the newly added CommandAPIPaperConfig or CommandAPISpigotConfig classes, depending on the modules you use
  • The FloatRangeArgument has been renamed to DoubleRangeArgument and now returns a DoubleRange
  • The PlayerArgument and OfflinePlayerArgument have been replaced by the PlayerProfileArgument which returns a List<PlayerProfile>. The PlayerProfile class changes depending on if you are on Paper or on Spigot. Use the EntitySelectorArgument.OnePlayer if you want a Player object.
  • The AsyncOfflinePlayerArgument has been replaced by the AsyncPlayerProfileArgument
  • The ChatArgument, ChatComponentArgument and ChatColorArgument do no longer have any Adventure prefixes and return different types depending on the platform.
  • The ChatArgument returns a SignedMessage object on Paper. Also resolves #381
  • The BlockStateArgument now returns a BlockState object instead of a BlockData object

Config Changes

  • Replaces the use-latest-nms-version and be-lenient-for-minor-versions config options with a fallback-to-latest-nms config option:
    • When loading the CommandAPI and this config option is set to true it will first check if the current version is supported and chooses that
    • In case the current version isn't a supported version, the CommandAPI will choose the latest nms version available which might or might not work correctly
    • This config option is set to true by default on Paper and false on Spigot

Minecraft version changes

  • Adds support for Minecraft 1.21.8

Minecraft version changes

  • Adds support for Minecraft 1.21.7

Minecraft version changes

  • Adds support for Minecraft 1.21.6

Bug fixes

  • Fixes command unregistration not working on Paper
  • #645 Ignore requirements for null senders

Minecraft Version Changes

  • Adds support for Minecraft 1.21.5
  • Drops support for Minecraft 1.16.5 - 1.19.4

Java Version Changes

  • Changes CommandAPI from Java 16 to Java 17 (LTS)

New features

  • #633 Adds an AsyncOfflinePlayerArgument to allow asynchronous fetching of an offline player

Bug fixes

  • #477 Fixed NativeProxyCommandSender not being able to run Vanilla (and CommandAPI) commands
  • #578, #583, #629 Fixes Bukkit#dispatchCommand() not working after Paper's Brigadier API changes
  • Fixes PotionEffectArgument.NamespacedKey not having suggestions in some versions

New changes

  • #636 The default namespace has been updated from minecraft to the plugin's name. If you are not shading, the default namespace is going to be commandapi. If you are shading, the default namespace is going to be your plugin's name.
  • Updates the config defaults for the datapack reloading step to be opt-in instead of opt-out.
  • The CommandAPI will now tell you if you've messed up mappings (in addition to spewing messy errors)
  • #634 Functions that use Component have now been changed to use ComponentLike
  • Added support for Velocity!

Website Changes

Minecraft version changes

  • Adds support for Minecraft 1.21.4

New features

  • #575 Adds a NMS independent test toolkit to allow developers to test their commands with MockBukkit
  • #613 Adds a thenNested method for CommandTrees to reduce nesting in code

Project members

JorelAli

Owner

Details

Licensed MIT
Created 3 years ago
Updated a month ago