Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看系统赋我长生,活着终会无敌 被女帝师父嫌弃的我,竟举世无敌 快穿之花式攻略男神手册 玄幻:成为瞎子,我游历江湖 多子多福,开局腰马合一 神道帝尊 他来时荣光万里 巨魔领主,娶妻魅魔 间客 开局神帝修为,打造无上势力 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第一百零四章 物品的显示属性

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

在minecraft中,每个物品都有自己的名字。比如『minecraft:diamond』这个物品就叫做『钻石』、『minecraft:air』就叫做空气......但物品的名字并不是一直都不变的,我们可以通过铁砧来更改物品的显示名称,比如把『钻石』更改为『煤炭』,把『空气』更改为『黄金』.......

但用铁砧改名字十分麻烦,那有没有一种方法,能够通过指令更改物品的名称呢?

在Java版中,是有的。这种方法就是:指定或修改物品的显示属性。

什么是物品的显示属性?我们知道,一个物品有自己的名称,自己的图标(方块类物品除外),还有这个物品显示出来的信息。比如这把钻石剑,它就具有如下的显示属性:

[图标]——钻石剑的图标,是一把蓝色的剑

钻石剑——钻石剑的名称

在主手时:——这个和下面这些都是该物品的信息

7 攻击伤害

1.6 攻击速度

minecraft:diamond_sword ——这个和下面的是打开高级提示框后才会显示的信息

Nbt : 1个标签

(配图:104-1)

那我们该如何指定或修改物品的显示属性呢?很简单,通过物品的Nbt标签来修改。

物品的display标签,是一个复合标签,用来自定义该物品的显示属性。大部分物品并没有这个标签,因为对于游戏来说显示属性弄个默认值就好。

display这个复合标签内,有两到三个标签:

color(Int整形)——这个标签仅仅对皮革盔甲才有用,它可以指定皮革盔甲是什么颜色。

Name(文本)——该标签对任何物品都管用,它可以自定义该物品的名称。这东西必须要使用JSoN文本。在Java1.13以下版本中,可直接使用普通文本,但无法使用JSoN文本。

Lore(文本列表)——该标签对任何物品都管用,它可以自定义该物品的描述。列表中的文本必须要使用JSoN文本。在Java1.14以下版本中,可直接使用普通文本,但无法使用JSoN文本

看起来还是很简单的,让我们试试能不能获得一个名为『这不是钻石』的钻石:

\/give @s minecraft:diamond 1 0 {display:{Name:“这不是钻石“}}

\\\\适用于Java1.8~1.12.2\\\\

\/give @s minecraft:diamond{display:{Name:“\\“这不是钻石\\““}}

\\\\适用于Java1.13~今\\\\

\/give @s minecraft:diamond{display:{Name:'“这不是钻石“'}}

\\\\适用于Java1.14~今\\\\

上面给出了三条指令。这三条指令所适用的版本范围各有所不同,但功能都是一样的:会给你一个名叫『这不是钻石』的钻石。

值得注意的是,对于Java1.13及以上版本来说,Name的值虽然说『必须是一个JSoN文本』,但如果你尝试下面的指令:

\/give @s minecraft:diamond{display:{Name:“111“}}

这将会给你一个名叫『111』的钻石。注意!『111』在这并未使用JSoN文本,但游戏成功识别了它。这是怎么一回事?

其实不止Name标签,在minecraft Java版中任意必须使用JSoN文本的地方,都具有类似的特性:当使用阿拉伯数字时,可不使用JSoN文本。不信?试一试下面的指令:

\/tellraw @s

你会发现你正常收到了这条消息,游戏并未报错。对了,基岩版则没有类似的特性,所以如果你在基岩版运行上面的指令还是会报错的。

回到正题。既然Name标签我们会使用了,那Lore标签呢?

也一样简单。比如我们要获取一个描述为『Never Gonna Give You Up』的13号唱片,只需要:

\/give @s record_13 1 0 {display:{Lore:[“Never Gonna Give You Up“]}}

\\\\适用于Java1.8~1.12.2\\\\

\/give @s music_disc_13{display:{Lore:[“Never Gonna Give You Up“]}}

\\\\适用于Java1.13.x\\\\

