第95章命名空间
众所周知,钻石的英文id是:diamond。
在原版,diamond,指的就只有钻石。
但是,如果你加了一个mod,其中有一个物品,它的英文id也是diamond,此时如果用/give来指定获得diamond,就.......
mojang不仅良心,而且聪明,他们很快就想到了一个办法,这个办法叫做:命名空间
命名空间,全称命名空间id,英文namespacedidentifier,又称“资源路径”(resourcelocation)或“命名空间字符串“(namespacedstring)。
命名空间,可以有效地区分出各类游戏的对象,避免出现冲突,导致.......minecraft已停止运行
(但是听说easecation也经常把minecraft弄得停止运行[滑稽])
众所周知,minecraft叫做minecraft,所以游戏本身的物品,它的命名空间就是minecraft。
所以,原版钻石(diamond)的全称是——minecraft:diamond
这就是命名空间的格式:
命名空间:名称
(至于为什么没有使用之前说的格式括号,因为要让安卓手机的各位读者能够看得懂)
(当然中间那个符号是冒号,不是比)
当然,默认的命名空间是minecraft,也就是说,如果你不填命名空间,那么diamond还是原版的diamond。
所以minecraft是不会因为这个而停止运行的。
倒是作者好像已经闻到了显卡的香........哎哎哎,那个小黑你不要把这个红石块放下来,这里可是tn——
看来应该去找台天河一号去玩minecraft了。
当然,不只是物品有命名空间,在mc,只要是个东西,都有命名空间。
比如你养的猫,它的全部id是:
minecraft:cat
再比如你获得的幸运效果(luck),它也是:
minecraft:luck
还有结构:
minecraft:village
甚至上一章的战利品表的函数:
{“pools“:[{......:[{.......“function“:[{“function“:“minecraft:set_count“}]}]}]}
以及条件:
{“pools“:[{“condition“:[{“condition“:“minecraft:random_chance“}]}]}
当然,对于命名空间,还是有一些字符限制,命名空间只允许:
1234567890——数字
abcdefghijklmnopqrstuvwxyz——26个小写字母
_——下划线
-——连字符号(你仔细看就看得到了)
当然,这些规则只在java版的命名空间才有出现,基岩版的话......
只要不是/和:都可以接受,因为/和:这两个符号另有作用。
命名空间在minecraft是很常见的,除了以上的举例,命名空间还适用于:
物品
实体
生物的记忆(仅java版)
画的名字(仅java版)
村民的职业(仅java版)
村民的种类(仅java版)
状态效果
药水效果(仅java版)
魔咒
颗粒
维度(仅java版)
生物群系
统计(仅java版)
配方(仅java版)