怎么禁用掉那个泰拉稿子A-ss的
用bantiem附带的nbt,将其ban掉
如何设置物品NBT值来使用JS解析(Ban附魔和泰拉镐为例子)
插件如何判断是使用正常的字符串匹配来比较还是用js解析呢,如果是js脚本,你的nbt值中必须以js|为开头,然
后在进行JS语法的解析,再根据解析结果来确定这个物品的NBT是不是被禁用的,nbt的值将通过value这个变量传入
----====泰拉镐例子====----
泰拉镐子根据等级不同可以挖不同数量的方块,所以一些服务器会想办法禁掉高等级的泰拉镐,但是
泰拉稿子的等级是根据魔力的多少来决定的,是一个范围型的NBT,banitem插件不可能把每个数字都
加到禁用列表里,这时候就需要使用JS解析功能,这样输入
/banitem add d:-1 nl:mana nv:js|value>99999999
nv参数的值设置为js|value>9999999,意思就是这个物品的NBT中mana节点的值只要大于9999999都会被禁用
当然你也可以使用正则表达式,reg|\d{8,}匹配到8位数字,那就肯定是大于9999999
添加结果
添加之后,如果nv参数中的值以js|开头,会对这个值进行JS解析的数字和字符串变量替换的测试,如果两项测试都没有通过,那么就认为这个js脚本写错了,需要重写
测试不通过的情况
另外,在版本3.2.0中新出的DefaultNBTValue参数,可以将禁用命令稍加修改为
/banitem add d:-1 nl:mana nv:js|value>99999999 c:f dnv:99999999
这样可以自动将高等级的泰拉镐修改到允许的等级,而不是全盘的禁用导致玩家再也无法使用该镐子
详情看帖子地址https://www.mcbbs.net/thread-865052-1-1.html
插件如何判断是使用正常的字符串匹配来比较还是用js解析呢,如果是js脚本,你的nbt值中必须以js|为开头,然
后在进行JS语法的解析,再根据解析结果来确定这个物品的NBT是不是被禁用的,nbt的值将通过value这个变量传入
----====泰拉镐例子====----
泰拉镐子根据等级不同可以挖不同数量的方块,所以一些服务器会想办法禁掉高等级的泰拉镐,但是
泰拉稿子的等级是根据魔力的多少来决定的,是一个范围型的NBT,banitem插件不可能把每个数字都
加到禁用列表里,这时候就需要使用JS解析功能,这样输入
/banitem add d:-1 nl:mana nv:js|value>99999999
nv参数的值设置为js|value>9999999,意思就是这个物品的NBT中mana节点的值只要大于9999999都会被禁用
当然你也可以使用正则表达式,reg|\d{8,}匹配到8位数字,那就肯定是大于9999999
添加结果
添加之后,如果nv参数中的值以js|开头,会对这个值进行JS解析的数字和字符串变量替换的测试,如果两项测试都没有通过,那么就认为这个js脚本写错了,需要重写
测试不通过的情况
另外,在版本3.2.0中新出的DefaultNBTValue参数,可以将禁用命令稍加修改为
/banitem add d:-1 nl:mana nv:js|value>99999999 c:f dnv:99999999
这样可以自动将高等级的泰拉镐修改到允许的等级,而不是全盘的禁用导致玩家再也无法使用该镐子
详情看帖子地址https://www.mcbbs.net/thread-865052-1-1.html