第一百零三章 关于工具耐久的这档事

(此章节已于2022年8月5日进行大修改)

众所周知,在基岩版和以下版本,如果你更改一个有耐久物品的数据值,改成1以上,你就会发现,数值越大,这个物品的耐久度就越低。当数据值大于物品耐久度的时候,游戏仍然会更改成功,只不过这个物品有个缺点:

这是一次性物品(当然对于有些地图作者来说是优点)

比如下面的指令:

\/give diamond_shovel 1 9999

由于9999的数据值已经远超钻石锹的1561点耐久度,因此上面的指令将会给你一把一用就坏的钻石锹。

在基岩版和以下版本,你可以通过上述方法快速获取到具有指定耐久值的工具。但是,对于及以上版本,我们该怎么办?

mojang给出的答案是:用nbt

而mojang给出的nbt标签是『damage』,是一个值为int整型的标签,中文翻译为『损坏值』。这东西的用法和我们拿数据值来指定物品耐久度一样,比如:

\/give diamond_sword{damage:20} 1

你就会获得一个损坏值为20的钻石剑,也就是耐久度为1541点的钻石剑(满值为1561点)。

这就是在及以上版本获得具有指定耐久度物品的方法。但如果我们要的是『永远也不会损坏』的效果,那该怎么办?用\/receitem或\/item一直修改damage为0吗?zuqi.org 葡萄小说网

不需要这么麻烦,因为mojang也给出了一个nbt标签:unbreakable(无法破坏的)

unbreakable标签的值是一个布尔值,默认情况下它为0,也就是false(关闭)。你可以手动改为1变成true(开启)。当unbreakable标签的值为1,也就是true(开启)时,该物品就会具有一个『无法损坏』的属性,也就达成了我们想要的效果。

举个例子:

\/give diamond_sword 1 0 {unbreakable:1}——以下版本

\/give diamond_sword{unbreakable:1} 1 ——及以上版本

这样子,你就拥有一个耐久度为∞的钻石剑了!

附录:本章相关历史

java版

1.7.2——加入了unbreakable标签

1.13——移除了数据值,damage标签被移到物品tag标签下

(把unbreakable和damage都写上会发生什么?)

上一章目录+书架下一章