[purple_wool]英文wiki原文(中文就别想了,没人看得懂)[purple_wool]
- DisabledSlots: Bit field allowing disable place/replace/remove of armor elements. Given the armorPos value : 0 for Hand, 1 for Feet, 2 for Legs, 3 for Chest and 4 for Head, flag 1<<armorPos will disable remove of armorPos, 1<<(armorPos+8) will disable replace and remove of armorPos, and 1<<(armorPos+16) will disable place of armorPos. For instance the flag 2039552 will disable every possible interactions with the ArmorStand. Flag 1 is a special case : it will disable removing all part and place/replace of Hand
复制代码 1<<不是小于的意思,此处中文wiki有歧义
实际上是左移运算。不知道谁不懂装懂写的远远小于
[lightblue_wool]讲解[lightblue_wool]
这套流程有点类似颜色函数,通过
对装备架身上各个部位代号和操作模式代号
进行一定的运算得出一个代表组合情况的唯一值
我知道说多了你们也听不懂。简单的原理下面这套
[purple_wool]流程[purple_wool]
设x代表盔甲架需要禁止的部位的代号
0:手部,1:脚部,2:腿部,3:胸部,4:头部
设y代表禁止模式的代号
0:不许移走,8:不许替换物品,16:不许放置物品
得出你想要的组合x+y,例如不许脚部放置东西
就是1+16=17
打开你的计算器,调成“编程人员模式”
左侧点到二进制模式
输入1之后按(x+y)个0,
例如我之前想要的是禁止脚部放置东西,x+y=17
于是在这里输入
一共17个零
再调成十进制,你就可以得到一个数字了。
在DisabledSlots里面输入这个数字,你就可以
得到一个无法在脚部手动放入鞋子的盔甲架了。
- entitydata @e[type=ArmorStand] {DisabledSlots:131072}
复制代码 如果想要对多个部位进行更改怎么办呢?
挑选你想要的部位再进行一次上面的运算
例如我想要同时鞋部位禁止移走,禁止放入
而头部禁止移走。
那么x+y分别是
1+16=17 1+0=1 4+0=4
输入到二进制里面的数字分别是
10,0000,0000,0000,0000
10
1,0000
转换为十进制之后分别是
131072
2
16
把他们加在一起,输入DisabledSlots就可以了
131090就可以了
|