\/give @s music_disc_13{display:{Lore:[“\\“Never Gonna Give You Up\\““]}}

\\\\适用于Java1.14~今\\\\

\/give @s music_disc_13{display:{Lore:['“Never Gonna Give You Up“']}}

\\\\适用于Java1.14~今\\\\

获取到后,你会发现物品的描述并不是白色的文字,而是紫色的文字。在Java1.14以下版本中,由于Lore无法使用JSoN文本,自然也就改不了颜色(除非你有办法在Nbt中使用§)。但在Java1.14及以上版本中,我们就可以试一试改下颜色:

\/give @s music_disc_13{display:{Lore:['{“text“:“Never Gonna Give You Up“,“color“:“red“}']}}

上述指令将会给你一个带有红色『Never Gonna Give You Up』描述的物品。

Lore作为一个文本列表,我们这么用还是太屈才了。让我们试试把『Never Gonna Give You Up』拆开:

{Lore:['“Never“','“Gonna“','“Give“','“You“','“Up“']}

\\\\这是Java1.14及以上版本的例子\\\\

然后放入指令中运行,你就会发现你获得了一个带有如下描述的13号唱片:

Never

Gonna

Give

You

Up

如你所见,Lore列表内的每一个元素,都代表了一行文本。

这就是Name和Lore的使用方法。那color标签,又该如何使用?

color标签的数据类型是Int整形,也就是一个整数,并不是一个字符串。也就是说,我们并不能使用red、yellow之类的颜色Id,也不能使用RGb或16进制颜色代码。那这个color到底该怎么使用?

color的值要填写的是颜色值。这个颜色值本质上是基于颜色的RGb算出来的,具体公式如下:

Rx+Gx256+bx1

R······Red红色值,0~255

G······Green绿色值,0~255

b······blue蓝色值,0~255

举个例子。标准黄色的RGb值为(255,255,0),我们就可以通过上述公式算出标准黄色的颜色值为:

255x+255x256=

让我们试一试这个值正不正确:

\/give @s minecraft:leather_helmet 1 0 {display:{color:}}

\\\\Java1.13之前\\\\

\/give @s minecraft:leather_helmet{display:{color:}}

\\\\Java1.13及之后\\\\

