Minecraft(我的世界)中文论坛
标题: MC1.8:指令方块的HideFlags教程
作者: PotatoMaster101 时间: 2014-6-16 17:23
标题: MC1.8:指令方块的HideFlags教程
本帖最后由 PotatoMaster101 于 2014-6-16 17:49 编辑
大家好,今天来教大家一个做地图的小窍门。就是这个{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}]}
复制代码 这把钻石剑主要是拥有附魔,自定义属性和永远不毁这3个属性。但是玩家可以轻易看出这把钻石剑的所有信息。于是我们可以加入{HideFlags},来隐藏这些信息。
这个很简单,在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},后面的值是63,也就是隐藏所有的信息(不包括名字和附加文字)。但是缺点是剑的附魔还是会显示。注意的是,这个{HideFlags}只是用来隐藏信息,而附魔什么还是存在的,并没有被{HideFlags}清除,只是不显示而已。
之后来说的是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==========
作者: RAY5DHao 时间: 2014-6-16 17:25
不把我的名字挂上真有点桑心了
作者: cow_bra 时间: 2014-6-16 17:27
你最近没有成为活跃第一呢..
作者: ooooooooyeah 时间: 2014-6-16 17:28
楼主的教程不错,不过这是14w06a的功能,为什么现在才发出来{:10_493:}
作者: PotatoMaster101 时间: 2014-6-16 17:30
因为这个NBT本来不会发的,后来CBL的一员来问,那就来发一贴
作者: RAY5DHao 时间: 2014-6-16 17:34
8级了少水点
作者: cyqsimon 时间: 2014-6-16 17:43
你应该讲一下这个二进制标签的特殊性
比如如果想隐藏“附魔”&隐藏“可破坏”,只要输入9即可,因为1+8=9
帮你写个,如果想的话直接复制进帖子好了
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;以此类推
作者: Bryan33 时间: 2014-6-16 17:49
明明是你自己问的不毁NBT-_-
作者: PotatoMaster101 时间: 2014-6-16 17:51
这帖子又不是不毁,而是{HideFlags}
作者: PotatoMaster101 时间: 2014-6-16 17:51
不玩,1.6.2版本
作者: PotatoMaster101 时间: 2014-6-16 17:51
加好了。你怎么知道我这么快发帖 你不是只管新闻
作者: cyqsimon 时间: 2014-6-16 18:05







再说了,这可不是推断,如果程序中利用了二进制数,十有八九都是做data简化的,I know because I use it.
你想想,如果不用这种表达,那会是什么情况
HideFlags:{Enchantment:(true/false),AttributeModifiers:(true/false),Unbreakable:(true/false),CanDestory:(true/false),CanPlaceOn:(true/false),OtherProperties:(true/false)}







是不是头疼死了
而且这我也试验过的,确实是这么用的
而且这种应用一点都不奇葩,只要对于二进制数有过点研究的差不多都能想到
@a390807154
作者: PpY_SK 时间: 2014-6-16 18:29
对了,你作品索引和教程索引,并为一类,然后再扔到http://www.mcbbs.net/thread-85937-1-1.html这里面去
作者: PotatoMaster101 时间: 2014-6-16 18:35
?我又不能编辑龙猫的帖子
作者: PpY_SK 时间: 2014-6-16 19:05
我帮你扔进去,然后我看了一下,龙猫有http://www.mcbbs.net/thread-260804-1-1.html索引贴,到时候我和龙猫磋商一下,看看能不能并到一块,不要担心金币人气啥啥的,你认为是啥??分开还是在一起?
作者: songfeitong 时间: 2014-6-16 19:15
龙猫的算个人索引,当时候还是新开吧。他的索引当官方索引不太合适。
作者: PotatoMaster101 时间: 2014-6-16 21:38
随便。。。。
作者: きのこMogu_ 时间: 2014-6-18 14:43
冒昧问一下。。大神是从哪里知道这些1.8的新指令的
作者: PotatoMaster101 时间: 2014-6-18 16:36
看MC的最新版的新闻等等 然后自己再研究一下
作者: きのこMogu_ 时间: 2014-6-18 16:39
哦哦原来是这样的啊0 0
作者: chyx 时间: 2014-7-10 14:23
药水的数据值
作者: hacccc 时间: 2014-8-25 12:15
终于找到了“无法破坏”的NBT了,谢了
作者: jesse 时间: 2014-11-27 20:10
关于那二进制标签,用的应该是BitMap。最大值64=2^6,所以至少用了6位的变量来存储。这个变量的每一位分别代表一种属性。写成二进制形式就是000001,010110,这样开启了哪些开关就一目了然了。
作者: q2539171536 时间: 2014-11-27 21:43
MCBBS有你更精彩~
作者: ⭐✔️ 时间: 2014-11-30 11:43
最近发现PM很多版聊内容很想扣分
作者: PotatoMaster101 时间: 2014-11-30 15:10
。。。发截图看看 哪有
作者: ⭐✔️ 时间: 2014-11-30 16:05
你这帖子里都有
作者: 刀光琴影 时间: 2015-2-1 21:13
{Author}是干什么用的?能不能专门对物品的NBT开一篇贴?
作者: PotatoMaster101 时间: 2015-2-5 16:34
书的作者
这么简单 以前早就发过了
作者: lzs1234 时间: 2015-2-13 10:34
我一直不懂UUIDLeast和UUIDMost是干嘛的…
作者: vpiaov 时间: 2015-11-4 16:19
不错........
作者: 石中 时间: 2015-11-5 17:32
好东西
做地图最好用了!!
作者: 林扬骐 时间: 2015-11-5 17:39
挺有用的,可是可放置在是什么意思?
作者: 德芙defanive 时间: 2018-3-18 00:49
大神,怎么让已经隐藏的信息重新显示啊,帮帮我大神
作者: 841256aa 时间: 2019-8-18 16:13
這個東西也太棒了
作者: 尹梦灬小年 时间: 2019-8-18 16:41
6666666666666666666666666666
作者: 0-zero-0 时间: 2020-3-23 08:56
冒险模式下也可以放置在规定规定方块上下左右的方块
还有一个“可以破坏”令玩家在冒险模式下也可以在手持该物品时破坏规定方块
经常用于冒险模式解密地图