CommandAPI

一个用于使用 Minecraft 1.13 中引入的命令用户界面的 API。

资源图片
# 一个用于使用 Minecraft 1.13 中引入的命令 UI 的 Bukkit/Spigot API _[您需要的一切都可以在 GitHub 页面上找到](https://github.com/CommandAPI/CommandAPI)_ ## 什么是 CommandAPI? CommandAPI 提供了对 Minecraft 1.13 更新中实现的新的命令 UI 的全面支持。 ![CommandAPI 使用示例](https://i.imgur.com/Ol2c7sn.gif) 想及时了解最新信息?我们现在有一个 [Discord 服务器!](https://discord.gg/G4SzSxZ) ## 功能概述 - **更好的命令** - 防止玩家运行无效命令,方便开发者 - **更好的参数** - 自动参数解析,内置验证 - **支持代理命令发送者** - 使用 /execute as ... run command 作为其他实体运行你的命令 - **支持 /execute 命令** - 允许你的命令由内置的 /execute 命令执行 - **支持 Minecraft 的函数** - 允许你的命令从 Minecraft 的函数和标签执行 - **无需 plugin.yml 注册** - 命令不再需要在 plugin.yml 文件中注册 - **无其他依赖** - 您无需将 Brigadier 导入您的项目中即可使用 CommandAPI - **无跟踪** - CommandAPI 不会收集关于其插件的任何统计信息;您看到的就是您得到的内容! ## 参数类型转换 不再需要在命令运行后检查参数是否为整数,例如: ```java onCommand(CommandSender sender, Command command, String label, String[] args) { try { int i = Integer.parseInt(args[0]); // Do something with this number catch (NumberFormatException e) { // Do something with the fact this isn't a number... } } ``` 您可以放心地相信 CommandAPI 已经推断出您想要的任何类型,可以直接跳到这里: ```java new CommandAPICommand("mycommand") .withArguments(new IntegerArgument("myint")) .executes((sender, args) -> { int i = (int) args.get("myint"); // Do something with this number }) .register(); ``` CommandAPI 提供了超过 40 种不同的参数,以满足您的需求!自动转换为 Enchantments、EntityTypes、Locations、ItemStacks、PotionEffects 等等! ## CommandSender 类型检查 您将不再需要检查您的发送者是否为玩家! CommandAPI 提供了对各种命令发送者的自动命令发送者检查: ```java new CommandAPICommand("mycommand") .withArguments(arguments) .executesPlayer((player, args) -> { player.sendMessage("Hi " + player.getDisplayName()); }) .register(); ``` ## 文档 最新的文档可以在 [这里](https://commandapi.jorel.dev/latest.html) 找到。相信我,您以前从未见过如此优秀的文档。 ## 内置插件转换器 为您的插件的命令无法与 /execute 命令一起使用并且不知道如何编写代码而感到沮丧?CommandAPI 为您提供解决方案!借助其内置的插件命令转换系统,您可以使任何插件命令与 Minecraft 的 /execute 命令和数据包兼容! ## 仍然不信服? 它还能做什么: - 自动解析具有范围的整数 (强制您的命令仅接受一定范围内的值) - 处理整数和浮点坐标,以及使用 ~ 符号的相对坐标 - 解析原始 JSON 并将其直接转换为 BaseComponent[] - 解析在线玩家,并根据谁在线提供建议 - 创建自定义参数,将字符串解析为自定义定义的对象 - 将权限应用于特定参数 - 您需要权限才能查看建议的参数以及运行它 - 使未使用 CommandAPI 编写的插件与 /execute 命令兼容 - 像您可以在命令方块中一样处理命令的结果和成功 - 根据用户已经输入到命令提示符中的内容设置上下文感知的建议 还需要我多说吗?