知方号

知方号

命令/setblock & 方块状态 & 方块NBT<我的世界如何用fill指令replace>

    本系列所有教程仅面向最新Java版原版Minecraft,不涉及旧版本与插件、模组的命令、方块、实体和特性。

    随时欢迎以评论区留言、加入粉丝群或B站私信等方式进行提问。

    本期开始的指令教程会同步更新视频与专栏两个版本,内容完全相同,请依据自身喜好择一观看即可。

        这是本期将要讲到的内容。我将循序渐进,为大家逐渐拆分讲解这条指令。

        在学习新内容之前,首先复习一下 上一期的内容。

局部坐标:基于玩家的视角朝向,向左右、上下、前后进行偏移。不可与绝对坐标或相对坐标混用。在命令中通过^来使用局部坐标。

    向前方传送2格

        /tp ^ ^ ^2

    在右后方2格生成Creeper

        /summon creeper ^-2 ^ ^-2

Attributes:此NBT控制生物属性的基础值。

AttributeModifiers:为物品添加属性修饰符,修饰符会对属性基础值做出计算,从而改变生物属性的数值。

        除此之外,需要特别注意攻击速度这个属性。我们知道剑的攻速是1.6,那如果生成一把attack_speed是1.6的剑,会怎么样?

你会发现她的攻击速度非常快,就像空手一样。为什么呢?

        仔细观察 原版的剑 和 生成的剑 的属性,你会发现原版的描述是“1.6 攻击速度”,而生成的剑是“+1.6 攻击速度”。

        也就是说,原版显示的是“修饰符”计算后的结果。玩家的攻速基础值是4.0,想做一把1.6攻速的剑,需要的修饰符是攻击速度-2.4。

        如果还想还原原版的绿字描述,你还得用HideFlags隐藏掉实际的修饰符,再用display来模拟。

        攻击力也有类似的情况:空手有1点攻击力,所以铁剑显示的6 攻击伤害,实际上是+5 攻击伤害。

        知道了这些,再看上期的题目就很明显了,钠镓剑的2 攻击速度,是用display模拟的,她实际上是一个-2 攻击速度的修饰符。

        另外,有经验的话你可能会记得,锋利魔咒提供的伤害加成会显示到绿字上,例如钻石剑的7 攻击伤害,附上锋利 II后显示为8.5。

        所以钠镓剑的11.5伤害,减去锋利 X提供的5.5伤害,可以算出原本的攻击力是6.0。再减掉空手的1点攻击力,得到实际的修饰符是+5 攻击力。

        知道了属性修饰符,剩下的Enchantments和display就好办了。另外,魔咒列表我也是用display模拟的,因为她实际显示的排序比较奇怪,所以我改成了display这个可控的显示。

这就是上期的题目了,还有问题可以在评论区留言。

        那么接下来就是本期的内容了。原计划讲完三个建筑系的指令:放置/setblock、填充/fill和复制/clone。但发现篇幅太长,所以分两期来。这一期只讲一个/setblock,她是在1.7加入的指令,作用是放置1个方块,来看一条实例:

        这个^ ^ ^1我们认识,是上一期讲到的局部坐标。她当然也可以是绝对坐标或相对坐标。chest是箱子的方块ID,所以这条指令是在自己的前方1格放置箱子。

        那么我们就整理出了/setblock的基本格式:

        方块ID一般和物品ID相同,有小部分例外,举两个例子:

        红石的物品ID是redstone,红石线的方块ID是redstone_wire

        橡木告示牌的物品ID是oak_sign,在墙上的橡木告示牌是oak_wall_sign

        方块ID也可以在游戏内查到:把准星指向方块,在F3界面的右侧就是了。

        这条指令只展示了/setblock的必填参数,我们来看一条更加完整的例子:

        这里多了一个destroy是什么意思呢?她会先破坏掉原有的方块,然后才放置指定的方块空气。这条指令的实际效果是破坏掉了脚下的方块。

        这个destroy叫做操作方式,除destroy以外,还有keep和replace。

keep:只替换空气。如果指定的坐标不是空气,就不会放置这个方块。

replace:默认模式,直接替换原有方块。

    以上就是/setblock的完整格式了。

        说了这么多,在哪里写方块的NBT呢?在讲这个之前,首先要知道2点:

    第一,方块除了NBT以外,还有一个东西叫做方块状态。

        方块状态记录了一些简单的数据,例如:

                · 箱子的面朝方向

                · 台阶的上下半

                · 红石线的能量

        方块的NBT记录了一些复杂的数据,例如:

                · 熔炉已烧炼的配方(用于记录烧炼经验。经验熔炉原理)

                · 容器内装着的物品。

    第二,不是所有方块都有方块状态。例如石头和泥土没有任何值得记录的数据。有NBT的方块更少,例如楼梯只有方块状态而没有NBT。

    大部分的方块状态和NBT还是某一类方块特有的,例如:

            · power:只存在于红石线的方块状态,记录红石能量强度

            · charges:只存在于重生锚的方块状态,记录剩余能量

            · BurnTime:只存在于熔炉的NBT,记录剩余燃烧时间

            · CookTime:只存在于熔炉的NBT,记录此配方已烧炼时间

    基于这些原因,在教程内只能提及一些相对常见的内容。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。