天才一秒记住【第一中文网】地址:www.dyzww.cc
在序言中,我们提到了一条指令由一个指令名+许多指令参数组成。
在学习过程中,你可能已经发现了,许多指令中经常出现以下参数:
实体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,我们以后再了解。
本章到此为止。