Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看 NBA模拟器!我十冠王朝! 网游之倒行逆施 有没有一种可能散人也能制霸全服 万族图鉴:你管这叫F级天赋? B级天赋,一样可以登顶 清冷炮灰?小黑屋在向你招手 死亡奖励神器!全服玩家求我别死 海贼:是大将黄猿但有木遁轮回眼 求生难?我一天一个黄金宝箱 日记与鉴赏
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的游戏小说

第九十章 命名空间ID

上一章 书 页 下一章 阅读记录

(本章已于2022年7月25日修改)

你该如何通过\/give指令获取到一颗钻石?

在minecraft pc1.7.2(Java版1.7.2)之前的版本中,物品只有数字Id,加上目标选择器没有@s,所以你只能这样子获得钻石:

\/give @p 264

对于原版来数字Id就够了,但这对于模组来就很不友好。举个例子,工业时代2(Industrial craft 2)模组添加了一个叫做『工业钻石』的物品,它的数字Id为。为什么这个Id要跑到这么后面?答案很简单:如果放在很前面的话,万一原版添加了个新的物品,或者某个mod也添加了Id一样的物品,那游戏岂不是分分钟崩掉?所以对于minecraft1.7.2版本之前的模组来,物品的Id就得弄成一个大数以降低冲突的风险,防止玩家的游戏因为Id冲突崩掉。

但随着minecraft玩家群体的增大,模组数量的增多,原版那一丁点儿Id分配空间就显得捉襟见肘了。mojang官方估计也注意到了这一点,于是自1.7.2版本开始,mojang开始尝试放弃数字Id,转为使用更加先进的:命名空间Id。

什么是命名空间Id?这个名词其实我们在第八章已经遇见过了,你也知道它大概长什么样:

xxxxxxxxx:xxxxxxxxx

命名空间Id(Namespaced identifier),又称资源路径(Resource location)或命名空间字符串(Namespaced string),是minecraft中一种为了正确识别到特定对象而尽量不产生歧义和冲突的一种方式。它普遍的格式如下:

命名空间:名称

不难发现,一个命名空间Id由左边的命名空间和右边的名称Id组成,两者使用英文半角冒号『:』分开。

在Java版,命名空间和名称只能含有阿拉伯数字『0』、写字母(旧版本也能含有大写字母)『abcdefghijklmnopqrstuvxyz』、下划线『_』、连字符『-』和点『.』,在名称中还能够使用正斜杠『\/』。

在基岩版,命名空间和名称能够含有除英文半角冒号『:』和正斜杠『\/』以外的所有字符,但有一些特殊情况:在战利品表和函数名称中,正斜杠『\/』也可以使用。

『命名空间Id』中的『命名空间』是什么?有什么用呢?

回到上面的钻石例子。我们现在有一个数字Id为264的钻石,但如果此时有另外一个模组也添加了一个相同Id的物品,也叫做『钻石』,这时候264这个数字Id就代表着两个物品:原版的钻石和这个模组的钻石。这时候游戏就会出现混乱,不出意外的话应该会崩掉。那么我们该如何解决这个问题呢?

要解决这个问题,我们就要找到一种方式,能够区分这两个『钻石』。区分的方式有很多,比如可以判断两个钻石引用的材质文件,可以判断两个钻石的代码,但万一材质也是同一个文件该怎么办?代码一模一样怎么办?我们必须找出一个最容易方便辨别的,也最不容易相同的,且两个钻石都具有的东西来判断。

这个东西究竟是什么呢?

假如你在某个b 站上发表了这么一句话来表达你宏大的志向:

『我是胡桃的狗!』

问题来了,这个『胡桃』指的是哪个胡桃呢?是《原神》的胡桃,还是《胡桃日记》的胡桃,还是东方旧作的胡桃,还是《公主连结》的胡桃,甚至是属于植物的胡桃?

不难发现,我们在描述不同的『胡桃』时,往往会在前面加上定语『xxx的』,其中xxx往往是某一个更高层面的东西,『的』用来区分两者。等等,让我们把『的』换成冒号,然后你就会发现:

原神:胡桃

胡桃日记:胡桃

东方project旧作:胡桃

公主连结:胡桃

植物:胡桃

虽然字符用的是中文,不符合minecraft Java版的规范。但如果抛开这点来,这完完全全不就是『命名空间Id』吗?!其趾原神』、『胡桃日记』、『东方project旧作』等就是『命名空间』。

但是这还不足以解释『命名空间』,让我们再换一个例子。

张三的电脑上有两个文件夹A和b,两个文件夹都具有一个叫做『music.mp3』的文件。由于这两个文件在不同的文件夹下面,因此不会发生冲突,计算机能够正常识别它们。如果它们是在同一个文件夹下面,那么计算机识别的时候就会发生混乱,可能会直接跳出那个众所周知的蓝色窗口。在这边,文件己A』和『b』就代表命名空间。

但是我们仍然不能够清楚解释『命名空间』究竟是什么。其实,『命名空间』本身也并没有一个很准确的定义,它在不同的场合可能具有完全不同的意义,比如种类、游戏、公司、文件饥数据库、国家、学科等等等等。当然,如果你的抽象思维比较好的话,你当然可以把它想象成一个空间,至于这个空间究竟是什么你不用去管。同样的名称在不同的空间被赋予上不同的意义,并且不会和其他名称发生冲突,因为两个名称虽然一样,但处于不同的命名空间之郑

