{"id":21710081,"url":"https://github.com/commandapi/commandapi","last_synced_at":"2025-05-15T08:10:11.692Z","repository":{"id":37035032,"uuid":"145263043","full_name":"CommandAPI/CommandAPI","owner":"CommandAPI","description":"A Bukkit/Spigot API for the command UI introduced in Minecraft 1.13","archived":false,"fork":false,"pushed_at":"2025-05-06T21:10:44.000Z","size":104208,"stargazers_count":598,"open_issues_count":58,"forks_count":72,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-05-06T21:36:55.623Z","etag":null,"topics":["brigadier","bukkit-api","commandapi","minecraft","minecraft-plugin","nms","paper","spigot","spigot-api"],"latest_commit_sha":null,"homepage":"https://commandapi.jorel.dev","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CommandAPI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"jorelali","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2018-08-19T01:01:33.000Z","updated_at":"2025-05-02T11:31:22.000Z","dependencies_parsed_at":"2023-10-01T00:21:11.474Z","dependency_job_id":"f9d47045-f4f1-47a0-a93c-56aaea999784","html_url":"https://github.com/CommandAPI/CommandAPI","commit_stats":{"total_commits":3152,"total_committers":33,"mean_commits":95.51515151515152,"dds":0.5038071065989848,"last_synced_commit":"37f96b59d000ce661629410af24624fc1d4f737f"},"previous_names":["commandapi/commandapi","jorelali/commandapi"],"tags_count":100,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommandAPI%2FCommandAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommandAPI%2FCommandAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommandAPI%2FCommandAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CommandAPI%2FCommandAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CommandAPI","download_url":"https://codeload.github.com/CommandAPI/CommandAPI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254301433,"owners_count":22047904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brigadier","bukkit-api","commandapi","minecraft","minecraft-plugin","nms","paper","spigot","spigot-api"],"created_at":"2024-11-25T23:11:44.666Z","updated_at":"2025-05-15T08:10:11.677Z","avatar_url":"https://github.com/CommandAPI.png","language":"Java","readme":"\u003ch2 align=\"center\"\u003e\n\u003cbr\u003e\n  \u003cimg src=\"images/cmdapi.svg\" alt=\"CommandAPI logo\" width=\"600\"\u003e\n  \u003cbr\u003e\n    \u003cbr\u003e\n  A Bukkit/Spigot API to use the command UI introduced in Minecraft 1.13\n  \u003cbr\u003e\n\u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub](https://img.shields.io/github/license/CommandAPI/CommandAPI?style=flat-square)\n![Maven Central](https://img.shields.io/maven-central/v/dev.jorel/commandapi?style=flat-square)\n[![Join us on Discord](https://img.shields.io/discord/745416925924032523.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2\u0026style=flat-square)](https://discord.gg/G4SzSxZ)\n\u003cbr\u003e\n[![CodeFactor](https://img.shields.io/codefactor/grade/github/CommandAPI/CommandAPI/master?style=flat-square)](https://www.codefactor.io/repository/github/commandapi/commandapi)\n![GitHub Workflow Status (master)](https://img.shields.io/github/actions/workflow/status/CommandAPI/CommandAPI/build.yml?branch=master\u0026style=flat-square)\n![GitHub Workflow Status (dev/dev)](https://img.shields.io/github/actions/workflow/status/CommandAPI/CommandAPI/build.yml?branch=dev/dev\u0026label=dev%20build\u0026style=flat-square)\n![Spiget Download Size](https://img.shields.io/spiget/download-size/62353?style=flat-square)\n\u003cbr\u003e\n![Spiget Downloads](https://img.shields.io/spiget/downloads/62353?label=Total%20Spigot%20Downloads\u0026style=flat-square)\n![GitHub all releases](https://img.shields.io/github/downloads/CommandAPI/CommandAPI/total?label=Total%20GitHub%20Downloads\u0026style=flat-square)\n![Modrinth Downloads](https://img.shields.io/modrinth/dt/commandapi?label=Total%20Modrinth%20Downloads\u0026style=flat-square)\n\u003c/div\u003e\n\n**Support and Project Discussion**:\n\n- \u003cimg width=\"20px\" src=\"https://cdn3.iconfinder.com/data/icons/popular-services-brands-vol-2/512/discord-512.png\"\u003e\u003c/img\u003e [Discord](https://discord.gg/G4SzSxZ)\n- \u003cimg width=\"20px\" src=\"https://static.spigotmc.org/img/spigot.png\"\u003e\u003c/img\u003e [Spigot page](https://www.spigotmc.org/resources/commandapi.62353/)\n- \u003cimg width=\"20px\" src=\"https://i.imgur.com/o104U27.png\"\u003e\u003c/img\u003e [Modrinth page](https://modrinth.com/plugin/commandapi)\n- \u003cimg width=\"20px\" src=\"https://i.imgur.com/QJnHi37.png\"\u003e\u003c/img\u003e [Hangar page](https://hangar.papermc.io/Skepter/CommandAPI)\n\n**Downloads \u0026 Documentation:**\n\n- \u003cimg width=\"20px\" src=\"https://icon-icons.com/icons2/2348/PNG/512/download_arrow_icon_143023.png\"\u003e\u003c/img\u003e [All downloads](https://github.com/CommandAPI/CommandAPI/releases)\n- \u003cimg width=\"20px\" src=\"https://icon-icons.com/icons2/2348/PNG/512/books_icon_143050.png\"\u003e\u003c/img\u003e [Documentation (includes usage for server owners!)](https://docs.commandapi.dev/)\n\n**Other**\n\n- \u003cimg width=\"20px\" src=\"https://github.githubassets.com/images/modules/site/icons/funding_platforms/ko_fi.svg\"\u003e\u003c/img\u003e [Buy me a coffee](https://ko-fi.com/jorelali)\n\n**Compatible Minecraft versions:**\n\nThe list of what version of the CommandAPI you'll need to run on a specific version of Minecraft is as follows:\n\n| Minecraft version  | Compatible versions          | Latest compatible\u003cbr\u003eversion | Minimum Java\u003cbr\u003eversion required\u003cbr\u003eto run latest version |\n|--------------------|------------------------------|------------------------------|-----------------------------------------------------------|\n| **1.13.x**         | v1.0 - 5.12, 8.3.0  - 8.8.0  | 8.8.0                        | 16                                                        |\n| **1.14.1, 1.14.2** | v2.0 - 5.12, 8.3.0  - 8.8.0  | 8.8.0                        | 16                                                        |\n| **1.14.3, 1.14.4** | v2.1 - 5.12, 8.3.0  - 8.8.0  | 8.8.0                        | 16                                                        |\n| **1.15.x**         | v2.3a - 5.12, 8.3.0 - 9.3.0  | 9.3.0                        | 16                                                        |\n| **1.16.1**         | v3.0 - 5.12, 8.3.0  - 9.4.2  | 9.4.2                        | 16                                                        |\n| **1.16.2**         | v4.0 - 5.12, 8.3.0  - 9.4.2  | 9.4.2                        | 16                                                        |\n| **1.16.3**         | v4.2 - 5.12, 8.3.0  - 9.4.2  | 9.4.2                        | 16                                                        |\n| **1.16.4**         | v5.2 - 5.12, 8.3.0  - 9.4.2  | 9.4.2                        | 16                                                        |\n| **1.16.5**         | v5.7 - 7.0.0, 8.3.0 - 9.7.0  | 9.7.0                        | 16                                                        |\n| **1.17**           | 6.0.x - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.17.1**         | 6.1.x - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.18, 1.18.1**   | 6.5.2 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.18.2**         | 6.5.4 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.19**           | 8.3.0 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.19.1**         | 8.5.0 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.19.2**         | 8.5.1 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.19.3**         | 8.7.0 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.19.4**         | 8.8.0 - 9.7.0                | 9.7.0                        | 16                                                        |\n| **1.20**           | 9.0.2 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.20.1**         | 9.0.3 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.20.2**         | 9.2.0 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.20.3, 1.20.4** | 9.3.0 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.20.5, 1.20.6** | 9.4.0 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.21**           | 9.5.0 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.21.1**         | 9.5.2 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.21.2, 1.21.3** | 9.6.0 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.21.4**         | 9.7.0 - 10.0.0               | 10.0.1                       | 17                                                        |\n| **1.21.5**         | 10.0.0 - 10.0.1              | 10.0.1                       | 17                                                        |\n\n-----\n\n## Purpose\n\nThis project provides an API to help Bukkit/Spigot developers use the Minecraft 1.13 command UI, which includes:\n\n- **Better commands** - Prevent players from running invalid commands, making it easier for developers - you won't get dodgy input!\n\n  ![better commands](./images/printnumber.gif)\n\n- **Better arguments** - Choose from over 50 arguments including location arguments, raw JSON, enchantments, lists, particles... all fully supported with built-in error checking!\n\n  ![better arguments](./images/explode.gif)\n\n- **Support for proxied command senders** - Run your command as other entities using `/execute as ... run command`\n\n  ![proxied senders](./images/selfdestruct.gif)\n  \n- **Argument tooltips** - Let your users know exactly what their command will do using argument tooltips\n\n  ![argument tooltips](./docssrc/src/images/warps.gif)\n\n- **Support for the `/execute` command** - Let your command to be executed by the built in `/execute` command, as well as command blocks!\n\n- **Support for Minecraft's functions** - Allow your command to be executed from Minecraft's functions and tags\n\n- **No plugin.yml registration** - Commands don't need to be registered in the `plugin.yml` file anymore\n\n- **No need for Brigadier** - You don't need to import Brigadier in your projects to use the CommandAPI\n\n- **No tracking** - The CommandAPI doesn't collect any stats about its plugin; what you see is what you get!\n\nStill not convinced? In addition to all of the above, the CommandAPI also provides:\n\n- **Built-in command converter** - Convert other plugin commands into `/execute`-compatible ones - no code required!\n- **Tree-structure command registration** - Like Brigadier's code format? We've got you covered with `CommandTree`\n- **Kotlin DSL** - Prefer writing plugins in Kotlin? The CommandAPI has an optional Kotlin DSL just for you\n- **Powerful suggestion generation** - Generate new suggestions for each argument, or add to existing suggestions\n- **Safe suggestion generation** - The CommandAPI offers compile-time type safety for specific arguments\n- **Precise permission support** - Apply permissions to specific arguments - you need perms to even _see_ the argument\n- **Fast updates** - Consistently supports new Minecraft versions within a week of their release\n- [**Insanely detailed documentation**](https://docs.commandapi.dev/) - Trust me, you've never seen a plugin documentation look so good.\n\n-----\n\n## Code examples\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eSimple command registration\u003c/b\u003e\u003c/summary\u003e\n\n```java\nnew CommandAPICommand(\"enchantitem\")\n    .withArguments(new EnchantmentArgument(\"enchantment\"))\n    .withArguments(new IntegerArgument(\"level\", 1, 5))\n    .executesPlayer((player, args) -\u003e {\n        Enchantment enchantment = (Enchantment) args.get(\"enchantment\");\n        int level = (int) args.get(\"level\");\n        \n        //Add the enchantment\n        player.getInventory().getItemInMainHand().addEnchantment(enchantment, level);\n    })\n    .register();\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003ePotion removing, suggesting potions that a player has currently\u003c/b\u003e\u003c/summary\u003e\n\n```java\nList\u003cArgument\u003c?\u003e\u003e arguments = new ArrayList\u003c\u003e();\narguments.add(new EntitySelectorArgument.OnePlayer(\"target\"));\narguments.add(new PotionEffectArgument(\"potioneffect\").replaceSafeSuggestions(SafeSuggestions.suggest(info -\u003e {\n    Player target = (Player) info.previousArgs().get(\"target\");\n\n    //Convert PotionEffect[] into PotionEffectType[]\n    return target.getActivePotionEffects().stream()\n            .map(PotionEffect::getType)\n            .toList().toArray(new PotionEffectType[0]);\n})));\n\nnew CommandAPICommand(\"removeeffect\")\n    .withArguments(arguments)\n    .executesPlayer((sender, args) -\u003e {\n        Player player = (Player) args.get(\"target\");\n        PotionEffectType effect = (PotionEffectType) args.get(\"potioneffect\");\n        player.removePotionEffect(effect);\n    })\n    .register();\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eSubcommands\u003c/b\u003e\u003c/summary\u003e\n\n```java\nnew CommandAPICommand(\"perm\")\n    .withSubcommand(new CommandAPICommand(\"group\")\n        .withSubcommand(new CommandAPICommand(\"add\")\n            .withArguments(new StringArgument(\"permission\"))\n            .withArguments(new StringArgument(\"groupName\"))\n            .executes((sender, args) -\u003e {\n                //perm group add code\n            })\n        )\n        .withSubcommand(new CommandAPICommand(\"remove\")\n            .withArguments(new StringArgument(\"permission\"))\n            .withArguments(new StringArgument(\"groupName\"))\n            .executes((sender, args) -\u003e {\n                //perm group remove code\n            })\n        )\n    )\n    .withSubcommand(new CommandAPICommand(\"user\")\n        .withSubcommand(new CommandAPICommand(\"add\")\n            .withArguments(new StringArgument(\"permission\"))\n            .withArguments(new StringArgument(\"userName\"))\n            .executes((sender, args) -\u003e {\n                //perm user add code\n            })\n        )\n        .withSubcommand(new CommandAPICommand(\"remove\")\n            .withArguments(new StringArgument(\"permission\"))\n            .withArguments(new StringArgument(\"userName\"))\n            .executes((sender, args) -\u003e {\n                //perm user remove code\n            })\n        )\n    )\n    .register();\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eCommand trees\u003c/b\u003e\u003c/summary\u003e\n    \n```java\nnew CommandTree(\"perm\")\n    .then(new MultiLiteralArgument(\"group\", \"user\")\n        .then(new MultiLiteralArgument(\"add\", \"remove\")\n            .then(new StringArgument(\"permission\")\n                .then(new StringArgument(\"groupName\")\n                    .executes((sender, args) -\u003e {\n                        // args = [\"group\" or \"user\", \"add\" or \"remove\", permission, groupName]\n                    })\n                )\n            )\n        )\n    )\n    .register();\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eAnnotation-based commands\u003c/b\u003e\u003c/summary\u003e\n\n```java\n@Command(\"warp\")\npublic class WarpCommand {\n    \n    // List of warp names and their locations\n    static Map\u003cString, Location\u003e warps = new HashMap\u003c\u003e();\n    \n    @Default\n    public static void warp(CommandSender sender) {\n        sender.sendMessage(\"--- Warp help ---\");\n        sender.sendMessage(\"/warp - Show this help\");\n        sender.sendMessage(\"/warp \u003cwarp\u003e - Teleport to \u003cwarp\u003e\");\n        sender.sendMessage(\"/warp create \u003cwarpname\u003e - Creates a warp at your current location\");\n    }\n    \n    @Default\n    public static void warp(Player player, @AStringArgument String warpName) {\n        player.teleport(warps.get(warpName));\n    }\n    \n    @Subcommand(\"create\")\n    @Permission(\"warps.create\")\n    public static void createWarp(Player player, @AStringArgument String warpName) {\n        warps.put(warpName, player.getLocation());\n    }\n    \n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eKotlin DSL\u003c/b\u003e\u003c/summary\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eCommandAPICommand\u003c/b\u003e\u003c/summary\u003e\n\n```kotlin\ncommandAPICommand(\"mute\") {\n    playerArgument(\"target\")\n    integerArgument(\"duration\")\n    playerExecutor { player, args -\u003e\n        val target: Player = args[\"target\"]!!\n        val duration: Int = args[\"duration\"]!!\n        // Implementation...\n    }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eCommandTree\u003c/b\u003e\u003c/summary\u003e\n\n```kotlin\ncommandTree(\"mute\") {\n    playerArgument(\"target\") {\n        integerArgument(\"duration\") {\n            playerExecutor { player, args -\u003e\n                val target: Player = args[\"target\"]!!\n                val duration: Int = args[\"duration\"]!!\n            }\n        }\n        playerExecutor { player, args -\u003e \n            val target: Player = args[\"target\"]!!\n            // Some default duration\n            // Implementation...\n        }\n    }\n}\n```\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eCommand conversion (no compilation required)\u003c/b\u003e\u003c/summary\u003e\n\n```yml\nplugins-to-convert:\n  - Essentials:\n    - speed \u003cspeed\u003e[0..10]\n    - speed \u003ctarget\u003e[minecraft:game_profile]\n    - speed (walk|fly) \u003cspeed\u003e[0..10]\n    - speed (walk|fly) \u003cspeed\u003e[0..10] \u003ctarget\u003e[minecraft:game_profile]\n```\n\n\u003c/details\u003e\n\n-----\n\n## Building the CommandAPI\n\nThe CommandAPI is built using the Maven build tool - if you don't have it, you can download it [here](https://maven.apache.org/download.cgi).\n\n- Clone the repository using your preferred method, or with the command below:\n\n  ```bash\n  git clone https://github.com/CommandAPI/CommandAPI.git\n  ```\n\n- Run `mvn clean install -P Platform.Bukkit,Platform.Velocity`\n\nNotable artifacts can be found here:\n\n- Spigot-mapped Spigot/Paper plugin `.jar`:\n\n  ```sh\n  commandapi-platforms/commandapi-bukkit/commandapi-bukkit-plugin/target/CommandAPI-X.X.X_DATE.jar\n  ```\n\n- Mojang-mapped Spigot/Paper plugin `.jar`:\n\n  ```sh\n  commandapi-platforms/commandapi-bukkit/commandapi-bukkit-plugin-mojang-mapped/target/CommandAPI-X.X.X_DATE.jar\n  ```\n\n- Velocity Plugin `.jar`:\n\n  ```sh\n  commandapi-platforms/commandapi-velocity/commandapi-velocity-plugin/target/CommandAPI-X.X.X_DATE.jar\n  ```\n\n-----\n\n## CommandAPI Project Timeline\n\nThis is the current roadmap for the CommandAPI (as of 1st April 2025):\n\n- **Hard Paper fork support**\n\n  Paper's moving up in the world and it's about time the CommandAPI got with the times. We've got an active PR https://github.com/CommandAPI/CommandAPI/pull/517 that will have better support for Paper. In future, we'll only release Paper builds on Hangar and Spigot builds on SpigotMC. Modrinth will support both releases.\n\n- **Annotation improvements**\n\n  The CommandAPI's annotation system has always been a bit limited and was primarily introduced as a proof-of-concept. In this update, the CommandAPI's annotation system will be improved to be (ideally) as powerful as the non-annotation system and have slightly better type safety, support for non-static methods and better checks to prevent invalid command generation. More information about annotations can be found in the [Annotation specification document](./annotations_spec_doc.md).\n\n- **Argument conflict detection**\n\n  The CommandAPI simply uses the Brigadier system under the hood. This system is prone to _argument conflicts_, which is where certain arguments are given priority over other arguments. (For example \"hello\" and \"123\" are both valid string arguments, but if you have a command that has a string argument or an integer argument, Brigadier may ignore the integer argument). In this update, the CommandAPI will try to spot potential conflicts and add a warning in the console.\n\n- **'True' custom arguments and server-side argument implementations**\n\n  Through some brief testing of the [regex-mod branch](https://github.com/CommandAPI/CommandAPI/tree/dev/regex-mod) and my [MinecraftRegexArgumentMod](https://github.com/JorelAli/MinecraftRegexArgumentMod) repository, it was discovered that 'true' custom arguments (arguments with a custom implementation of the returned type and parser) are possible with the aid of a client-sided mod. Additionally, this functionality also works _without_ a client-sided mod, assuming this is only used server-side. This can be useful for server-only datapacks, functions and tags, as well as command blocks. It is possible that this may lead into being ported to Fabric, but there are no concrete plans to do so as of now.\n\n-----\n\n## Changelog\n\n\u003ctable width=\"100%\"\u003e\n    \u003cthead\u003e\n        \u003ctr\u003e\n            \u003cth width=\"10%\"\u003eVersion\u003c/th\u003e\n            \u003cth width=\"15%\"\u003eDate\u003c/th\u003e\n            \u003cth width=\"65%\"\u003eFeatures / Changes\u003c/th\u003e\n        \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e10.0.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2025\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n\t\t\t\t\u003cb\u003eBug Fixes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes command unregistration not working on Paper\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/645 Ignore requirements for null senders\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e10.0.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eApril 2025\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n\t\t\t\t\u003cb\u003e⚠️ This version is incompatible with any plugin that used the CommandAPI version 9.X.X or below! (See documentation for more information)\u003c/b\u003e\u003cbr\u003e\n                \u003cb\u003eMinecraft Version Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.21.5\u003c/li\u003e\n                    \u003cli\u003eDrops support for Minecraft 1.16.5 - 1.19.4\u003c/li\u003e\n                \u003c/ul\u003e\n\t\t\t\t\u003cb\u003eJava Version Changes:\u003c/b\u003e\n\t\t\t\t\u003cul\u003e\n                    \u003cli\u003eChange from requiring Java 16 to Java 17 (LTS)\u003c/li\u003e\n                \u003c/ul\u003e\n\t\t\t\t\u003cb\u003eCommandAPI Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/633 Adds an \u003ccode\u003eAsyncOfflinePlayerArgument\u003c/code\u003e to allow asynchronous fetching of an offline player\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/636 The default namespace has been updated from \u003ccode\u003eminecraft\u003c/code\u003e to the plugin's name. If you are not shading, the default namespace is going to be \u003ccode\u003ecommandapi\u003c/code\u003e. If you are shading, the default namespace is going to be your plugin's name.\u003c/li\u003e\n                    \u003cli\u003eUpdates the config defaults for the datapack reloading step to be opt-in instead of opt-out.\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/634 Updates methods that previously accepted \u003ccode\u003eComponent\u003c/code\u003e to now accept \u003ccode\u003eComponentLike\u003c/code\u003e instead.\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eBug Fixes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/477 Fixed \u003ccode\u003eNativeProxyCommandSender\u003c/code\u003e not being able to run Vanilla (and CommandAPI) commands\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/578, https://github.com/CommandAPI/CommandAPI/issues/583, https://github.com/CommandAPI/CommandAPI/pull/629 Fixes \u003ccode\u003eBukkit#dispatchCommand()\u003c/code\u003e not working after Paper's Brigadier API changes\u003c/li\u003e\n                    \u003cli\u003eFixes \u003ccode\u003ePotionEffectArgument.NamespacedKey\u003c/code\u003e not having suggestions in some versions\u003c/li\u003e\n                \u003c/ul\u003e\n\t\t\t\t\u003cb\u003eWebsite Changes:\u003c/b\u003e\n\t\t\t\t\u003cul\u003e\n                    \u003cli\u003eThe CommandAPI has a new website: https://commandapi.dev/\u003c/li\u003e\n\t\t\t\t\t\u003cli\u003eThe CommandAPI has moved from https://github.com/JorelAli/CommandAPI to https://github.com/CommandAPI/CommandAPI\u003c/li\u003e\n                    \u003cli\u003eThe CommandAPI's documentation source code is now over at https://github.com/CommandAPI/docs\u003c/li\u003e\n                    \u003cli\u003eThe CommandAPI's JavaDocs can be viewed over at https://javadocs.commandapi.dev\u003c/li\u003e\n\t\t\t\t\u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.7.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eMinecraft Version Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.21.4\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eCommandAPI Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/575 Adds a NMS independent test toolkit to allow developers to test their commands with MockBukkit\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/613 Adds a \u003ccode\u003ethenNested\u003c/code\u003e method for \u003ccode\u003eCommandTree\u003c/code\u003es to reduce nesting\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.6.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eBug fixes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes Mojang-mapped builds not working on 1.21.2 and 1.21.3\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.6.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eMinecraft Version Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.21.2 and 1.21.3\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eCommandAPI Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/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)\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/596, https://github.com/CommandAPI/CommandAPI/pull/605 The plugin's \u003ccode\u003econfig.yml\u003c/code\u003e file will be updated when config options are added or removed\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.5.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes Folia crash on startup due to a delay of 0\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.5.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eMinecraft Version Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.21.1\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eCommandAPI Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/588 Fix Folia scheduling methods using the wrong scheduler implementation\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/577 Adds a \u003ccode\u003eCommandAPIBukkit#failWithAdventureComponent(ComponentLike)\u003c/code\u003e method\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/580 Fix running a non-vanilla command on paper in Minecraft functions with the CommandAPI throwing runtime exceptions\u003c/li\u003e\n                    \u003cli\u003eFix namespaces not being propagated when registering subcommands\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.5.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes the CommandAPI not loading properly on Paper 1.21\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.5.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.21\u003c/li\u003e\n                    \u003cli\u003eDrops support for Minecraft 1.16.1, 1.16.2, 1.16.3 and 1.16.4\u003c/li\u003e\n                    \u003cli\u003eFixes \u003ccode\u003eResourceLocationArgument\u003c/code\u003e not working in 1.20.5 and 1.20.6\u003c/li\u003e\n                    \u003cli\u003eFixes \u003ccode\u003e/minecraft:reload\u003c/code\u003e deleting commands on Paper 1.20.6 (build 65+)\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.4.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/555 Hotfix CommandAPI not loading correctly on Paper 1.20.6 build 65+ servers\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.4.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eCommandAPI Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/551 Fixes mojang-mapped versions of the CommandAPI causing errors in certain Minecraft versions\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/552 Adds a configuration option to disable datapack reloading on server load\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.4.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eApril 2024\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eCommandAPI Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/495 Adds a parameter to \u003ccode\u003eEntitySelectorArgument\u003c/code\u003e to allow failure when no entity lists are empty\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/367, https://github.com/CommandAPI/CommandAPI/pull/509 Adds the ability to register commands with a custom namespace\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/523 Exposed more details of the \u003ccode\u003eCommandPermission\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/536, https://github.com/CommandAPI/CommandAPI/pull/537 Fixes \u003ccode\u003eMultiLiteralArgument\u003c/code\u003e help displaying the node name instead of the literal text\u003c/li\u003e\n                    \u003cli\u003eFixed implementation issues with \u003ccode\u003eFunctionArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/490 Adds (experimental) support for Mojang-mapped servers via the CommandAPI config\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/524 Fixes \u003ccode\u003eCommandAPIBukkit.get().getTags()\u003c/code\u003e erroring in 1.20.4\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/540 Add methods to \"safe-cast\" arguments to \u003ccode\u003eCommandArguments\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/541 Adds support for a \u003ccode\u003eNamespacedKey\u003c/code\u003e variant for the \u003ccode\u003ePotionEffectArgument\u003c/code\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eMinecraft Version Changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eDrops support for version 1.15.x\u003c/li\u003e\n                    \u003cli\u003eAdds support for version 1.20.5\u003c/li\u003e\n                    \u003cli\u003eAdds support for version 1.20.6\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.3.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003e⚠️ This version has limited support for the \u003ccode\u003eFunctionArgument\u003c/code\u003e! (See documentation for more information)\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.20.3 and 1.20.4\u003c/li\u003e\n                    \u003cli\u003eFixed bug where calling \u003ccode\u003eSimpleFunctionWrapper.getTag()\u003c/code\u003e on 1.19+ would throw an error\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/499 Fix typo in Adventure methods for tooltips\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eExecutionInfo\u003c/code\u003e executors for the Kotlin DSL\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/497 Adds support for \u003ccode\u003eRemoteConsoleCommandSender\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eFixed \u003ccode\u003eexecutesFeedbackForwarding()\u003c/code\u003e not checking for a \u003ccode\u003eFeedbackForwardingCommandSender\u003c/code\u003e correctly thus allowing every executor to execute the command\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/473 Fix RGB colors in \u003ccode\u003eCustomArgument.CustomArgumentException#fromString\u003c/code\u003e creating the wrong colors\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.2.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/487 Added support for disabling integer centering for location arguments\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/488 Fixed calling CommandAPI commands with \u003ccode\u003eBukkit.createCommandSender()\u003c/code\u003e not working on paper\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/482 Adds Kotlin DSL support for delegated properties\u003c/li\u003e\n                    \u003cli\u003eFixed a bug where the CommandAPI would throw errors when unregistering commands when a command exists with a \u003ccode\u003e:\u003c/code\u003e at the end of its name\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.1.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed the CommandAPI disabling datapacks on Paper 1.20.1 #40+ because it thought it was running on a Folia server\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/459 Added the ability to access raw arguments in the command executor\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/469 Adds \u003ccode\u003eAdventureChatColorArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/417 Added the ability for commands to be registered and unregistered while the server is running\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.0.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003e\n                        https://github.com/CommandAPI/CommandAPI/pull/455 Reworked the \u003ccode\u003eMapArgument\u003c/code\u003e with various features, including:\n                        \u003cul\u003e\n                            \u003cli\u003eOptional quotes around keys and values\u003c/li\u003e\n                            \u003cli\u003eNo restriction on the characters that are allowed in a key (previously only letters, digits, and underscore)\u003c/li\u003e\n                            \u003cli\u003eMay define a String separator between key-value pairs (instead of just space)\u003c/li\u003e\n                        \u003c/ul\u003e\n                    \u003c/li\u003e\n                    \u003cli\u003eFixed \u003ccode\u003euse-latest-nms-version\u003c/code\u003e not pointing to 1.20\u003c/li\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.20.1\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.0.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eCommandAPI changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdd the ability to retrieve \u003ccode\u003eLiteralArgument\u003c/code\u003es and \u003ccode\u003eMultiLiteralArgument\u003c/code\u003es by their node names\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/363 Adds \u003ccode\u003ewithUsage()\u003c/code\u003e method to customise command usage info\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/371 Updates default short description to now mention the plugin creating the command\u003c/li\u003e\n                    \u003cli\u003eFixed literal arguments in command conversion causing errors due to parsing problems\u003c/li\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.20\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eOther changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eUpdate the look-and-feel of the CommandAPI website\u003c/li\u003e\n                    \u003cli\u003eUpdate the look-and-feel of the CommandAPI JavaDocs\u003c/li\u003e\n                    \u003cli\u003eFix various classes in the CommandAPI JavaDocs not having their methods declared\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.0.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed \u003ccode\u003eMapArgument\u003c/code\u003e not always allowing player names as keys\u003c/li\u003e\n                    \u003cli\u003eFixed \u003ccode\u003e/execute as ...\u003c/code\u003e not working due to casting to a player instead of a proxied sender\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/441 Added \u003ccode\u003eCommandArguments#count()\u003c/code\u003e utility method\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/440 Added several \u003ccode\u003eCommandArguments#getOptional()\u003c/code\u003e methods\u003c/li\u003e\n                    \u003cli\u003eFixed bug where \u003ccode\u003eIntegerArgument\u003c/code\u003e would fail to compile due to a missing Brigadier dependency\u003c/li\u003e\n                    \u003cli\u003eAdded basic support for Folia\u003c/li\u003e\n                    \u003cli\u003eAdded support for the \u003ccode\u003eCustomArgumentException\u003c/code\u003e to accept Adventure and Spigot text components\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e9.0.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eApril 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003e⚠️ This version is incompatible with any plugin that used the CommandAPI version 8.X.X or below! (See documentation for more information)\u003c/b\u003e\u003cbr\u003e\n                \u003cb\u003eNew features:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/360, https://github.com/CommandAPI/CommandAPI/pull/369 Made executor methods now use \u003ccode\u003eCommandArguments\u003c/code\u003e to allow for accessing arguments by name instead of index\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/162, https://github.com/CommandAPI/CommandAPI/issues/387, https://github.com/CommandAPI/CommandAPI/pull/393 Added optional arguments\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/388 Added new \u003ccode\u003ehook-paper-reload\u003c/code\u003e config option to toggle whether the CommandAPI hooks into \u003ccode\u003e/minecraft:reload\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/399, https://github.com/CommandAPI/CommandAPI/pull/418 Added a \u003ccode\u003eMapArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eReworked the implementation of \u003ccode\u003eItemArgument\u003c/code\u003e, so the \u003ccode\u003eItemStack\u003c/code\u003e count is correctly reflected and \u003ccode\u003eItemMeta\u003c/code\u003e is properly assigned\u003c/li\u003e\n                    \u003cli\u003eMade the \u003ccode\u003eTeamArgument\u003c/code\u003e return a \u003ccode\u003eTeam\u003c/code\u003e instead of a String\u003c/li\u003e\n                    \u003cli\u003eMade the \u003ccode\u003eObjectiveArgument\u003c/code\u003e return a \u003ccode\u003eObjective\u003c/code\u003e instead of a String\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/391 Made the CommandAPI only complain about commands registered in a \u003ccode\u003eplugin.yml\u003c/code\u003e if this \u003ccode\u003eplugin.yml\u003c/code\u003e belongs to the plugin calling the CommandAPI\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/422 Added a way to access the raw command a player typed from the executor\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/431 Added a way to access more info to construct lists for the \u003ccode\u003eListArgumentBuilder\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eAdded support for sidebar team colors using an enum for \u003ccode\u003eScoreboardSlot\u003c/code\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eKotlin DSL changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eImplemented resulting executors\u003c/li\u003e\n                    \u003cli\u003eImplemented the \u003ccode\u003eFunctionArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eSeveral improvements for the \u003ccode\u003eCommandAPICommand\u003c/code\u003e DSL\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eBug fixes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed \u003ccode\u003ecommandapi-preprocessor\u003c/code\u003e appearing in the plugin and shaded jar file\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/390 Fixed \u003ccode\u003e.executesNative()\u003c/code\u003e's CommandSender's \u003ccode\u003egetLocation()\u003c/code\u003e method returning the wrong pitch and yaw\u003c/li\u003e\n                    \u003cli\u003eFixed tags showing up in the \u003ccode\u003eBiomeArgument\u003c/code\u003e when they shouldn't have been doing so\u003c/li\u003e\n                    \u003cli\u003eFixed \u003ccode\u003eLocationArgument\u003c/code\u003e with \u003ccode\u003eBLOCK_POSITION\u003c/code\u003e not returning locations in unloaded chunks\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eTesting and validation:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eCreated the testing matrix to perform multi-Minecraft-version testing\u003c/li\u003e\n                    \u003cb\u003eBugs found (and fixed) as a result of the testing matrix:\u003c/b\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eIntegerRangeArgument\u003c/code\u003e and \u003ccode\u003eFloatRangeArgument\u003c/code\u003e not working on Minecraft 1.16.4 and 1.16.5\u003c/li\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eRecipeArgument\u003c/code\u003e not working on Minecraft 1.17\u003c/li\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eTeamArgument\u003c/code\u003e not working on Minecraft 1.17\u003c/li\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eAdventureChatArgument\u003c/code\u003e not working on Minecraft 1.17\u003c/li\u003e\n                        \u003cli\u003eFixed commands with no executors not being caught by the CommandAPI\u003c/li\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eParticleArgument\u003c/code\u003e producing \"Invalid particle data type\" warnings on Minecraft 1.16.5 and below\u003c/li\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eFunctionArgument\u003c/code\u003e not working on Minecraft 1.17.x and 1.18.x\u003c/li\u003e\n                        \u003cli\u003eFixed \u003ccode\u003eNamespacedKeyArgument\u003c/code\u003e not working on Minecraft 1.18\u003c/li\u003e\n                    \u003c/ul\u003e\n                    \u003cli\u003eIntegrated the CommandAPI repository with SonarCloud to identify bugs and improve the internal code\u003c/li\u003e\n                    \u003cb\u003eBugs found (and fixed) as a result of using SonarCloud:\u003c/b\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eFixed the \u003ccode\u003eFunctionArgument\u003c/code\u003e not correctly retrieving datapack (function) tags in 1.17+\u003c/li\u003e\n                    \u003c/ul\u003e\n                    \u003cli\u003eAdded some code coverage reports to identify how well tested the CommandAPI is, and what code paths need attention to during development\u003c/li\u003e\n                    \u003cb\u003eIssues found (and fixed) as a result of using code coverage reports:\u003c/b\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eRemoved some redundant vibration particle handling code that would never be run under any circumstances\u003c/li\u003e\n                    \u003c/ul\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eDocumentation changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/384 Fixed various particle data not being documented for the \u003ccode\u003eParticleArgument\u003c/code\u003e documentation page\u003c/li\u003e\n                    \u003cli\u003eFixed broken links in the documentation (using \u003ca href=\"https://github.com/Michael-F-Bryan/mdbook-linkcheck\"\u003eMichael-F-Bryan/mdbook-linkcheck\u003c/a\u003e)\u003c/li\u003e\n                    \u003cli\u003eRefactored documentation argument page names for consistency\u003c/li\u003e\n                    \u003cli\u003eAdded Kotlin DSL examples\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eOther changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eRemoved all previously deprecated constructors, classes and methods\u003c/li\u003e\n                    \u003cli\u003eCompletely refactored the entire CommandAPI project to help support other platforms\u003c/li\u003e\n                    \u003cli\u003eAdded a live dev build of the documentation at \u003ca href=\"https://commandapi-live-docs.jorel.dev/\"\u003ecommandapi-live-docs.jorel.dev\u003c/a\u003e\u003c/li\u003e\n                    \u003cli\u003eImproved mobile support for the CommandAPI home page\u003c/li\u003e\n                    \u003cli\u003eAdded the CommandAPI's Modrinth link to the CommandAPI home page\u003c/li\u003e\n                    \u003cli\u003eDropped 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 versions\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eGitHub Actions changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed NodeJS 12 deprecation warnings\u003c/li\u003e\n                    \u003cli\u003eAdded markdownlint to verify that the documentation adheres to suitable Markdown standards\u003c/li\u003e\n                    \u003cli\u003eFixed building the CommandAPI example projects not failing if they failed to compile\u003c/li\u003e\n                    \u003cli\u003eAdded the CommandAPI documentation to GitHub Actions\u003c/li\u003e\n                    \u003cli\u003eAdded deployment of snapshot builds to GitHub Actions\u003c/li\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.8.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMarch 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.19.4\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.6\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eFebruary 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/415 Fixed NullPointerException when the CommandAPI fixes permissions in its post-load step\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.5\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eFebruary 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed \u003ccode\u003e@AWorldArgument\u003c/code\u003e annotation not being handled by the annotation processor\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.4\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed \u003ccode\u003eLootTableArgument\u003c/code\u003e (function, recipe, sound, advancement, biome and entities) in 1.17 - 1.19.3\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/397 Fixed \u003ccode\u003eWorldArgument\u003c/code\u003e not working in 1.16.5\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2023\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eHotfixed issue where various arguments wouldn't work in 1.19.3 (function, recipe, sound, advancement, biome, entities, loot table)\u003c/li\u003e\n                    \u003cli\u003eFixed issue where the \u003ccode\u003eWorldArgument\u003c/code\u003e wouldn't work in 1.19.3\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/310 Hotfixed a null pointer exception with redirected commands\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/383 Fixed \u003ccode\u003eParticleArgument\u003c/code\u003e not working in 1.19.3\u003c/li\u003e\n                    \u003cli\u003eFixed \u003ccode\u003eEnchantmentArgument\u003c/code\u003e not working in 1.19.3\u003c/li\u003e\n                    \u003cli\u003eFixed JavaDocs in IDEs not working when using \u003ccode\u003ecommandapi-shade\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eHotfixed permission check failing when permissions have been incorrectly initialized\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.7.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003e\u003cb\u003eNote: This version is incompatible with any plugin that used the \u003ccode\u003eSoundArgument\u003c/code\u003e in version 8.6.0! (See documentation for more information)\u003c/b\u003e\u003c/li\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.19.3\u003c/li\u003e\n                    \u003cli\u003eDeprecates Argument \"type\" constructors in favour of static inner classes\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.6.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/307 Adds a \u003ccode\u003eCommandArgument\u003c/code\u003e to let users submit commands as an argument\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/330 Improve the documentation for disabling the CommandAPI gracefully with \u003ccode\u003eCommandAPI.onDisable()\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/334 Adds support for chat components in \u003ccode\u003eCommandAPI.fail()\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/338 Adds a way to clone a \u003ccode\u003eCommandAPICommand\u003c/code\u003e instance using \u003ccode\u003einstance.copy()\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/340 Adds Kotlin examples in the documentation\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/341 Fix incorrect code block in normal executors documentation page\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/351 Adds support for a ListArgument with the TextArgument backend, to allow inline lists\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/358 Adds a new WorldArgument argument that lets you get a list of Minecraft dimensions\u003c/li\u003e\n                    \u003cli\u003eAdds support for \u003ccode\u003eSoundArgument\u003c/code\u003e to return string-based sounds via the \u003ccode\u003eNamespacedKey\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/352 Adds some helper methods to the LiteralArgument to make it easier to use via a static import\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/pull/357 Adds a Kotlin DSL to register commands in Kotlin!\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.5.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/311 Fix packets with invalid signatures kicking the client when sending certain commands with a chat preview enabled argument\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/312 Safeguards against command paths with duplicate node names which could cause the client to crash\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/313 Fix subcommand information being overwritten after a command has been registered\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/314 Fix \u003ccode\u003eTimeArgument\u003c/code\u003e not working as intended\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/316 Fix server reloading on Spigot throwing asynchronous-related exceptions in the console\u003c/li\u003e\n                    \u003cli\u003ehttps://github.com/CommandAPI/CommandAPI/issues/323 Fix \u003ccode\u003eNamespacedKeyArgument\u003c/code\u003e not working in 1.17\u003c/li\u003e\n                    \u003cli\u003eFix various command issues with Minecraft versions before 1.19\u003c/li\u003e\n                    \u003cli\u003eFix argument suggestions not working if a subcommand's node name is the same as the argument's node name\u003c/li\u003e\n                    \u003cli\u003eImproves the underlying implementation of chatcolor, enchantment and potion arguments in 1.17+\u003c/li\u003e\n                    \u003cli\u003eImproves NMS code sharing between 1.19, 1.19.1 and 1.19.2\u003c/li\u003e\n                    \u003cli\u003eImproves the implementation of the list argument to only display suggestions for the last item in the list and prevent unlisted items being entered\u003c/li\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.19.2\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.5.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eDevelopment improvements:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eImproves the issue templates on GitHub for creating bug reports and feature requests\u003c/li\u003e\n                    \u003cli\u003eAdds a testing suite for the CommandAPI which can test for successful command registration and execution\u003c/li\u003e\n                    \u003cli\u003eAdds an example of shading the CommandAPI with Maven in \u003ccode\u003eexamples/maven-shaded/\u003c/code\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eBug fixes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes suggestions not working in 1.16.5 and below due to Brigadier implementation versions\u003c/li\u003e\n                    \u003cli\u003eFixes the CommandAPI allowing spaces in command names\u003c/li\u003e\n                    \u003cli\u003eFixes datapack reloading on 1.17.1\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eNew features/improvements:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.19.1\u003c/li\u003e\n                    \u003cli\u003eAdds support for chat preview with \u003ccode\u003eChatArgument\u003c/code\u003e and \u003ccode\u003eAdventureChatArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eAdds a \u003ccode\u003eCommandAPI.onDisable()\u003c/code\u003e method to disable the CommandAPI gracefully\u003c/li\u003e\n                    \u003cli\u003eAdds Kotlin-DSL gradle to the documentation\u003c/li\u003e\n                    \u003cli\u003ePrevents the CommandAPI re-parsing previous arguments multiple times when running a command\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eCommandAPI.isLoaded()\u003c/code\u003e to check if the CommandAPI is loaded\u003c/li\u003e\n                    \u003cli\u003eShares NMS code for 1.13.x and 1.14.x, reducing the jar size\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.4.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix issue where converted commands would handle arguments incorrectly\u003c/li\u003e\n                    \u003cli\u003eFix commandapi-annotations dependency depending on spigot instead of spigot-api\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.4.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eJar minimization improvements:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eDecouples CustomArgument from CommandAPIHandler\u003c/li\u003e\n                    \u003cli\u003eDecouples EntitySelector from EntitySelectorArgument\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eNBT API Support:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAllow developers to shade their own copy of an NBT API framework (e.g. NBT API or PowerNBT)\u003c/li\u003e\n                    \u003cli\u003eIncludes the NBT API built-in for plugin versions\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eOther:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eImplement base arguments for CustomArguments, allowing more powerful parsing\u003c/li\u003e\n                    \u003cli\u003eImplement common NMS code for 1.17+\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eNamespacedKeyArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eAdds support for shaded versions of the CommandAPI to create their own \u003ccode\u003ecommand_registration.json\u003c/code\u003e files for debugging\u003c/li\u003e\n                    \u003cli\u003eFixes bug where \u003ccode\u003eWrapperCommandSyntaxException\u003c/code\u003e wouldn't work as intended\u003c/li\u003e\n                    \u003cli\u003eAdds support for \u003ccode\u003e/minecraft:reload\u003c/code\u003e on paper servers\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eCommandAPI.getRegisteredCommands()\u003c/code\u003e to get a list of registered commands\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.3.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes critical issue where non-Vanilla commands were not showing suggestions\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.3.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eChange Java target version to Java 16 instead of Java 17\u003c/li\u003e\n                    \u003cli\u003eAdds support for old Minecraft versions (1.13 - 1.16.4) again\u003c/li\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.19\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.2.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds a \u003ccode\u003e.withSubcommands()\u003c/code\u003e method to add multiple subcommands in one go\u003c/li\u003e\n                    \u003cli\u003eExposed \u003ccode\u003eregisteredCommands\u003c/code\u003e field in the CommandAPIHandler to get a list of registered commands\u003c/li\u003e\n                    \u003cli\u003eFixed CommandAPI logging prefix twice in shaded versions of the CommandAPI\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.2.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds a list argument\u003c/li\u003e\n                    \u003cli\u003eBrings back support for Minecraft 1.16.5\u003c/li\u003e\n                    \u003cli\u003eFixes documentation bug with multiple executor types\u003c/li\u003e\n                    \u003cli\u003eFixes bug where suggestions wouldn't \"filter\" while being typed in chat\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.1.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds generic types to arguments to improve compile-time type checking\u003c/li\u003e\n                    \u003cli\u003eFix particle data safe suggestions crashing the CommandAPI\u003c/li\u003e\n                    \u003cli\u003eImproves error logging of greedy string arguments\u003c/li\u003e\n                    \u003cli\u003eFix bug with \u003ccode\u003eCommandPermission.OP\u003c/code\u003e throwing a null pointer exception\u003c/li\u003e\n                    \u003cli\u003ePrevent the CommandAPI crashing when shaded plugins don't call \u003ccode\u003eCommandAPI.onLoad()\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eFix initialization of \u003ccode\u003eWrapperCommandSyntaxException\u003c/code\u003e bug\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e8.0.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eApril 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003e\u003cb\u003eNote: This version is incompatible with existing plugins that use the particle argument (See documentation for more information)\u003c/b\u003e\u003c/li\u003e\n                    \u003cli\u003eImproved support for particle arguments, now supporting particle data (e.g. color, size)\u003c/li\u003e\n                    \u003cli\u003eDropped support for Minecraft 1.16.5\u003c/li\u003e\n                    \u003cli\u003eAdds an error message if the \u003ccode\u003econfig.yml\u003c/code\u003e's \u003ccode\u003eplugins-to-convert\u003c/code\u003e option has an invalid type\u003c/li\u003e\n                    \u003cli\u003eImprove \u003ccode\u003eWrapperCommandSyntaxException\u003c/code\u003e to include passthrough methods to access the underlying exception\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e7.0.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eApril 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eDevelopment improvements:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds a GitHub action to build the CommandAPI (and share it's lovely artifacts)\u003c/li\u003e\n                    \u003cli\u003eMoves the Maven repo for 7.0.0 and future updates to Maven Central\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eNew features:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for using the same command executor for multiple command sender types\u003c/li\u003e\n                    \u003cli\u003eMakes the CommandAPI display a warning if it finds commands present in a \u003ccode\u003eplugin.yml\u003c/code\u003e file\u003c/li\u003e\n                    \u003cli\u003eAdds more helper methods to the Brigadier class\u003c/li\u003e\n                    \u003cli\u003eAdds a tree-like syntax for command declarations\u003c/li\u003e\n                    \u003cli\u003eAdds support for asynchronous suggestions\u003c/li\u003e\n                    \u003cli\u003eRewrote how argument suggestions are declared, instead of lots of overloads, require a single object which encompasses the various different suggestion methods\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eOther:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix transitive dependencies in the CommandAPI which caused various libraries to be exposed\u003c/li\u003e\n                    \u003cli\u003eRemove various deprecated \u003ccode\u003esafeOverrideSuggestions\u003c/code\u003e methods\u003c/li\u003e\n                    \u003cli\u003eImprove certain colors of elements in the CommandAPI's documentation so it's easier to read\u003c/li\u003e\n                    \u003cli\u003eFix various broken links in the documentation\u003c/li\u003e\n                    \u003cli\u003eChanged \u003ccode\u003eCommandAPI.fail()\u003c/code\u003e so it doesn't automatically throw the exception it generates\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.5.4\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMarch 2022\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eSupport for Minecraft 1.18.2\u003c/li\u003e\n                    \u003cli\u003eImprove converted command support for \u003ccode\u003e/execute at\u003c/code\u003e and \u003ccode\u003e/execute positioned\u003c/code\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.5.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eSupport for Minecraft 1.18.1\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.5.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix Maven build script with 6.5.1, fixing broken CommandAPI annotation builds\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.5.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix Maven build script with 6.5.0, fixing broken CommandAPI shaded builds\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.5.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.18 (requires Java 17)\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.4.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eNovember 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for CommandAPI command help topics via \u003ccode\u003e/help\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eImprove CommandAPI initialization stability\u003c/li\u003e\n                    \u003cli\u003e(Hopefully) fix conflicting issues with duplicate Bukkit and CommandAPI command names\u003c/li\u003e\n                    \u003cli\u003eCode cleanup (fix a lot of minor warnings)\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.3.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes issue with converted commands where executing as a player with lower permissions fails\u003c/li\u003e\n                    \u003cli\u003eAdds very limited support for plugin reloading by unregistering commands on disable\u003c/li\u003e\n                    \u003cli\u003eFixes issue where converted commands with greedy string arguments would almost always fail\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.3.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds a new constructor to \u003ccode\u003eCustomArgument\u003c/code\u003e which takes in a record containing all inputs\u003c/li\u003e\n                    \u003cli\u003eAdds support for \u003ccode\u003eCustomArgument\u003c/code\u003e's parser to use previously declared arguments\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.2.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds config option to customize messages\u003c/li\u003e\n                    \u003cli\u003eAdds config option to use the latest NMS version\u003c/li\u003e\n                    \u003cli\u003eUpdate documentation instructions for shading with Maven\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.1.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for 1.17.1\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.0.5\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix issue where converted commands which didn't use entity selectors would always fail\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.0.4\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix issue where some multi literal arguments would be skipped, causing a crash\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.0.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix issue where custom CommandSender subclasses could not run CommandAPI commands\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.0.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug where multi literal arguments would crash due to poor array preservation\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.0.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug where the CommandAPI would crash if it tries to register duplicate permissions\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e6.0.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cb\u003eVersion support changes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.17\u003c/li\u003e\n                    \u003cli\u003eDrops support for Minecraft 1.16.4 and below\u003c/li\u003e\n                    \u003cli\u003eChanges build version from Java 8 to Java 16\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eDevelopment improvements:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eSwitches version convention to use Semanic Versioning\u003c/li\u003e\n                    \u003cli\u003eUses CodeFactor.io for code quality checking\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eNew features:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eOfflinePlayerArgument\u003c/code\u003e for offline players\u003c/li\u003e\n                    \u003cli\u003eAdds a way to add suggestions to existing vanilla suggestions\u003c/li\u003e\n                    \u003cli\u003eAdds a way to access the \u003ccode\u003eCommandSender\u003c/code\u003e for \u003ccode\u003eCustomArgument\u003c/code\u003e parsing\u003c/li\u003e\n                    \u003cli\u003eAdds support for Paper's console tab-completion\u003c/li\u003e\n                    \u003cli\u003eAdds a way to completely silence all CommandAPI logs\u003c/li\u003e\n                    \u003cli\u003eAdds access to the current input and current argument input for argument suggestions\u003c/li\u003e\n                    \u003cli\u003eImprove API for setting configuration for plugins that shade the CommandAPI\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eBug fixes:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes bug with converted commands crashing due to poor interface proxying\u003c/li\u003e\n                    \u003cli\u003eAdds a way to access the \u003ccode\u003eCommandSender\u003c/code\u003e for \u003ccode\u003eCustomArgument\u003c/code\u003e parsing\u003c/li\u003e\n                    \u003cli\u003eAdds support for Paper's console tab-completion\u003c/li\u003e\n                    \u003cli\u003eAdds a way to completely silence all CommandAPI logs\u003c/li\u003e\n                    \u003cli\u003eFix bugs where the NBTAPI wouldn't be hooked into properly\u003c/li\u003e\n                    \u003cli\u003eFixes critical issue where converted commands with entity selectors may sometimes just not run\u003c/li\u003e\n                \u003c/ul\u003e\n                \u003cb\u003eOther:\u003c/b\u003e\n                \u003cul\u003e\n                    \u003cli\u003eImproves overall performance\u003c/li\u003e\n                    \u003cli\u003eImproves performance for the \u003ccode\u003ePotionArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eImproves performance for the \u003ccode\u003eMathOperationArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eFixes spacing issues with code blocks in the documentation\u003c/li\u003e\n                    \u003cli\u003eFixes invalid code examples in the documentation\u003c/li\u003e\n                    \u003cli\u003eFixes typos in the documentation\u003c/li\u003e\n                    \u003cli\u003eAdds syntax highlighting for command code blocks in the documentation\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.12\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eMoves the Maven repo for 5.12 and future updates to jitpack.io\u003c/li\u003e\n                    \u003cli\u003eFixes issue with sound arguments on Minecraft 1.16.4 and 1.16.5\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.11\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAllows converted commands to use entity selectors in plugin commands\u003c/li\u003e\n                    \u003cli\u003eAllows arbitrary commands to be converted with the CommandAPI's converter system\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.10\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Paper's Adventure API for ChatComponent and Chat arguments.\u003c/li\u003e\n                    \u003cli\u003eDeprecated a few methods in favour of some slightly better ones.\u003c/li\u003e\n                    \u003cli\u003eUpdate proxied sender for Spigot 1.16.5\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.9\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eFebruary 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixed a critical bug where plugin conversion would run the caller methods instead of callee methods, which prevented command blocks from running commands.\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.8\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eRemoved a debug \u003ccode\u003e/test\u003c/code\u003e command which wasn't supposed to be released!\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.7\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdd support for Minecraft 1.16.5\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.6\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug where plugins that use \u003ca href=\"https://github.com/aikar/commands\"\u003eAikar's ACF\u003c/a\u003e were incompatible with the CommandAPI\u003c/li\u003e\n                    \u003cli\u003eAdd a new configuration option \u003ccode\u003eskip-sender-proxy\u003c/code\u003e which prevents certain plugins from running properly\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.5\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2021\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug with annotations where \u003ccode\u003e@NeedsOp\u003c/code\u003e didn't work if placed on a class\u003c/li\u003e\n                    \u003cli\u003eFix bug where entity selector arguments with \u003ccode\u003e@\u003c/code\u003e selectors return empty values if the sender is not op\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.4\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug where the NBT-API wasn't compatible with the CommandAPI when both are shaded into a plugin\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eNovember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug where permissions weren't being applied for subcommands and multi literal arguments\u003c/li\u003e\n                    \u003cli\u003eAdds detection system for command graph conflicts\u003c/li\u003e\n                    \u003cli\u003eAdds a way to \"negate\" permissions using \u003ccode\u003e.withoutPermission\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eAdds an annotation-based command framework\u003c/li\u003e\n                    \u003cli\u003eFix minor documentation inaccuracies\u003c/li\u003e\n                    \u003cli\u003eFix bug where converted commands didn't apply multiple parameters\u003c/li\u003e\n                    \u003cli\u003eThe fields in \u003ccode\u003eCommandAPICommand\u003c/code\u003e can now be accessed via getters and setters\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eNovember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eCommandAPI.reloadDatapacks()\u003c/code\u003e method to reload datapacks in the same way the CommandAPI does\u003c/li\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.16.4\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes bug where converted commands could not be executed by players ingame\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003ewithPermission(String)\u003c/code\u003e to arguments and CommandAPICommands\u003c/li\u003e\n                    \u003cli\u003eAdds SimpleFunctionWrapper with helper methods to get functions and tags from ingame, as well as run them without needing to parse them via commands\u003c/li\u003e\n                    \u003cli\u003eGreatly improve the type-safety of the internal CommandAPI code\u003c/li\u003e\n                    \u003cli\u003eMove the \u003ccode\u003eBrigadier\u003c/code\u003e class outside of the \u003ccode\u003eCommandAPIHandler\u003c/code\u003e class\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e5.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003e\u003cb\u003eNote: This version is incompatible with any plugin that used the CommandAPI version 4.3c or below! (See documentation for more information)\u003c/b\u003e\u003c/li\u003e\n                    \u003cli\u003eAPI improvements:\u003c/code\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eThe \u003ccode\u003e.withArguments\u003c/code\u003e method can now take varargs\u003c/li\u003e\n                        \u003cli\u003eString tooltips are now much easier to implement for custom objects using \u003ccode\u003eIStringTooltip\u003c/code\u003e\u003c/li\u003e\n                        \u003cli\u003eRemoves \u003ccode\u003eLinkedHashMap\u003c/code\u003e for argument registration in favour of \u003ccode\u003eList\u003c/code\u003e\u003c/li\u003e\n                    \u003c/ul\u003e\n                    \u003cli\u003eAdds subcommands\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eAngleArgument\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eArguments can now be omitted from the \u003ccode\u003eObject[] args\u003c/code\u003e using the method \u003ccode\u003e.setListed()\u003c/code\u003e. This means Literal arguments can now be \"present\" in the arguments if desired.\u003c/li\u003e\n                    \u003cli\u003eRemove lots of reflection calls, so start up should be a little faster\u003c/li\u003e\n                    \u003cli\u003eBug fixes:\u003c/li\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eFixes bug where verbose logging of permission linking was inaccurate\u003c/li\u003e\n                        \u003cli\u003eFixes bug where overriding suggestions can break when generating suggestions\u003c/li\u003e\n                        \u003cli\u003eFixes bug where \u003ccode\u003enull\u003c/code\u003e could appear in the suggestions list of arguments\u003c/li\u003e\n                        \u003cli\u003eCommandAPI's non-verbose logging is now actually quiet\u003c/li\u003e\n                        \u003cli\u003eFixes bug where converted commands couldn't be run from the console\u003c/li\u003e\n                        \u003cli\u003eFixes bug where \u003ccode\u003eLongArgument\u003c/code\u003e wouldn't let you use long values as minimum or maximum\u003c/li\u003e\n                    \u003c/ul\u003e\n                    \u003cli\u003eCommand conversion improvements:\u003c/li\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eThe \u003ccode\u003eConverter.convert()\u003c/code\u003e method can now take varargs for arguments\u003c/li\u003e\n                        \u003cli\u003eCommand conversion code that was specific to the CommandAPI plugin is no longer included in the shaded version of the CommandAPI\u003c/li\u003e\n                        \u003cli\u003eCommand conversion in the configuration for server owners can now let server owners apply their own command argument implementations!\u003c/li\u003e\n                    \u003c/ul\u003e\n                    \u003cli\u003eDocumentation improvements:\u003c/li\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eDocumentation code examples are now guaranteed to compile\u003c/li\u003e\n                        \u003cli\u003eThe list of CommandAPI arguments to Minecraft argument IDs is now in the documentation\u003c/li\u003e\n                    \u003c/ul\u003e\n                    \u003cli\u003eCommandAPI-Brigadier improvements:\u003c/li\u003e\n                    \u003cul\u003e\n                        \u003cli\u003eAdds \u003ccode\u003etoSuggestions()\u003c/code\u003e to the CommandAPI-Brigadier library to convert CommandAPI suggestions into Brigadier's \u003ccode\u003eSuggestionProvider\u003c/code\u003e\u003c/li\u003e\n                        \u003cli\u003eCommandAPI-Brigadier library methods got renamed\u003c/li\u003e\n                        \u003cli\u003eChanged the way literal arguments are constructed in the CommandAPI-Brigadier library - they are no longer unnecessarily registered into the command graph\u003c/li\u003e\n                    \u003c/ul\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.3c\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes bug where function loading would break because permissions could not be properly computed\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.3b\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes minor command sender related bugs from 4.3a. Fixes permissions with \u003ccode\u003e/execute ... as ...\u003c/code\u003e from converted commands\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.3a\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes a bug where running converted commands via \u003ccode\u003e/execute ... as ...\u003c/code\u003e wouldn't apply the command sender correctly\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug where resulting command executors with command block senders would not work\u003c/li\u003e\n                    \u003cli\u003eImproves the power of command conversion by letting you declare CommandAPICommand arguments for conversion\u003c/li\u003e\n                    \u003cli\u003eAdds support for YAML's \"null\" for command conversion via the config.yml file, which should be way more comprehensible rather than trailing colons\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.16.3\u003c/li\u003e\n                    \u003cli\u003eFixes a bug where shading the CommandAPI and the NBT-API together causes the CommandAPI to incorrectly think that the NBT-API isn't present\u003c/li\u003e\n                    \u003cli\u003eFixes a bug where commands with redirects (4.0+ aliases and redirects from /execute) that have two consecutive arguments with suggestions would spam the console and not provide suggestions\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ccode\u003eNativeProxyCommandSender\u003c/code\u003e which lets you access the location and world of a command sender via \u003ccode\u003e/execute in|positioned|at|facing|rotated\u003c/code\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eSeptember 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAllows the CommandAPI to be shaded into plugins\u003c/li\u003e\n                    \u003cli\u003eAdds a way to set hover tooltips for suggestions\u003c/li\u003e\n                    \u003cli\u003eAdds multi-literal arguments\u003c/li\u003e\n                    \u003cli\u003eAdds a logo!\u003c/li\u003e\n                    \u003cli\u003eAdds a new method to the CommandAPI/Brigadier system to easily create Brigadier arguments from CommandAPI arguments\u003c/li\u003e\n                    \u003cli\u003e\u003cb\u003eRename maven modules\u003c/b\u003e You can view more information about this on the \u003ca href=\"https://github.com/CommandAPI/CommandAPI/tree/mvn-repo\"\u003epublic maven repository\u003c/a\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e4.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eSuggestion overriding can now be populated by Bukkit objects instead of strings\u003c/li\u003e\n                    \u003cli\u003eFixes a bug with the \u003ccode\u003eFloatRangeArgument\u003c/code\u003e where it caused a casting error\u003c/li\u003e\n                    \u003cli\u003eAdds support for 1.16.2\n                        \u003cul\u003e\n                            \u003cli\u003e\u003ccode\u003eChatArgument\u003c/code\u003e now works on Minecraft 1.16.2 (still doesn't work on 1.16.1)\u003c/li\u003e\n                        \u003c/ul\u003e\n                    \u003c/li\u003e\n                    \u003cli\u003eAdds new arguments:\n                        \u003cul\u003e\n                            \u003cli\u003e\u003ccode\u003eUUIDArgument\u003c/code\u003e\u003c/li\u003e\n                            \u003cli\u003e\u003ccode\u003eItemStackPredicateArgument\u003c/code\u003e\u003c/li\u003e\n                            \u003cli\u003e\u003ccode\u003eBlockPredicateArgument\u003c/code\u003e\u003c/li\u003e\n                        \u003c/ul\u003e\n                    \u003c/li\u003e\n                    \u003cli\u003eFix bug where \u003ccode\u003eCustomArgument\u003c/code\u003es break when using the namespaced key flag\u003c/li\u003e\n                    \u003cli\u003eAdds a list of commands that \u003ccode\u003eFunctionWrapper\u003c/code\u003e executes which is now accessible\u003c/li\u003e\n                    \u003cli\u003eCommand aliases are now much more efficient \u003c/li\u003e\n                    \u003cli\u003eDocumentation changes (briefly):\n                        \u003cul\u003e\n                            \u003cli\u003e\u003ccode\u003eBlockStateArgument\u003c/code\u003e is now documented properly\u003c/li\u003e\n                            \u003cli\u003eDocumentation now has pictures to show you what arguments look like\u003c/li\u003e\n                            \u003cli\u003eDocumentation now has a page dedicated to what doesn't work on what Minecraft version\u003c/li\u003e\n                        \u003c/ul\u003e\n                    \u003c/li\u003e\n                    \u003cli\u003eAdds Brigadier support for developers (lets you use the CommandAPI and Brigadier code side by side!)\u003c/li\u003e\n                    \u003cli\u003eFixes a bug where Java 12+ had incompatibility issues\u003c/li\u003e\n                    \u003cli\u003eAdds support for setting arbitrary requirements to arguments and commands\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e3.4\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug with custom recipes not registering in Minecraft 1.16+\u003c/li\u003e\n                    \u003cli\u003eFix bug where command conversion didn't actually register commands\u003c/li\u003e\n                    \u003cli\u003eAdds command conversion as a built-in feature via the CommandAPI's \u003ccode\u003econfig.yml\u003c/code\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e3.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes a bug where functions didn't work in Minecraft 1.16+\u003c/li\u003e\n                    \u003cli\u003eFixes a bug where spigot produces a warning about api-versions\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e3.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes a bug with \u003ccode\u003e.overrideSuggestions()\u003c/code\u003e from version 3.1\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e3.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes bug where command senders didn't work properly, causing commands to not work properly\u003c/li\u003e\n                    \u003cli\u003eAdds the ability to override suggestions with the information of previously declared argument\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e3.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJune 2020\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003e\u003cb\u003eNote: This version is incompatible with pre 3.0 versions CommandAPI plugins (See documentation for more information)\u003c/b\u003e\u003c/li\u003e\n                    \u003cli\u003eComplete code refactor to make command syntax slightly more intuitive and consistent\u003c/li\u003e\n                    \u003cli\u003eRemoves lots of reflection to improve performance\u003c/li\u003e\n                    \u003cli\u003eAdds better documentation\u003c/li\u003e\n                    \u003cli\u003eAdds JavaDocs\u003c/li\u003e\n                    \u003cli\u003eAdds support for 1.16.1\u003c/li\u003e\n                    \u003cli\u003eAdds new command executors (These let you filter commands based on what type of command executor runs the command):\n                        \u003cul\u003e\n                            \u003cli\u003ePlayer command executors\u003c/li\u003e\n                            \u003cli\u003eCommand block command executors\u003c/li\u003e\n                            \u003cli\u003eConsole command executors\u003c/li\u003e\n                            \u003cli\u003eEntity command executors\u003c/li\u003e\n                            \u003cli\u003eProxied command executors\u003c/li\u003e\n                        \u003c/ul\u003e\n                    \u003c/li\u003e\n                    \u003cli\u003eAdds new arguments:\n                        \u003cul\u003e\n                            \u003cli\u003eAxis Argument\u003c/li\u003e\n                            \u003cli\u003eBiome Argument\u003c/li\u003e\n                            \u003cli\u003eChatColor Argument\u003c/li\u003e\n                            \u003cli\u003eChat Argument\u003c/li\u003e\n                            \u003cli\u003eFloatRange Argument\u003c/li\u003e\n                            \u003cli\u003eIntegerRange Argument\u003c/li\u003e\n                            \u003cli\u003eLocation2D Argument\u003c/li\u003e\n                            \u003cli\u003eMathOperation Argument\u003c/li\u003e\n                            \u003cli\u003eNBT Argument (NBTAPI required)\u003c/li\u003e\n                            \u003cli\u003eScoreboard arguments:\n                                \u003cul\u003e\n                                    \u003cli\u003eObjective Argument\u003c/li\u003e\n                                    \u003cli\u003eObjectiveCriteria Argument\u003c/li\u003e\n                                    \u003cli\u003eScoreboardSlot Argument\u003c/li\u003e\n                                    \u003cli\u003eScoreHolder Argument\u003c/li\u003e\n                                    \u003cli\u003eTeam Argument\u003c/li\u003e\n                                \u003c/ul\u003e\n                            \u003c/li\u003e\n                            \u003cli\u003eTime Argument\u003c/li\u003e\n                            \u003cli\u003eRotation Argument\u003c/li\u003e\n                            \u003cli\u003eEnvironment Argument\u003c/li\u003e\n                            \u003cli\u003eRemoves old arguments:\n                                \u003cul\u003e\n                                    \u003cli\u003eSuggestedStringArgument\u003c/li\u003e\n                                    \u003cli\u003eDynamicSuggestedStringArgument\u003c/li\u003e\n                                    \u003cli\u003eDefinedCustomArguments\u003c/li\u003e\n                                \u003c/ul\u003e\n                            \u003c/li\u003e\n                        \u003c/ul\u003e\n                    \u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e2.3a\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.15, 1.15.1 and 1.15.2\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e2.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFixes bug where permissions didn't work\u003c/li\u003e\n                    \u003cli\u003eFixes bug where functions weren't working on 1.14.3 and 1.14.4\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e2.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds support for Minecraft 1.13 and 1.13.1 \u003ci\u003e(Funny isn't it? It's called the 1.13 CommandAPI but never supported Minecraft 1.13 until now)\u003c/i\u003e\u003c/li\u003e\n                    \u003cli\u003eImproves support for different versions\u003c/li\u003e\n                    \u003cli\u003eAdds pointless witty comments into changelog notes\u003c/li\u003e\n                    \u003cli\u003eAdds \u003ca href=\"https://github.com/CommandAPI/1.13-Command-API-SafeReflection\"\u003e1.13-Command-API-SafeReflection\u003c/a\u003e library to greatly improve reliability of reflection calls\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e2.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJuly 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds RecipeArgument\u003c/li\u003e\n                    \u003cli\u003eAdds SoundArgument\u003c/li\u003e\n                    \u003cli\u003eAdds AdvancementArgument\u003c/li\u003e\n                    \u003cli\u003eAdds LootTableArgument\u003c/li\u003e\n                    \u003cli\u003eAdds support for 1.14.3 and 1.14.4\u003c/li\u003e\n                    \u003cli\u003eFixes bug where aliases weren't registering properly (\u003ca href=\"https://github.com/CommandAPI/CommandAPI/issues/43\"\u003e#43\u003c/a\u003e)\u003c/li\u003e\n                    \u003cli\u003eFix documentation for tooltips\u003c/li\u003e\n                    \u003cli\u003eImprove documentation for dependencies and repositories\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e2.0.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix a bug where Brigadier was required as a dependency to build plugins\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e2.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eMay 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eCompatibility for 1.14\u003c/li\u003e\n                    \u003cli\u003eMajor overhaul of the CommandAPI's internals - greatly improves performance\u003c/li\u003e\n                    \u003cli\u003eDeprecates SuggestedStringArgument, adding overrideSuggestions as an alternative for any argument type \u003c/li\u003e\n                    \u003cli\u003eAdds CustomArguments, allowing you to create your own ... custom arguments\u003c/li\u003e\n                    \u003cli\u003eExcludes dependencies from final jar (\u003ca href=\"https://github.com/CommandAPI/CommandAPI/issues/40\"\u003e#40\u003c/a\u003e)\u003c/li\u003e\n                    \u003cli\u003eAdds DefinedCustomArguments - CustomArguments that have been created by yours truly\u003c/li\u003e\n                    \u003cli\u003eDynamicSuggestedArguments now have access to the CommandSender (\u003ca href=\"https://github.com/CommandAPI/CommandAPI/issues/41\"\u003e#41\u003c/a\u003e)\u003c/li\u003e\n                    \u003cli\u003eAdds Loot Table support\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.8.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eJanuary 2019\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bug with PlayerArgument when player cannot be found\u003c/li\u003e\n                    \u003cli\u003eAdds LocationArgument options for block precision or exact precision\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.8.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix permissions for argument from 1.8\u003c/li\u003e\n                    \u003cli\u003eNeaten up logging with verbose outputs\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.8\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix bugs where DynamicSuggestedArguments don't work as the last argument\u003c/li\u003e\n                    \u003cli\u003eFix support for latest spigot version\u003c/li\u003e\n                    \u003cli\u003eAdds permissions for arguments\u003c/li\u003e\n                    \u003cli\u003eAdds support to override suggestions for arguments\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.7.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix a bug where default return value was 0 instead of 1, causing issues with commandblocks\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.7.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix a bug with permission checks. Other than that, it's the same as 1.7 (in terms of documentation)\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.7\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eDecember 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds DynamicSuggestedStringArguments for dynamically updating suggestions\u003c/li\u003e\n                    \u003cli\u003eAdds support for \u003ccode\u003esuccess\u003c/code\u003e and \u003ccode\u003eresult\u003c/code\u003e values for \u003ccode\u003e/execute store\u003c/code\u003e\u003c/li\u003e\n                    \u003cli\u003eOverhaul permissions system so it works properly\u003c/li\u003e\n                    \u003cli\u003e\u003cb\u003eNote: This version is incompatible with pre-1.7 version CommandAPI plugins\u003c/b\u003e\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.6\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eNovember 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds FunctionArguments to handle Minecraft functions\u003c/li\u003e\n                    \u003cli\u003eRemove useless test code\u003c/li\u003e\n                    \u003cli\u003eFix bug with ProxiedCommandSender callee and caller\u003c/li\u003e\n                    \u003cli\u003eAdds Converter for legacy plugin support\u003c/li\u003e\n                    \u003cli\u003eImproved performance by caching NMS better than in version 1.5\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.5\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds ChatComponentArgument to handle raw JSON\u003c/li\u003e\n                    \u003cli\u003eAdds SuggestedStringArgument to suggest strings\u003c/li\u003e\n                    \u003cli\u003eAdds config file\u003c/li\u003e\n                    \u003cli\u003eFix bug where command errors weren't being thrown\u003c/li\u003e\n                    \u003cli\u003eImproved performance by caching NMS\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.4\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eFix critical bug where arguments weren't being handled properly\u003c/li\u003e\n                    \u003cli\u003eAdds GreedyStringArgument\u003c/li\u003e\n                    \u003cli\u003eAdds various Exception classes\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.3\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eOctober 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eMigrate to Maven\u003c/li\u003e\n                    \u003cli\u003eRemove unnecessary reflection\u003c/li\u003e\n                    \u003cli\u003eAdds EntitySelectorArgument\u003c/li\u003e\n                    \u003cli\u003eAdds LiteralArgument\u003c/li\u003e\n                    \u003cli\u003eAdds support for ProxiedCommandSender\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.2\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds TextArgument\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.1\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eAdds PlayerArgument\u003c/li\u003e\n                    \u003cli\u003eAdds ParticleArgument\u003c/li\u003e\n                    \u003cli\u003eAdds ChatColorArgument\u003c/li\u003e\n                    \u003cli\u003eAdds EnchantmentArgument\u003c/li\u003e\n                    \u003cli\u003eAdds LocationArgument\u003c/li\u003e\n                    \u003cli\u003eAdds EntityTypeArgument\u003c/li\u003e\n                    \u003cli\u003eAdds permissions support\u003c/li\u003e\n                    \u003cli\u003eAdds alias support\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n        \u003ctr\u003e\n            \u003ctd valign=\"top\"\u003e\u003cb\u003e1.0\u003c/b\u003e\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003eAugust 2018\u003c/td\u003e\n            \u003ctd valign=\"top\"\u003e\n                \u003cul\u003e\n                    \u003cli\u003eInitial release\u003c/li\u003e\n                \u003c/ul\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n","funding_links":["https://ko-fi.com/jorelali"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommandapi%2Fcommandapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcommandapi%2Fcommandapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcommandapi%2Fcommandapi/lists"}