指令语法入门
从零看懂我的世界指令:目标选择器、相对与局部坐标、物品组件写法、execute 用法、常见报错,以及 1.14 ~ 26.3 各版本写法的区别。
命令的基本结构
一条命令由命令名和参数组成,参数之间用空格隔开,例如:
/give @p minecraft:diamond_sword 1在聊天栏输入时要带开头的 /;在命令方块、函数文件和服务器控制台里可以省略。聊天栏最多 256 个字符,更长的命令请放进命令方块(各工具底部都有“命令方块”按钮)。
目标选择器
| 选择器 | 含义 |
|---|---|
@p | 最近的玩家 |
@a | 所有玩家 |
@r | 随机一名玩家 |
@s | 执行命令的实体自己 |
@e | 所有实体 |
@n | 最近的一个实体 |
后面可以加方括号筛选,例如 @e[type=zombie,distance=..10,limit=1]。用 目标选择器工具 可以可视化拼装。
坐标
- 绝对坐标:
100 64 -200,就是 F3 里显示的坐标。 - 相对坐标:
~ ~1 ~,以执行位置为原点,~1表示加 1。 - 局部坐标:
^ ^ ^5,以视线方向为准,分别是左、上、前。不能和其他两种混用。
物品组件(1.20.5 以后)
物品的名字、附魔等写在物品 ID 后面的方括号里,1.21.5 及以后的格式是:
/give @p diamond_sword[custom_name={text:"神剑",color:"gold"},enchantments={sharpness:5}]1.20.4 及更早的版本用 NBT:/give @p diamond_sword{display:{Name:'{"text":"神剑","color":"gold"}'},Enchantments:[{id:"minecraft:sharpness",lvl:5s}]},这种写法在 1.20.5 以后已经失效。物品生成器 会按右上角所选的版本自动给出对应写法。
execute:改变执行条件
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s speed 1 2意思是:对每位玩家,以他的位置为准,如果脚下是金块,就给他速度效果。as 改变执行者,at 改变位置,if / unless 做判断,run 后面接要执行的命令。用 全命令生成器 可以一步步拼出来。
常见错误
- 未知或不完整的命令:命令名拼错,或者缺少必填参数。
- 只能选择一个实体:需要单个目标的参数(例如 tp 的目的地)用了 @a / @e,要加
limit=1。 - 版本不对:网上教程的写法常常和你的游戏版本不一样(例如 NBT 和组件、
keepInventory和keep_inventory)。先在右上角选好版本,再用本站生成的命令。