大家好,今天来教大家一个做地图的小窍门。就是这个{HideFlags}。这个dataTag可以用在物品上面,来把物品的显示数据屏蔽掉。比如:如果是一把附魔的钻石剑,那么加入这个{HideFlags}后,钻石剑的附魔就会被屏蔽掉,但是附魔还是存在,只是玩家无法看见。不光是附魔,连属性,{CanDestroy},{Unbreakable},{CanPlaceOn},{Author}等等都可以屏蔽掉。如果做冒险地图的话,那么就是利器,可以把信息都屏蔽,这样玩家要动脑才会通关。这个{HideFlags}在MC的14w06a版本时第一次出现。
进入教程。这个{HideFlags}的输入有很多数值,并不是1或者0。因为这个{HideFlags}可以自己选择屏蔽的东西。
首先,我们先刷出一把有很多信息的钻石剑:
- /give @p minecraft:diamond_sword 1 0
- {Unbreakable:1,AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:9000000000.0,AttributeName:generic.attackDamage,Name:Attack}],ench:[{id:16,lvl:90000}]}
这个很简单,在dataTag里加入:{HideFlags:63}后,就可以隐藏所有的信息,例子:
- /give @p minecraft:diamond_sword 1 0
- {Unbreakable:1,AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:9000000000.0,AttributeName:generic.attackDamage,Name:Attack}],ench:[{id:16,lvl:90000}],HideFlags:63}
之后来说的是HideFlags后面的值。后面有很多数值可以填写,每个都是控制隐藏一个单独的信息。发几个常用的:
1 - 隐藏附魔
2 - 隐藏自定义属性
3 - 隐藏附魔和自定义属性
4 - 隐藏{Unbreakable} (永久不毁)
8 - 隐藏{CanDestroy} (可破坏)
16 - 隐藏{CanPlaceOn} (可放置在)
32 - 隐藏大部分信息(药水信息,书作者,烟花效果等等)
63 - 隐藏所有的信息,除了名字和附加文字
这里就是一些常用的数值。一般用63就可以了,除非要自定义什么要显示什么不要显示。
{CanDestroy}那些只是用在冒险模式地图上面的,但是使用了后物品上面会显示可破坏什么方块。所以,制作人员要是想不让玩家知道什么可以破坏什么,那就可以使用这个{HideFlags}。
帖子最后提取Cyqsimon的推断:
1 - 隐藏附魔
2 - 隐藏自定义属性
4 - 隐藏{Unbreakable} (永久不毁)
8 - 隐藏{CanDestroy} (可破坏)
16 - 隐藏{CanPlaceOn} (可放置在)
32 - 隐藏其他(大部分)信息(药水信息,书作者,烟花效果等等)
可以注意到所有这些数字都是二进制数(2的次方数),而这样安排是有特殊性的
任意数量的任意二进制数相加,结果都是不同的,比如,4+32=36,但是你是永远无法使用别的二进制数组合相加等于36,(当然不能重复相加同一个数),同样的,1+16+32=49,1+2+4+8=15等等都是独特的,即每个0-63的数字必定代表了一种独特的“隐藏数据种类”组合(0代表全部显示)
用几个例子说明:如果想要隐藏CanDestroy和自定义附魔,这个数字即是1+8=9;如果想要隐藏自定义属性、自定义附魔、以及Unbreakable,这个数字即使1+2+4=7;如果想要全部隐藏,这个数字即是1+2+4+8+16+32=63;以此类推
========END==========