CommandAPI 50+参数类型完全清单:一次性掌握所有常用命令参数

发布时间:2026/8/23 12:33:38
CommandAPI 50+参数类型完全清单:一次性掌握所有常用命令参数 CommandAPI 50参数类型完全清单一次性掌握所有常用命令参数【免费下载链接】CommandAPIA Bukkit/Spigot API for the command UI introduced in Minecraft 1.13项目地址: https://gitcode.com/gh_mirrors/co/CommandAPICommandAPI是面向 Bukkit/Spigot 插件开发者的免费开源 API帮助你在 Minecraft 1.13 引入的原生命令 UI 中创建结构严谨、自带参数校验与 Tab 补全的插件命令。本文将一次性梳理 CommandAPI 内置的50 种命令参数类型让你看完即可选型不再到处翻源码。一、CommandAPI 是什么为什么新手该用它传统 Bukkit 插件处理/warp 名字这类命令时需要手动解析字符串、手动判断参数合法性。而 CommandAPI 把这套工作交给了**参数类型Argument**体系每个参数自带类型玩家、坐标、方块、粒子、物品……都有现成的参数类自动 Tab 补全参数名打一半玩家就能看到提示内置错误拦截非法输入直接被拒绝不会把脏数据传到你的代码里依赖快速上手在pom.xml中添加对应平台的依赖如 Spigot 版随后在插件的onLoad()中调用一次CommandAPI.onLoad(this)即可开始用CommandAPI.registerCommand(...)注册命令。CommandAPI.onLoad(this); // 插件启动时调用一次二、50 参数类型完全清单所有参数类型的统一登记处在核心模块commandapi-core/src/main/java/dev/jorel/commandapi/arguments/CommandAPIArgumentType.java。下表按使用场景分组覆盖 Bukkit/Spigot 平台可用源码位于commandapi-platforms/commandapi-bukkit/commandapi-bukkit-core/的arguments目录的全部常用类型。1️⃣ 基础原始类型最常用参数类内部标识适用场景StringArgumentbrigadier:string单个单词可加引号支持多词TextArgumentapi:text文本支持引号包裹的多词字符串GreedyStringArgumentapi:greedy_string贪婪吸收剩余全部输入放命令末尾IntegerArgumentbrigadier:integer整数LongArgumentbrigadier:long长整数DoubleArgumentbrigadier:double双精度小数FloatArgumentbrigadier:float单精度小数BooleanArgumentbrigadier:bool真/假IntegerRangeArgumentminecraft:int_range整数区间如1..10或5DoubleRangeArgumentminecraft:float_range小数组区间FloatRangeArgumentminecraft:float_range浮点区间含无穷大写法TimeArgumentminecraft:time时间如20t、3dUUIDArgumentminecraft:uuidUUIDNamespacedKeyArgumentminecraft:resource_location命名空间键如plugin:key2️⃣ 玩家与实体类型参数类内部标识适用场景PlayerArgumentminecraft:game_profile在线玩家自动补全玩家名AsyncOfflinePlayerArgumentapi:async_offline_player离线玩家异步查询不卡主线程EntitySelectorArgumentminecraft:entity实体选择器如e、p[teamred]EntityTypeArgumentminecraft:entity_summon实体种类如zombie、cowScoreHolderArgumentminecraft:score_holder计分板载体玩家/队伍/假玩家/FakePlayer3️⃣ 位置、维度与方向参数类内部标识适用场景LocationArgumentminecraft:vec3/block_pos3D 坐标精确坐标或方块整数坐标Location2DArgumentminecraft:vec2/column_pos2D 坐标柱子或水平面WorldArgumentminecraft:dimension维度/世界如overworldBiomeArgumentapi:biome生物群系如plainsRotationArgumentminecraft:rotation朝向角如90f -45fAngleArgumentminecraft:angle单个角度AxisArgumentminecraft:swizzle坐标轴如x、xyz4️⃣ 方块、物品与资源参数类内部标识适用场景BlockStateArgumentminecraft:block_state方块及其状态如oak_stairs[facingnorth]BlockPredicateArgumentminecraft:block_predicate方块谓词 JSON含 NBT/属性过滤ItemStackArgumentminecraft:item_stack物品堆 JSON含数量与 NBTItemStackPredicateArgumentminecraft:item_predicate物品谓词 JSONEnchantmentArgumentminecraft:item_enchantment附魔如sharpnessRecipeArgumentapi:recipe配方键LootTableArgumentapi:loot_table战利品表MapArgumentapi:map玩家地图物品NBTCompoundArgumentminecraft:nbt_compound_tagNBT 复合标签{a:1b}MathOperationArgumentminecraft:operation运算符如1、*0.55️⃣ 计分板、队伍与功能参数类内部标识适用场景ObjectiveArgumentminecraft:objective计分板目标ObjectiveCriteriaArgumentminecraft:objective_criteria计分板规则如deathCountTeamArgumentminecraft:team队伍ScoreboardSlotArgumentminecraft:scoreboard_slot计分板插槽如sidebarFunctionArgumentminecraft:function函数函数包里的 macroAdvancementArgumentapi:advancement进度AdvancementCommandArgumentapi:command整条子命令可递归EnvironmentArgumentapi:environment执行环境世界/维度上下文6️⃣ 粒子、药水与声音参数类内部标识适用场景ParticleArgumentminecraft:particle粒子效果如heart、flamePotionEffectArgumentminecraft:mob_effect药水效果如speedSoundArgumentapi:sound声音如note.pling7️⃣ 聊天文本类参数类内部标识适用场景ChatArgumentminecraft:message聊天消息BaseComponent 后端ChatColorArgumentminecraft:color聊天颜色如redChatComponentArgumentminecraft:component聊天组件 JSONAdventureChatArgument 等Paper Adventure 后端Paper 服务器上的富文本系列adventure.chat等 3 种8️⃣ 列表、字面量与自定义参数类内部标识适用场景ListArgumentapi:list重复上一个参数类型/give 玩家 物品...ListTextArgumentapi:list_text连续吸收多个单词文本LiteralArgument—固定字面量子命令分支如set、addMultiLiteralArgument—多个等价字面量如or和||都接受CustomArgument—完全自定义自己写解析与补全逻辑 提示想要自己造一个参数类继承SafeOverrideableArgument并实现解析逻辑即可范例可参考commandapi-core/src/main/java/dev/jorel/commandapi/arguments/CustomProvidedArgument.java与AbstractArgument.java。三、30 秒选型速查表你的命令该用哪个参数你要实现的命令效果首选参数类型/warp 名字传送到玩家保存点LiteralArgument StringArgument/tp 玩家 坐标传送玩家PlayerArgument LocationArgument/summon 生物 坐标刷怪EntityTypeArgument LocationArgument/setblock 坐标 方块改方块LocationArgument BlockStateArgument/give 玩家 物品发物品PlayerArgument ItemStackArgument/particle 粒子 坐标放粒子ParticleArgument LocationArgument命令末尾的任意一段自由文本GreedyStringArgument参数不合法时想要自定义提示任意参数的withErrorConsumer(...)一个典型组合示例把参数链式接在子命令后面// 注册 /tp 玩家 坐标 CommandAPI.registerCommand(new CommandAPICommand(tp) .withArguments(new LiteralArgument(here), new PlayerArgument(target), new LocationArgument(pos)) .withExecutor(cmd - { /* cmd.arg(target) 拿到玩家对象 */ }));四、进阶小技巧错误自定义所有参数都支持.withErrorConsumer(...)把请输入有效坐标这类提示改成你自己的文案。补全增强继承AbstractArgument覆写建议逻辑可为任意参数类型追加自定义 Tab 补全。Kotlin 用户项目提供 Kotlin DSLcommandapi-kotlin/目录可以用中缀语法把参数链写得更流畅。注解式命令不想手写注册代码commandapi-annotations/提供了Command、Subcommand、Alias等注解见annotations_spec_doc.md的用法说明方法参数直接标注参数类型即可。五、源码与文档在哪里看参数类型总表commandapi-core/src/main/java/dev/jorel/commandapi/arguments/CommandAPIArgumentType.javaBukkit 参数实现commandapi-platforms/commandapi-bukkit/commandapi-bukkit-core/src/main/java/dev/jorel/commandapi/arguments/核心框架入口commandapi-core/src/main/java/dev/jorel/commandapi/CommandAPI.java完整版本兼容表见项目根目录README.md支持 Minecraft 1.13 至 26.1想动手试试克隆仓库后即可在examples/bukkit/目录下找到 Maven、Gradle、Kotlin 等多种接入方式的示例工程仓库地址https://gitcode.com/gh_mirrors/co/CommandAPI。掌握这份 50 参数类型清单你的插件命令将从能跑进化为原生体验——和玩家敲的每条原版命令一样顺滑。【免费下载链接】CommandAPIA Bukkit/Spigot API for the command UI introduced in Minecraft 1.13项目地址: https://gitcode.com/gh_mirrors/co/CommandAPI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考