全局搜索附魔 如果附魔等级大于x则禁用
看了教程贴 不太懂js 求栗子
看了教程贴 不太懂js 求栗子
- js|var a=false,b=eval("("+value+")");if(b instanceof Array){for(var i in b){if(b.id==附魔序号&&b.lvl>等级){a=true;break}}}a;
- var a = false,b =eval("(" + value + ")");
- if (b instanceof Array) {
- for (var i in b) {
- if (b.id == 附魔序号 && b.lvl > 附魔等级) {
- a = true;
- break
- }
- }
- }
- a;
不知道能不能帮到你
喵内噶 发表于 2020-3-17 15:59
这不就是教程贴上的吗
就是想问这个要怎么用
- /banitem add nl:ench nv:[{lvl:附魔等级,id:附魔ID}]
手上拿着带附魔的物品,使用上面的命令就行
DreamVoid 发表于 2020-3-17 16:05
手上拿着带附魔的物品,使用上面的命令就行
....看题
Banitem貌似无法对全局进行操作,如果只是单纯的不想让玩家拥有超过10级附魔可以试试这个插件
[修正|安全]Dupe Fixes|Illegal Stack Remover——修复高版本漏洞[1.8-1.15]
https://www.mcbbs.net/thread-849068-1-1.html
(出处: Minecraft(我的世界)中文论坛)
如果banitem真能禁的话我也学习学习
[修正|安全]Dupe Fixes|Illegal Stack Remover——修复高版本漏洞[1.8-1.15]
https://www.mcbbs.net/thread-849068-1-1.html
(出处: Minecraft(我的世界)中文论坛)
1) 添加修复非法附魔的选项,你可以设置超过原版的附魔等级上限。比如你设置锋利附魔的附魔等级上限为10,那么插件只会修复附魔超过10级的物品。
本帖最后由 DreamVoid 于 2020-3-17 16:32 编辑
这是教程帖的内容:
既然说了“任意附魔物品”那么和手上拿着什么物品就是没关系的,只认什么附魔和附魔等级
该文段倒数第二段说了
楼主说要怎么用,我也把命令用法发了一遍,这个命令是不管你手上附魔的是什么物品
因为
因此我根据这个判断此命令是全局禁用附魔的命令
如果我的判断有误,那么我对我浪费楼主的时间误导楼主说声抱歉,如果楼主的问题没有得到解决,建议楼主一周后前往https://www.mcbbs.net/thread-256348-1-1.html申请关闭帖子退回悬赏
这是教程帖的内容:
----====Ban附魔====----
随便拿一个带附魔的物品,然后输入/banitem add nl:ench nv:,然后按一下tab,nv的值就会填上了
我这里的值nv:[{lvl:3,id:16},{lvl:2,id:21}] ,一个锋利3,一个抢夺2
我们就拿ban锋利的例子来,锋利的附魔id是16,以上字符串中id就是附魔id,lvl就是附魔等级,
然后我们改一下命令,变成/banitem add nl:ench nv:js|value.indexOf("id:16")!=-1,然后回车
value.indexOf("id:16")!=-1这句话的意思就是把NBT值作为字符串,然后使用JS语法里字符串的indexOf方法来确定id:16这个字符串的位置,如果返回-1,说物品NBT中的ench节点的值不包含id为16的附魔
当然JS解析器的功能肯定不止这么一点,你可以写复杂的语言,不过相对应的耗时就会增加,value变量可以写多个
这里一个复杂的JS解析例子
js|var a=false,b=eval("("+value+")");if(b instanceof Array){for(var i in b){if(b.id==16&&b.lvl>2){a=true;break}}}a;
var a = false,b =eval("(" + value + ")");
if (b instanceof Array) {
for (var i in b) {
if (b.id == 16 && b.lvl > 2) {
a = true;
break
}
}
}
a;
由于ench这个节点的值比较特殊,可以转换成数组,所以可以使用遍历,这段js的作用就是,查找id为16的附魔,如果等级大于2就禁用,只要在js语句最后一句话放上你要返回的结果就可以获取到比较结果了
编辑JS脚本的几个注意事项
·js语句内不能return
·js内的字符串中的特殊字符需要转义,例如var regx="\d{1,}"需要写成var regx="\\d{1,}"
·如果js语句太长了想要直接编辑文件,一定要注意单引号的转义,单引号是配置文件的边界符号,所以如果字符串
中包含了单引号,写到文件里一定要改成两个,所以可以的话,尽量不要使用单引号,可以使用双引号代替单引号
既然说了“任意附魔物品”那么和手上拿着什么物品就是没关系的,只认什么附魔和附魔等级
该文段倒数第二段说了
由于ench这个节点的值比较特殊,可以转换成数组,所以可以使用遍历,这段js的作用就是,查找id为16的附魔,如果等级大于2就禁用,只要在js语句最后一句话放上你要返回的结果就可以获取到比较结果了
楼主说要怎么用,我也把命令用法发了一遍,这个命令是不管你手上附魔的是什么物品
因为
随便拿一个带附魔的物品
因此我根据这个判断此命令是全局禁用附魔的命令
如果我的判断有误,那么我对我浪费楼主的时间误导楼主说声抱歉,如果楼主的问题没有得到解决,建议楼主一周后前往https://www.mcbbs.net/thread-256348-1-1.html申请关闭帖子退回悬赏
GiNYAi 发表于 2020-3-17 16:39
看了一下 聪聪的banitem 是需要每个物品分别设置的
(但是EpicBanitem不用
啊 想要spigot插件orz
DreamVoid 发表于 2020-3-17 16:29
这是教程帖的内容:
既然说了“任意附魔物品”那么和手上拿着什么物品就是没关系的,只认什么附魔和附魔等 ...
比起一味的搬教程 不如给个实际例子