回到最开始的钻石例子,你应该已经想到如何区分原版和模组的钻石吧?这两个钻石就算本身完全一样,但它们所处的『空间』并不一样。其中一个钻石是『原版的钻石』,另外一个钻石是『模组的钻石』。我们只需要对比两个钻石所处的『空间』,也就是对比拥有这两个钻石的两个东西即可。mojang和其他第三方模组开发者也是这么想,所以在minecreaft Java1.7.2版本中引入的命名空间,就是这么干:

minecraft:diamond

\\\\我的世界的钻石\\\\

mod:diamond

\\\\模组的钻石\\\\

如今,随着版本的更迭,『命名空间Id』正在被用于越来越多的东西上。截止minecraft Java1.19.1和基岩版1.19.10版本,在原版中,命名空间已经用于这些东西:

方块、方块实体[JE]、液体[JE]、物品、实体种类、生物记忆[JE]、画[JE]、村民职业[JE]、村民种类[JE]、状态效果、药水效果[JE]、魔咒、粒子种类、维度[JE]、生物群系、统计[JE]、配方种类[JE]、配方序列化器[JE]、声音、战利品表、函数、进度[JE]、谓词[JE]、结构、配方[JE]、标签[JE]、方块状态文件[bE]、模型[bE]、纹理[bE]、boss栏[JE]、命令存储[JE]、命令参数[JE]、战利品表函数[JE]和战利品表种类[JE]。

这不列没事,一列出来吓一大跳,这么多。其实,一些第三方模组加载器早已为更多的东西加入了『命名空间Id』。比如在SpoNGE FoRGE海绵模组服务端中,为指令加上了『命名空间Id』。未来,随着mojang官方对数据包、行为包、附加包等『官方模组』的持续支持,原版游戏内必定会有更多的东西用上『命名空间Id』。

所以,你现在清楚『命名空间Id』是什么了吗?让我们重新获取一遍钻石,加深一下你对这东西的理解:

\/give @s minecraft:diamond

本章到此为止。

附表1:『命名空间Id』历史

Java

1.6.1——加入了『命名空间Id』和命名空间minecraft

1.7.2——命令现在能够使用『命名空间Id』

1.8——几乎所有命令现在不再接受数字Id

1.11——命名空间Id现在不允许使用大写字母,并加入了字符限制

1.13——命名空间Id现在变为唯一可以被接受的Id形式,数字Id被完全移除

1.14.4——客户端资源包加入了realms命名空间

1.16——实体的属性现在也使用命名空间Id

携带版\/基岩版

1.12.0——加入了命名空间和minecraft前缀,使得附加包能够向游戏内添加新的东西

附表2:dinnerbone对命名空间Id的评论

this isn't a ne concept, but I thought I should reiterate hat a “namespace“ is. most things in the game has a namespace, so that if e add something and a mod (or map, or hatever) adds something, they're both different somethings. henever you're asked to name something, for example a loot table, you're expected to also provide hat namespace that thing es from. If you don't specify the namespace, e default to minecraft. this means that something and minecraft:something are the same thing.

这不是一个新概念,但是我想我应重申一下什么是“命名空间”。游戏中的大多数东西都有一个命名空间,以便在我们加入了something的同时一个mod(或地图,或其他)也加入了something时来区分它们两个。当您要为某个东西命名时,例如一个战利品表,您还需要指定这个东西所属的命名空间。如果您不指定命名空间,我们默认它是minecraft。这意味着something和minecraft:something是一回事。

——原文来自『

——翻译来自中文minecraft iki

喜欢Minecraft指令手册请大家收藏:(m.aizhuixs.com)Minecraft指令手册爱追小说网更新速度最快。

上一章 目 录 下一章 存书签
站内强推 代号:清道夫 桃树林里桃花开 寡妇娇又魅,帝王把持不住了 夫君今天又挨揍了 冰山女战神的护身狂医 我在修真界苟道长生 大唐十万里 穿书七零:作精女配靠玄学躺赢 战神归来之孟扬 红楼从庶子开始 福女种田忙,全家悔断肠 灵气复苏:开局入住神级养老院 说我不配当师兄,我退宗了你哭啥 数据入侵:我培养千万战士 关灯!神秘老公深深宠 清穿:卷王四爷的娇养好孕侧福晋 全能基地 女主太强怎么办 重生快意人生 恐怖降临【鬼门】
经典收藏 NBA模拟器!我十冠王朝! 网游之倒行逆施 抵死缠绵:驯服小悍妻 晚来 无‘颜’的爱 最后御主与魔魂龙心 我的舢舨能升级 篮坛圆梦大师:我带你们拿冠军 斗罗之武魂是雷电 穿越从山贼开始 绝顶枪王 传奇私服之最强钻石 漫漫八重樱:野球计算王 NBA:开局融合鲨鱼文班亚马 店长的见鬼日常 闲时无聊写一写 召唤圣剑 CSGO:我是战术大师 网游之剑走偏锋 倾世狐妃 漂亮笨蛋他又在修罗场
最近更新 皇上不好了,鹂妃娘娘杀疯了 开局超S级天赋,我把求生当度假 御兽:我的数码兽很淦 少年白马之红尘剑仙 兵种无限附加金词条,无敌怎么了 我们共同的秘密 海贼:国服路飞不给就送! 全民领主:我有一颗黑龙之心 全民无限求生,开局杀怪爆宝箱 网游之直面新世界 普攻永久加生命,阁下如何应对? NBA数据自由定制,谗哭科詹库 新还珠之皆大欢喜 领主求生:从残破小院开始攻略 网游:从一场邂逅开始 名柯秘闻:毛利兰能听柯南心声 崩坏:始于树梢的回响 综影视:一见钟情再见倾心 HP:晦涩长明 呼吸好像是为了going我
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的游戏小说