第二十九章 更深入地了解指令参数
在序言中,我们提到了一条指令由一个指令名+许多指令参数组成。
在学习过程中,你可能已经发现了,许多指令中经常出现以下参数:
实体ID
方块ID
物品ID
值:Int整形
.......
上面这些参数中,前三者被统一叫做ID参数(命名空间ID参数)。ID参数实际上不止这三个,还有药水效果ID(/effect指令)、魔咒ID(/enchant),但由于这三个最常见,所以这儿就拿它们三研究。
ID参数都有一个特点:都具有命名空间
什么是命名空间?举个例子,原版钻石ID名是diamond,但在游戏里这个钻石ID名是:
minecraft:diamond
前面的『minecraft:』就是这个ID的命名空间。
命名空间有什么用?还是以钻石举例,假设此时有一个模组,其中也有一个ID是diamond的“金刚石”。如果没有命名空间,那么这个模组就会与原版游戏发生冲突。而有命名空间的情况下,这个问题就得到了解决,因为这个模组的“金刚石”,在模组中其ID实际上是:
mining_industry:diamond
关于命名空间更深入的研究以后再来,现在让我们来看看ID参数普遍的格式:
[命名空间]:<ID>
需要注意的是,部分ID参数命名空间是必填的,如基岩版/summon的生物事件参数。大部分ID参数命名空间是默认为『minecraft:』。
大部分ID参数都是这个格式,但也有少数ID参数在Java1.13更新后具有更多的格式:
--方块ID参数
命名空间:方块ID[方块状态]{方块NBT}
--物品ID参数
命名空间:物品ID{物品NBT}
关于方块状态和物品NBT,我们以后再了解。
本章到此为止。