然后我们就获得了一个颜色为(#FFFF00)的黄色皮革帽子。其中,#FFFF00正是标准黄色的16进制颜色代码。

到这里,物品的显示属性,也就是display标签就讲完了,但这不代表本章到此结束。

如果我们不想要显示某些东西该怎么办?

mojang给了我们一个标签可以用来指定隐藏物品的哪些信息:

hideFlags(Int整形)

hideFlags的使用方式和上面的color有异曲同工之妙。和color类似,hideFlags的值是『信息值』(这名字随便取的),你需要通过以下信息加上具体情况来计算出它的值:

1——附魔信息,对应Enchantments(ench)标签

2——属性修饰符信息,对应Attributemodifiers标签

4——无法损坏信息,对应Unbreakable标签

8——能够破坏的方块信息,对应candestroy标签

16——能够放在哪些方块上的信息,对应canplaceon标签

32——其他大部分信息(包括药水效果、魔咒信息[StoredEnchantments标签]、成书的版本和作者信息[generation和author标签]、烟花火箭的信息[Explosion和Fireworks标签]、地图的信息)

64——[1.16.2版本新增]皮革盔甲的颜色信息,对应上面的color标签

比如我们要隐藏皮革盔甲的颜色信息,只需要:

\/give @s minecraft:leather_helmet{display:{color:},hideFlags:64}

\\\\Java1.16.2及之后\\\\

然后你就会惊喜的发现,相比之前的那个黄色帽子,这个新的黄色帽子没有了颜色信息。

但如果我们还要隐藏掉附魔信息该怎么办?

很简单,加起来就可以了:

\/give @s minecraft:leather_helmet{display:{color:},Enchantments:[{id:“protection“,lvl:255}],hideFlags:65}

\\\\Java1.16.2及之后\\\\

运行上述指令,你将会获得一个附魔有保护255级的黄色帽子,但这个帽子并不会显示自己的颜色和附魔信息,除非你用的版本低于1.16.2才会显示出来颜色信息。

不难发现,上面的hideFlags标签的值为65,是将64和1相加得到的。同理,如果你把上面表格的所有信息对应的值都加起来,得到的127这个值就代表所有信息,将其作为hideFlags的值就可以隐藏掉物品的所有信息。

这就是本章的全部内容。

附录1:本章相关历史

Java

1.8——加入了hideFlags标签和能够用来自定义显示属性的display标签。

1.13——Name标签现在必须使用JSoN文本。原本用来翻译用的LocName标签被合并到了Name标签里。

1.14——Lore标签现在必须使用JSoN文本。

1.16.2——为皮革盔甲的颜色信息加入了64(Flag 64)信息值。

附录2:LocName标签用法

和JSoN文本的translate组件一样,LocName标签在Java1.13以下版本用于物品名称的翻译。比如:

\/give @s diamond 1 0 {display:{LocName:“item.pass.name“}}

\\\\Java1.13以下版本\\\\

这将会给你一个叫做『指南针』的钻石。如果你把游戏切换成英文,那么这个钻石的名称也会变成『pass』(指南针的英文)。在上面的指令中,『item.pass.name』是『指南针』这个物品名称的本地化键名。

虽然我们还未接触到Java版的translate组件,但其实Java版JSoN的translate组件和基岩版的translate组件的用法几乎一模一样。

......

......

......

......

张三又一次大老远的从主城跑了回来。

『嘿,李四,你看这个附了魔的苹果!』

李四很好奇:『附了什么魔?』

『你自己看』

张三把苹果丢给了李四。

『这没写啊?』

张三从李四的手中拿回苹果,然后说道:『我也不知道。但据某位管理说,谁被这个苹果打到,就会获得无限时长的最高等级幸运效果。』

『真的?快打我一下试试!』

『那你待会也要打我一下,不能够你自己独享』

『oK,毕竟咱俩可是兄弟』

『准备好了吗?3——2——1——』

李四被张三用苹果杀死了

上一章目 录下一章存书签
站内强推【快穿】欢迎来到手撕白莲炼狱 穿成假千金,真千金对我嘎嘎狂宠 我跟极品娘把缺德奶奶嫁出去了 废柴光明圣女的异世界求生指南 小师妹别浪,师尊盯上你了 无尽破限,我在高武天道酬勤 搬空全球穿七零,科研军嫂有点颠 玄幻:杀猪百万头,我无敌世间 宜修重生:人间清醒登橘直上 投胎出了bug,关我什么事儿 末世重生后,我获得了无限空间! 异能闺蜜有空间 穿越从开荒开始 女富婆的第一神医 火影:我带着转生眼穿越了 开局创建米忽悠,全网求我别刀了 皇朝争霸!开局八百影密卫 开局南洋一小国,吊打列强! 异界:开局买下白毛兽耳娘 后宫春春色 
经典收藏学霸的军工科研系统 代号修罗最新章节 全球高武,提前破局 洪荒,不成圣照样逍遥 吞噬古帝 雪国谍影 诡异药剂师:我的病人皆为恐怖 洪荒:有此义子,我鸿钧想当好人 长生:从乞丐开始 从遮天世界开始无敌 谍战迷雾 民国之谍战先锋 绝世第一仙 婉书华 万古帝劫 我家精灵绝对有问题 超神向导 女法师 穿越做皇帝,体验三千嫔妃 吞天鲲 
最近更新别叨扰!我要去思量岛搞大事 炼神炉 巨龙:转生天彗龙,无限叠加盛宴 玄幻:开局绑定气运系统,打造大夏不朽神朝 徒弟越强我越强:躺着也能成仙帝 洪荒:不给我天庭,我就去地府 陈炎彬纪元:星辰彼岸的火焰 陆灵天尊 守陵五百年,出关即无敌 让你下界历练,你杀穿九重天? 被大卡车转生到女尊男卑的世界 合欢宗:摆烂修仙,谁说不行 悟性逆天终成大能 修仙家族:从词条开始 圣魔天尊 洪荒,地道本源化形,谁敢杀我! 海贼之无畏征程 无限吞噬,一口一个小星星 太虚逐星河 灭我全族?弃守帝关,化禁区之主 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说