12.1.0latest4 weeks ago Minecraft Version Changes
- Adds support for Minecraft 26.312.0.0Jul 28, 2026 Minecraft Version Changes
- Adds support for Minecraft 26.211.2.0CommandAPI 11.2.0Apr 1, 2026 Minecraft Version Changes
- Adds support for Minecraft 26.1Bug Fixes
- Fixes multiple issues with command registration at bootstrap11.1.0CommandAPI 11.1.0 (Paper)Dec 16, 2025 Minecraft Version Changes
- Adds support for Minecraft 1.21.11Bug Fixes
- Fixes replacing a command by callingCommandAPI.unregister()not working under certain circumstances - Fixes custom namespaces not working - Fixes an issue where registering or unregistering many commands at runtime could time out the serverNew Features
- [#642](https://github.com/CommandAPI/CommandAPI/pull/642) Adds theenable-networkingand themake-networking-exceptions-warningconfig options. You can read more about them in the documentation.11.0.0CommandAPI 11.0.0 (Paper)Oct 4, 2025 Minecraft Version Changes
- Adds support for Minecraft 1.21.9 and 1.21.10 - Drops support for Minecraft 1.20.5 and below on PaperBug Fixes
- [#631](https://github.com/CommandAPI/CommandAPI/issues/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](https://github.com/CommandAPI/CommandAPI/issues/608) The RecipeArgument no longer throws any exceptions on Spigot - [#494](https://github.com/CommandAPI/CommandAPI/issues/494), [#503](https://github.com/CommandAPI/CommandAPI/issues/503) Fixes the ConcurrentModificationException from happening when registering/unregistering commands at runtimeModule Changes
- [#414](https://github.com/CommandAPI/CommandAPI/issues/414), [#517](https://github.com/CommandAPI/CommandAPI/issues/517) Splits up the CommandAPI into modules specific for Paper and Spigot: - Removes thecommandapi-bukkit-shademodule and thecommandapi-bukkit-shade-mojang-mappedmodule - Adds thecommandapi-paper-coreand thecommandapi-paper-shademodules which are made to work on Paper - Adds thecommandapi-spigot-coreand thecommandapi-spigot-shademodules which are made to work on Spigot - Adds thecommandapi-paper-test-toolkitand thecommandapi-spigot-test-toolkitwhich are replacingcommandapi-bukkit-test-toolkitfor 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-spigotNew features
- On Paper it is now possible to register commands at bootstrapAPI Changes
- Changes theCommandAPIBukkitConfigclass into an abstract one in favour of the newly addedCommandAPIPaperConfigorCommandAPISpigotConfigclasses, depending on the modules you use - TheFloatRangeArgumenthas been renamed toDoubleRangeArgumentand now returns aDoubleRange- ThePlayerArgumentandOfflinePlayerArgumenthave been replaced by thePlayerProfileArgumentwhich returns aList<PlayerProfile>. ThePlayerProfileclass changes depending on if you are on Paper or on Spigot. Use theEntitySelectorArgument.OnePlayerif you want aPlayerobject. - TheAsyncOfflinePlayerArgumenthas been replaced by theAsyncPlayerProfileArgument- TheChatArgument,ChatComponentArgumentandChatColorArgumentdo no longer have any Adventure prefixes and return different types depending on the platform. - TheChatArgumentreturns aSignedMessageobject on Paper. Also resolves [#381](https://github.com/CommandAPI/CommandAPI/issues/381) - TheBlockStateArgumentnow returns aBlockStateobject instead of aBlockDataobjectConfig Changes
- Replaces theuse-latest-nms-versionandbe-lenient-for-minor-versionsconfig options with afallback-to-latest-nmsconfig 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 Spigot10.1.2CommandAPI 10.1.2 (Mojang-Mapped)Jul 21, 2025 Minecraft version changes
- Adds support for Minecraft 1.21.810.1.1CommandAPI 10.1.1 (Mojang-Mapped)Jul 2, 2025 Minecraft version changes
- Adds support for Minecraft 1.21.710.1.0CommandAPI 10.1.0 (Mojang-Mapped)Jun 23, 2025 Minecraft version changes
- Adds support for Minecraft 1.21.610.0.1CommandAPI 10.0.1 (Networking Plugin)May 6, 2025 Bug fixes
- Fixes command unregistration not working on Paper - [#645](https://github.com/CommandAPI/CommandAPI/issues/645) Ignore requirements for null senders10.0.0CommandAPI 10.0.0 (Networking Plugin)Apr 1, 2025 Minecraft Version Changes
- Adds support for Minecraft 1.21.5 - Drops support for Minecraft 1.16.5 - 1.19.4Java Version Changes
- Changes CommandAPI from Java 16 to Java 17 (LTS)New features
- [#633](https://github.com/CommandAPI/CommandAPI/pull/633) Adds anAsyncOfflinePlayerArgumentto allow asynchronous fetching of an offline playerBug fixes
- [#477](https://github.com/CommandAPI/CommandAPI/issues/477) FixedNativeProxyCommandSendernot being able to run Vanilla (and CommandAPI) commands - [#578](https://github.com/CommandAPI/CommandAPI/issues/578), [#583](https://github.com/CommandAPI/CommandAPI/issues/583), [#629](https://github.com/CommandAPI/CommandAPI/pull/629) FixesBukkit#dispatchCommand()not working after Paper's Brigadier API changes - FixesPotionEffectArgument.NamespacedKeynot having suggestions in some versionsNew changes
- [#636](https://github.com/CommandAPI/CommandAPI/pull/636) The default namespace has been updated fromminecraftto the plugin's name. If you are not shading, the default namespace is going to becommandapi. 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](https://github.com/CommandAPI/CommandAPI/issues/634) Functions that useComponenthave now been changed to useComponentLike- Added support for Velocity!Website Changes
- The CommandAPI's new homepage is https://commandapi.dev/ (currently points to the documentation) - Documentation has moved over to https://docs.commandapi.dev/ - JavaDocs have moved over to https://javadocs.commandapi.dev/ - The CommandAPI has moved fromgithub.com/JorelAli/CommandAPIto its own organization over atgithub.com/CommandAPI/CommandAPI9.7.0CommandAPI 9.7.0 (Mojang-Mapped)Dec 4, 2024 Minecraft version changes
* Adds support for Minecraft 1.21.4New features
- [#575](https://github.com/CommandAPI/CommandAPI/pull/575) Adds a NMS independent test toolkit to allow developers to test their commands with MockBukkit - [#613](https://github.com/CommandAPI/CommandAPI/pull/613) Adds athenNestedmethod forCommandTreesto reduce nesting in code9.6.1CommandAPI 9.6.1 (Mojang-Mapped)Oct 28, 2024 Bug fixes
- Fixes Mojang-Mapped version not working on Paper9.6.0CommandAPI 9.6.0 (Mojang-Mapped)Oct 28, 2024 Minecraft Version Changes
- Adds support for Minecraft 1.21.2 and 1.21.3New improvements
- [#594](https://github.com/JorelAli/CommandAPI/pull/594) Adds a config option to allow the CommandAPI to be more lenient when updating to a new minor version (e.g. from 1.21 to 1.21.1) - [#596](https://github.com/JorelAli/CommandAPI/pull/596), [#605](https://github.com/JorelAli/CommandAPI/pull/605) The plugin's config.yml file will be updated when config options are added or removed9.5.3CommandAPI 9.5.3 (Mojang-Mapped)Aug 21, 2024 Bug fixes
- Fixes Folia startup error due to scheduling a task with a delay of 09.5.2CommandAPI 9.5.2Aug 11, 2024 Minecraft version changes
- Adds support for Minecraft 1.21.1Bug fixes
- [#588](https://github.com/JorelAli/CommandAPI/pull/588) Fix Folia scheduling methods using the wrong scheduler implementation - [#580](https://github.com/JorelAli/CommandAPI/pull/580) Fix running a non-vanilla command on paper in Minecraft functions with the CommandAPI throwing runtime exceptions - Fix namespaces not being propagated when registering subcommandsNew features
- [#577](https://github.com/JorelAli/CommandAPI/issues/577) Adds aCommandAPIBukkit#failWithAdventureComponent(ComponentLike)method9.5.1CommandAPI 9.5.1Jun 18, 2024 Bug fixes
- Fixes the CommandAPI not loading correctly on Paper 1.219.5.0CommandAPI 9.5.0Jun 13, 2024 Minecraft version changes
- Adds support for Minecraft 1.21 - Drops support for Minecraft 1.16.1, 1.16.2, 1.16.3 and 1.16.4Bug fixes
- FixesResourceLocationArgumentnot working in 1.20.5 and 1.20.6 - Fixes/minecraft:reloaddeleting commands on Paper 1.20.6 (build 65+)9.4.2CommandAPI 9.4.2May 28, 2024 Bug fixes
- [#554](https://github.com/JorelAli/CommandAPI/issues/554) Fixes the CommandAPI failing to run on Paper build 64+9.4.1CommandAPI 9.4.1May 9, 2024 Bug fixes
- [#551](https://github.com/JorelAli/CommandAPI/issues/551) Fixes mojang-mapped versions of the CommandAPI causing errors in certain Minecraft versionsNew features
- [#552](https://github.com/JorelAli/CommandAPI/issues/552) Adds a configuration option to disable datapack reloading on server load9.4.0CommandAPI 9.4.0Apr 30, 2024 Minecraft version changes
- Adds support for Minecraft 1.20.5 and 1.20.6 - Drops support for Minecraft 1.15.xBug fixes
- Fixed implementation issues withFunctionArgumentfrom 9.3.0 - [#536](https://github.com/JorelAli/CommandAPI/issues/536), [#537](https://github.com/JorelAli/CommandAPI/issues/537) FixedMultiLiteralArgumenthelp displaying the node name instead of the literal text - [#524](https://github.com/JorelAli/CommandAPI/issues/524) FixesCommandAPIBukkit.get().getTags()erroring in 1.20.4New features
- [#540](https://github.com/JorelAli/CommandAPI/issues/540) Add methods to "safe-cast" arguments toCommandArguments- [#495](https://github.com/JorelAli/CommandAPI/issues/495) Adds a parameter toEntitySelectorArgumentto allow failure when no entity lists are empty - [#367](https://github.com/JorelAli/CommandAPI/issues/367), [#509](https://github.com/JorelAli/CommandAPI/issues/509) Adds the ability to register commands with a custom namespace - [#523](https://github.com/JorelAli/CommandAPI/issues/523) Exposed more details of theCommandPermission- [#490](https://github.com/JorelAli/CommandAPI/issues/490) Adds support for Mojang-mapped servers via the CommandAPI config - [#541](https://github.com/JorelAli/CommandAPI/issues/541) Adds support for aNamespacedKeyvariant for thePotionEffectArgument9.3.0CommandAPI 9.3.0Dec 11, 2023 Minecraft version changes - Adds support for Minecraft 1.20.3 and 1.20.4 Bug fixes - Fixed bug where calling SimpleFunctionWrapper.getTag() on 1.19+ would throw an error - [#499](https://github.com/JorelAli/CommandAPI/pull/499) Fix typo in Adventure methods for tooltips - FixedexecutesFeedbackForwarding()not checking for aFeedbackForwardingCommandSendercorrectly thus allowing every executor to execute the command - [#473](https://github.com/JorelAli/CommandAPI/issues/473) Fix RGB colors inCustomArgument.CustomArgumentException#fromStringcreating the wrong colors New features - AddsExecutionInfoexecutors for the Kotlin DSL - [#497](https://github.com/JorelAli/CommandAPI/issues/497) Adds support forRemoteConsoleCommandSenderKnown issues - Functions generated by theFunctionArgumentwill always return a value of1when executed, regardless if the function succeeds, fails or returns a result - Functions generated by theFunctionArgumentwill always return an empty array of commands when you retrieve the list of commands in that function9.2.0CommandAPI 9.2.0Sep 27, 2023 New features
- [#487](https://github.com/JorelAli/CommandAPI/issues/487) Added support for disabling integer centering for location arguments - [#482](https://github.com/JorelAli/CommandAPI/pull/482) Adds Kotlin DSL support for delegated propertiesBug fixes
- [#488](https://github.com/JorelAli/CommandAPI/issues/488) Fixed calling CommandAPI commands withBukkit.createCommandSender()not working on paper - Fixed a bug where the CommandAPI would throw errors when unregistering commands when a command exists with a:at the end of its nameMinecraft version changes
- Adds support for 1.20.29.1.0CommandAPI 9.1.0Aug 17, 2023 New features
- [#459](https://github.com/JorelAli/CommandAPI/pull/459) Added the ability to access raw arguments in the command executor - [#469](https://github.com/JorelAli/CommandAPI/issues/469) AddsAdventureChatColorArgument- [#417](https://github.com/JorelAli/CommandAPI/pull/417) Added the ability for commands to be registered and unregistered while the server is runningBug fixes
- Fixes the CommandAPI disabling datapacks on 1.20.1 Paper servers because it thought it was running on a Folia server9.0.3CommandAPI 9.0.3Jun 13, 2023 Minecraft version changes
- Adds support for 1.20.1New features
- [#455](https://github.com/JorelAli/CommandAPI/pull/455) Reworked the MapArgument with various features, including: - Optional quotes around keys and values - No restriction on the characters that are allowed in a key (previously only letters, digits, and underscore) - May define a String separator between key-value pairs (instead of just space)Bug fixes
- Fixesuse-latest-nms-versionnot pointing to the right version9.0.2CommandAPI 9.0.2Jun 7, 2023 Minecraft version changes
- Adds support for Minecraft 1.20New features
- Adds the ability to retrieveLiteralArguments andMultiLiteralArguments by their node names - [#363](https://github.com/JorelAli/CommandAPI/issues/363) AddswithUsage()method to customise command usage info - [#371](https://github.com/JorelAli/CommandAPI/issues/371) Updates default short description to now mention the plugin creating the commandBug fixes
- Fixed literal arguments in command conversion causing errors due to parsing problems9.0.1CommandAPI 9.0.1May 11, 2023 Bug fixes
- FixedMapArgumentnot allowing player names as keys because we forgot to allow the_character - Fixed/execute as ...not working because we were casting to a player instead of a proxied sender - FixedIntegerArgumentfailing to compile in certain circumstancesNew features
- AddedCommandArguments.count()utility method to get the number of arguments - AddedCommandArguments.getOptional()methods - AddedCustomArgumentExceptionstatic factory methods to accept Spigot/Paper text componentsPlatform support changes
- Added basic support for Folia9.0.0CommandAPI 9.0.0Apr 22, 2023 This version is incompatible with any plugin that used the CommandAPI version 8.X.X or below! (See documentation for more information)
New features
- [#360](https://github.com/JorelAli/CommandAPI/issues/360), [#369](https://github.com/JorelAli/CommandAPI/pull/369) Made executor methods now use CommandArguments to allow for accessing arguments by name instead of index - [#162](https://github.com/JorelAli/CommandAPI/issues/162), [#387](https://github.com/JorelAli/CommandAPI/issues/387), [#393](https://github.com/JorelAli/CommandAPI/pull/393) Added optional arguments - [#388](https://github.com/JorelAli/CommandAPI/pull/388) Added new hook-paper-reload config option to toggle whether the CommandAPI hooks into /minecraft:reload - Reworked the implementation of ItemArgument, so the ItemStack count is correctly reflected and ItemMeta is properly assigned - Made the TeamArgument return a Team instead of a String - Made the ObjectiveArgument return a Objective instead of a String - [#391](https://github.com/JorelAli/CommandAPI/pull/391) Made the CommandAPI only complain about commands registered in a plugin.yml if this plugin.yml belongs to the plugin calling the CommandAPI - [#422](https://github.com/JorelAli/CommandAPI/issues/422) Added a way to access the raw command a player typed from the executor - [#431](https://github.com/JorelAli/CommandAPI/issues/431) Added a way to access more info to construct lists for the ListArgumentBuilder - Added support for sidebar team colors using an enum for ScoreboardSlotKotlin DSL changes
- Implemented resulting executors - Implemented the FunctionArgument - Several improvements for the CommandAPICommand DSLBug fixes
- Fixed commandapi-preprocessor appearing in the plugin and shaded jar file - [#390](https://github.com/JorelAli/CommandAPI/issues/390) Fixed .executesNative()'s CommandSender's getLocation() method returning the wrong pitch and yaw - Fixed tags showing up in the BiomeArgument when they shouldn't have been doing so - Fixed LocationArgument with BLOCK_POSITION not returning locations in unloaded chunks - Fixed IntegerRangeArgument and FloatRangeArgument not working on Minecraft 1.16.4 and 1.16.5 - Fixed RecipeArgument not working on Minecraft 1.17 - Fixed TeamArgument not working on Minecraft 1.17 - Fixed AdventureChatArgument not working on Minecraft 1.17 - Fixed commands with no executors not being caught by the CommandAPI - Fixed ParticleArgument producing "Invalid particle data type" warnings on Minecraft 1.16.5 and below - Fixed FunctionArgument not working on Minecraft 1.17.x and 1.18.x - Fixed NamespacedKeyArgument not working on Minecraft 1.18 - Fixed the FunctionArgument not correctly retrieving datapack (function) tags in 1.17+ - Removed some redundant vibration particle handling code that would never be run under any circumstancesDocumentation changes
- [#384](https://github.com/JorelAli/CommandAPI/issues/384) Fixed various particle data not being documented for the ParticleArgument documentation page - Fixed broken links in the documentation (using [Michael-F-Bryan/mdbook-linkcheck](https://github.com/Michael-F-Bryan/mdbook-linkcheck)) - Refactored documentation argument page names for consistency - Added Kotlin DSL examplesOther changes
- Removed all previously deprecated constructors, classes and methods - Completely refactored the entire CommandAPI project to help support other platforms - Added a live dev build of the documentation at [commandapi-live-docs.jorel.dev](https://commandapi-live-docs.jorel.dev/) - Improved mobile support for the CommandAPI home page - Added the CommandAPI's Modrinth link to the CommandAPI home page - Dropped support for Minecraft 1.13 - 1.14.4. Please use an older version of the CommandAPI, or raise an issue on GitHub to bring back support for these versions8.8.0CommandAPI 8.8.0Mar 14, 2023 New improvements from 8.7.6: - Adds support for Minecraft 1.19.48.7.6CommandAPI 8.7.6Feb 28, 2023 New improvements from 8.7.5: - Fixes NullPointerException that occurs rarely in the CommandAPI's post-loading step8.7.5CommandAPI 8.7.5Feb 11, 2023 New improvements from 8.7.3: - Fixed @AWorldArgument not being processed properly by the annotation system - Fixed LootTableArgument not working in 1.17 - 1.19.38.7.3CommandAPI 8.7.3Jan 8, 2023 New improvements from 8.7.2: - [#397](https://github.com/JorelAli/CommandAPI/issues/397) Fixed issue where the WorldArgument wouldn't work in 1.16.58.7.2CommandAPI 8.7.2Jan 7, 2023 New improvements from 8.7.1: - Hotfixed issue where various arguments wouldn't work in 1.19.3 (function, recipe, sound, advancement, biome, entities, loot table) - Fixed issue where the WorldArgument wouldn't work in 1.19.38.7.1CommandAPI 8.7.1Dec 19, 2022 New improvements from 8.7.0: - FixedParticleArgumentnot working in 1.19.3 - FixedEnchantmentArgumentnot working in 1.19.3 -Hotfixed a permission check bug when permissions are incorrectly initialized - Hotfixed a null pointer exception when autocompletion occurs via redirected commands - Fixed JavaDocs not showing in your IDE when using commandapi-shade8.7.0CommandAPI 8.7.0Dec 12, 2022 New improvements from 8.6.0: - Adds support for Minecraft 1.19.3 - Removes the need for generics and argumenttype parameters for certain arguments8.6.0CommandAPI 8.6.0Dec 4, 2022 New improvements from 8.5.1: - [#307](https://github.com/JorelAli/CommandAPI/issues/307) Adds a CommandArgument to let users submit commands as an argument - [#334](https://github.com/JorelAli/CommandAPI/issues/334) Adds support for chat components in CommandAPI.fail() - [#338](https://github.com/JorelAli/CommandAPI/issues/338) Adds a way to clone a CommandAPICommand instance using instance.copy() - [#351](https://github.com/JorelAli/CommandAPI/issues/351) Adds support for a ListArgument with the TextArgument backend, to allow inline lists - [#358](https://github.com/JorelAli/CommandAPI/issues/358) Adds a new WorldArgument argument that lets you get a list of Minecraft dimensions - Adds support for SoundArgument to return string-based sounds via the NamespacedKey - [#352](https://github.com/JorelAli/CommandAPI/issues/352) Adds some helper methods to the LiteralArgument to make it easier to use via a static import - [#357](https://github.com/JorelAli/CommandAPI/issues/357) Adds a Kotlin DSL to register commands in Kotlin!8.5.1CommandAPI 8.5.1Sep 4, 2022 New improvements from 8.5.0: - Adds support for Minecraft 1.19.2 - Fixes bug with players being kicked when using chat preview with colors on 1.19+ - Prevents developers creating dodgy commands with duplicate argument node names that caused clients to crash when they tried - to run those commands - Fix subcommand internal information being overwritten at runtime when the parent command was registered - Fixes time arguments not working in 1.17+ - Fixes namespaced key arguments not working in 1.17 - Fixes commands not working in 1.17 and 1.18 - Fixes server reloading on Spigot throwing asynchronous-related exceptions - Fixes argument suggestions not working if a subcommand's node name is the same as the argument's node name - Improves backend code for chatcolor, enchantment and potion arguments in 1.17+ - Optimize code size for 1.19+ - Improves list arguments to only display suggestions for the last item and prevent list arguments accepting unlisted items
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta