您尚未登录,请登录后浏览更多内容! 登录 | 加入最MC

QQ登录

只需一步,快速开始

 找回密码
 加入最MC

QQ登录

只需一步,快速开始

查看: 22262|回复: 821

[转载插件] [管理|安全]BanItem with NBTv2.3.8 —— 支持相同Id物品[1.7.2-1.10.x]

  [复制链接]
  • TA的每日心情
    擦汗
    2019-2-19 17:28
  • 签到天数: 153 天

    [LV.7]常住居民III

    发表于 2016-9-3 08:49:22 | 显示全部楼层 |阅读模式
    服务端插件
    中文名称: 禁止物品
    英文名称: BanItem with NBT
    来源: 转载
    类型: |Bukkit/Spigot插件| 
    前置插件:
    原帖地址: http://www.mcbbs.net/thread-552368-1-1.html
    下载地址: 贴内
    更新时间: 2016-09-04
    语言支持: 简体中文 
    本帖最后由 a1093663086 于 2016-9-4 14:18 编辑

    ×发帖说明:
    忽然发现站内竟然没有这么重要的插件,开服必备。故从MB搬运。解释权归@爱聪聪 所有,若侵必删


    >配置文件会自动升级,但是更换版本前请先做好备份

    ×功能:
        1 . 根据一级NBT的值(支持JS解析)来禁用物品和地上的方块,拔刀剑测试通过
        2 . 在NBT上搜索 禁用的物品,黑名单物品
        3 . 从NBT中移除 禁用的物品,黑名单物品
        4 . 玩家切换手上物品时的黑名单检查(对于1.9.x的双持,暂时还是检查一只手)
        5 . 玩家登陆时检查背包栏,和已经支持的mod的背包来没收黑名单物品
              当前支持的背包有 Baubles饰品背包,匠魂背包
        6 . 使用命令检查指定玩家背包
        7 . 没事无聊可以看看物品的NBT


            V2.3.8
    >修复1.9及其以上的版本插件初始化错误的问题
    >修复部分NBT中的物品可能无法查找到的问题
    >修复无法自定义消息前缀的问题


    ×更新历史:
             V2.3.76
    >修复使用remove命令时,如果未指定damage且手上没有物品会报错的问题
    >部分代码的优化和完善

    >增加物品文件中,各个子id物品将会生成一个用于查看的名称(需要对列表进行remove或add操作后才会生成)
        *物品生成的名字为英文,但是如果你装了我重置的BossShop,显示的就是你设置的BossShop的物品的语言
        *此版本不是一要更新的
            V2.3.74
    >修复JS解析式遇到特殊符号时解析结果错误的问题

            V2.3.73
    >修复被ban物品在手上使用时,仍然无法阻止物品效果生效的bug(所有版本存在)
    >修复remove命令在移除整个物品配置节点时,文件中任然保留该配置的问题(02版本以下存在)
    >修复remove命令在配置nv参数后无法删除指定配置的问题(01版本以下存在)
    >增加多世界支持
        >>主配置文件下的WordItemListNotInherit配置节点
        >>BanItem世界物品不继承列表
        >>格式和例子:
        >>WordItemListNotInherit
        >>  Main:
        >>  - BanList
        >>以上的例子就是说,Main世界的Ban列表不继承默认的列表,需要读取自 BanItem/WorldItem/Main/BanList.yml
        >>默认列表为 插件配置文件夹下的三个文件
        >>每个世界自己的列表在 BanItem/WorldItem/世界名/下
        >>所有的列表类型:
        >>BanList       物品黑名单
        >>NBTCheckList  NBT检查列表
        >>NoUseList     物品禁止使用列表
    >增加物品NBT值支持JS脚本解析,可以用来ban附魔和范围型NBT
        >>关于如何使用请查看帖子说明模块
    >增加插件使用情况收集
    >增加命令参数w,world用来设置操作的世界

    >修正一些命令的使用习惯错误

            V2.3.41
    修复物品列表操作权限问题
            V2.3.4
    >修复NMSHelper类初始化错误的问题
      >>此问题只在高版本的MC中才会存在,为报错的服务器可以不用更新,具体只要在手上切换物品是没有报错就是没问题的


            V2.3.3
    >修复使用tellraw消息发送的文本中,点击位置与显示位置偏移的问题
    >修复命令Tab bug当命令参数个数大于1个时,最后一个参数如果提前输入字符并且该字符的匹配结果如果只有一个是,Tab不会进行补全的问题


            V2.3.2
    >增加在方块(地上的)的NBT上搜索黑名单物品
       如果要启用该功能,配置节点BanItem.CheckBanItemInBlockNBT必须为true
       为了防止管道等物品抽取黑名单物品,可以同时设置配置节点BanItem.CheckBlockAroundWhenPlace为true,以便在玩家放置方块是,检查其周围的方块是否包含黑名单物品(性能消耗较大)
    >修复Tab命令补全时,NBT标签的大小写不一致问题

            V2.3.1
    >增加了对鼠标上物品的黑名单检查
    >增加了banitem nbtdump对地上方块的支持
       .如果要dump方块的nbt,你的手上不能握着东西


            V2.3.0

    >修改了一处语言显示错误(/banitem reload list的提示)
    >命令ban,use,nbt拆分为add,remove,check,test
       对于拆分后的命令需要设置[t,type]列表类型参数,如果未设置,默认为ban
       就是说现在
       如果想ban一个简单的物品,直接/banitem add就可以了
       如果想禁使用 /banitem add t:use
       所以这里的命令权限也发生了变化,分别是:
           BanItem.item.add
           BanItem.item.remove
           BanItem.item.test
           BanItem.item.check
    >修复命令删除列表中的物品后,配置文件中的物品不会少的bug
    >修复从NBT中移除物品时,调用的方法错误导致物品非法,而直接造成整个物品被删的bug
    >增加对方块一级NBT的检查,(不是在NBT中搜索物品),此项功能解决了同ID物品ban了其中一项后,所有物品都无法放置的bug

    >>当前暂未想到获取鼠标所指方块的方法,所以无法做方块的nbtdump
    你说地上的植物魔法的花和手上的花一样?,不他们的NBT识别标签不一样,植物魔法拿手上时识别类型的NBT标签是type,但是放地上之后是subTitleName,所以如果你还想ban了方块的(没必要,因为已经放不出来了,除非有特殊手段,但是有特殊功能的物品应该也被ban了,唯一有可能要ban的就是op放出来的方块,不让普通用户交互,这时候你需要用NBTEDIT来查看NBT,毕竟方块的nbtdump没有)


                v2.1.0更新

    >修复当使用banitem remove命令移除了一个物品所有的NBT标签后,任然保留空NBT的物品,导致整个物品被ban的bug
    >修复由于插件初始化顺序的问题导致刚开服没有重载过插件时,禁用/黑名单列表不被载入的问题
    >修复使用banitem reload config命令时造成的配置遗留问题(一些模块仍然使用旧的配置,除非重载整个插件)
    >修改当启用从NBT中移除物品,将忽视没收配置项
        只对在NBT中搜索物品的NBT检查列表物品有效
        如果物品本身被ban仍然要看配置是不是没收
    >增加了配置节点 ChatPrefix,可以配置插件消息前缀
    >增加当玩家切换物品时的黑名单物品的检测,由配置节点BanItem.CheckWhenPlayerSwitchItem决定是否启用
    >增加当玩家登录服务器时,对其背包进行黑名单检索,由配置节点BanItem.CheckInvWhenPlayerJoin决定是否启用
      当前支持的背包
        原版背包(包括装备栏)
        Baubles饰品背包
        匠魂背包
        要是有其他背包(指的是装备栏的,而且是有必要检查的)要求的可以留言说明
    >增加命令/banitem scan [玩家]  来扫描指定或者全部在线玩家的背包
        如果未指定玩家,将会扫描全体玩家
        具体扫描全体玩家会耗多少时间,你们可以试试,要是挺快的以后就可以有事没事用一下了
    >配置文件可以保留注释了,但是只有配置文件可以保留注释(测试功能,稳定了再扩展到全部文件)
    >禁用列表,黑名单列表,NBT检查列表分开保存到不同文件了



    ×配置文件
    BanList.yml,
      >>黑名单列表,此列表内的物品,不能移动,拾取,使用
          如果你想禁止法杖使用某个核心,不是把法杖里的某个NBT加到这个列表,而是应该把法杖加到NBT搜素列表,让插件去NBT中找被ban的物品
    NoUseList.yml
      >>禁止使用列表,此列表内的物品不能使用
    NBTCheckList.yml
      >>NBT检查列表,如果物品在这个列表里,将在检查物品禁用时在他们的NBT中搜索有没有被ban的物品
      >>注意,对于那些需要检查一级NBT的物品,就是拔刀花什么的不需要加入到此列表请注意,在一级NBT搜索指定的标签和在NBT中查找物品不是一个概念,简单来说,就是东西里面放着被ban的东西那些物品才要加到这个列表,比如袋子,法杖,而且你不放到这个列表就不检查,为什么设计这个表呢,直接全部都物品的NBT都搜索不就好了?但是很多物品都是有nbt的,每个物品都在nbt里查找,时间消耗的不是一点两点
    主配置文件由于默认生成的配置会自带注释,所以不再提供



    BanList格式和NoUseList一样,NBTCheckList也基本差不多
    # 这是植物魔法的花
    BOTANIA_SPECIALFLOWER:
      # 植物魔法的id,没啥用,就是给人看的
      CurrentId: 742
      # ban掉了子id0的花,也可以设置子id为-1来ban掉所有的子id
      damage@0:
        # 此处设置原因,如果原因中有空格,请在两边加上单引号
        reason: 你不能用这朵花
        # NBT
        nbt:
          # 植物魔法区别物品的nbt标签就是type,拔刀的是CurrentItemName
          type:
          # 其中的一项,忘了什么花了
          - '"kekimurus"'
          # 你也可以这样写来禁用所有包含这个nbt标签的物品
          - '*'
    # 神秘转移核心
    THAUMICTINKERER_FOCUSDISLOCATION:
      CurrentId: 5129
      damage@0:
        reason: 你不能使用转移核心
        # NBT为空,因为核心没有NBT
        nbt: {}
    c-1.png (35.97 KB, 下载次数: 68)
    下载附件
    2016-6-6 16:21 上传



    ×权限,所有权限op拥有(可以通过添加非权限取消):
    四个特殊权限需要在配置文件中启用才能使用
    # 忽略某个物品全部子id的ban检查
    BanItem.bypass.ban.物品数字ID
    # 忽略某个物品特定子id的ban检查
    BanItem.bypass.ban.物品数字ID@子ID
    # 忽略某个物品全部子id的use检查
    BanItem.bypass.use.物品数字ID
    # 忽略某个物品某个子id的use检查
    BanItem.bypass.use.物品
    数字ID@子ID

    =========v 2.3.0新加权限=======
    # 操作列表的所有权限
    BanItem.item
    #  添加Banitem物品到所有列表的权限
    BanItem.item.add
    # 检查Banitem物品列表中是否存在指定配置的权限
    BanItem.item.check
    # 从列表移除Banitem物品到权限
    BanItem.item.remove
    # 测试Banitem物品列表中是适配指定配置的权限

    BanItem.item.test
    ============================

    =========v 2.1.0新加权限=======
    # 重载[禁用/黑名单/NBT]检查列表
    BanItem.reload.list:  
    # 使用/Banitem scan [玩家]  命令的权限
    BanItem.scan
    ============================
    # BanItem所有权限
    BanItem.*
    # 对应/banitem ban 命令权限'
    BanItem.ban
    # 不检查禁用和黑名单物品的权限
    BanItem.bypass
    # 不检查禁用物品的权限
    BanItem.bypass.use
    # 自动补全命令的权限
    BanItem.cmdcomplete
    # 获取插件帮助的权限
    BanItem.help
    # 对应/banitem nbt 命令权限
    BanItem.nbtdump
    # 查看参数帮助的权限
    BanItem.viewparam
    # 重载命令的权限
    BanItem.reload
    # 重载插件全部配置的权限
    BanItem.reload.all
    # 重载插件配置的权限
    BanItem.reload.config
    # /Banitem reloadhelp的权限
    BanItem.reload.help
    # 重载插件语言文件文件的权限
    BanItem.reload.lang
    # 对应/banitem show命令
    BanItem.show



    ×命令  所有命令和参数支持Tab自动补全,/banitem help有详细帮助
    /banitem add [参数:值]
            添加命令参数配置到指定列表
            可选的参数: [t:, type:, i:, item:, d:, damage:, nl:, nbtlabel:, nv:, nbtvalue:, r:, reason:,w:,word:]
            参数[t,type]指定要操作哪个列表  --t:ban 黑名单列表  |t:use 禁用列表  |t:nbt nbt检查列表
                这个参数是必须的,如果未指定,默认t:ban
            参数[i,item]指定要操作的物品id  --比如i:chest 箱子  |i:54 还是箱子
                这个参数是必须的,如果未指定,默认手上的物品的id
            参数[d,damage],指定要操作物品的子id
                这个参数是必须的,如果未指定,默认手上的物品子id
            参数[nl,nbtlabel],指定操作物品的nbt标签
              这个参数不是必须的,tab补全默认会读取手上物品所有的标签
            参数[nv,nbtvalue],指定操作物品的nbt值
              这个参数不是必须的,必须同时设置[nl,nbtlabel],tab补全会自动读取手上的物品所有的nbt值并和已经设置的nbt标签匹配
            参数[r,reason],指定操作物品被[禁/拉黑]的原因
              这个参数不是必须的,默认会自动生成一个[该物品已经被禁用]的原因
    /banitem remove[参数,值]
            从指定列表中移除命令参数的配置
            可选的参数: [t:, type:, i:, item:, d:, damage:, nl:, nbtlabel:, nv:, nbtvalue:,w:,word:
            参数[t,type]指定要操作哪个列表  --t:ban 黑名单列表  |t:use 禁用列表  |t:nbt nbt检查列表
                这个参数是必须的,如果未指定,默认t:ban
            参数[i,item]指定要操作的物品id  --比如i:chest 箱子  |i:54 还是箱子
               这个参数是必须的,如果未指定,默认手上的物品的id
            参数[d,damage],指定要操作物品的子id
             这个参数不是必须的,如果未指定,将会移除该物品下的所有子id,也就是移除整个物品
            参数[nl,nbtlabel],指定操作物品的nbt标签
             这个参数不是必须的,tab补全默认会读取手上物品所有的标签,如果未指定,将会移除该子id下所有nbt标

            参数[nv,nbtvalue],指定操作物品的nbt值
              这个参数不是必须的tab补全会自动读取手上的物品所有的nbt值并和已经设置的nbt标签匹配,如果未指定,将会移除该nbt标签下所有的值

    /banitem reload help
           获取有关子命令reload的帮助
    /banitem reload [all]
           重载插件配置
    /banitem reload config
            重载插件配置
    /banitem reload lang
            重载语言文件,部分语言可能会有延迟
    /banitem reload list
            重新加载黑名单,禁用列表,NBT检查名单
    /banitem test [参数:值]...
            检查命令物品配置项符合指定物品列表具体的哪条配置
            [t:, type:, i:, item:, d:, damage:, nl:, nbtlabel:, nv:, nbtvalue:]
            参数说明参考 /banitem add
    /banitem param [参数标签]
            获取插件命令参数的说明
    /banitem scan
            扫描玩家背包,检查是否有黑名单物品

            如果未指定玩家,将扫描全部在线玩家
            此时可能会消耗较长时间,导致服务器大面积掉线
    /banitem show
            显示一个物品的指定或全部Damage在指定列表中的配置
            用于查看自己ban了什么东西,如果想删除某项配置.点击蓝色字体可以快速生成删除命令
            可选的参数: [i:, item:, d:, damage:, t:, type:,w:,word:
            参数[t,type]指定要操作哪个列表  --t:ban 黑名单列表  |t:use 禁用列表  |t:nbt nbt检查列表
                这个参数是必须的,如果未指定,默认t:ban

            参数[i,item]指定要操作的物品id  --比如i:chest 箱子  |i:54 还是箱子
                这个参数是必须的,如果未指定,默认手上的物品的id

            参数[d,damage],指定要操作物品的子id
                这个参数是不是必须的,如果未指定,默认打印该物品指定列表中的所有子id配置


    这是/banitem show命令的结果

    c-d1.png (13.28 KB, 下载次数: 56)
    下载附件
    2016-6-9 11:52 上传





    这是.banitem show d:1的结果

    c-d2.png (11.71 KB, 下载次数: 57)
    下载附件
    2016-6-9 11:58 上传







    /banitem check [参数:值]...
    检查命令物品配置项是否存在于指定物品列表
    可选的参数: [t:, type:, i:, item:, d:, damage:, nl:, nbtlabel:, nv:, nbtvalue:,w:,word:
    参数说明参考/banitem add
    /banitem nbtdump
    列出手上物品的NBT节点,如果手上没东西,将会尝试列出鼠标所指方块的NBT节点
    用于快速生成ban物品nbt的命令



    以下是所有可用的参数



    n-1.png (51.52 KB, 下载次数: 90)
    下载附件
    2016-7-24 15:56 上传





    其中比较有用的命令就是/banitem nbtdump和/banitem show

    对check和test命令的区别是
        check:检查命令输入的生成的配置是否完全一样得存在(不比较原因)
        test:检查命令输入生成的配置是否存在或者比已有配置判定范围更小的
            比如我要判定/banitem test t:ban i:4660 nl:CurrentItemName d:0这一项
    d-2.png (21.39 KB, 下载次数: 91)
    下载附件
    2016-6-4 04:11 上传





             虽然子id不一样,但是图片里的配置范围包括了命令的配置,所以是符合


    ×如何配置法杖等物品使用禁用核心(类似还有枪,植物魔法透镜,背包)
    先手上拿着法杖输入/banitem add t:nbt    其他参数请参考命令说明
    不用担心上面这个命令,上面这个并不是ban物品的命令,只是把法杖加到nbt检查列表,
    然后拿着要ban的核心输入/banitem add t:ban    其他参数请参考命令说明
    核心上到法杖上后,插件会到法杖的nbt中查找被禁用的物品
    如果配置了没收物品,那么法杖会一起被没收
    如果你不想法杖被没收,可一设置配置节点的RemoveBanedItemFromNBT为true
    这样只要法杖本身没被禁,就只会移除被禁用的核心,法杖不会被没收


    ×如何配置相同id的[物品/方块(地上的)]
    ----------------==物品篇==----------------

    1.手上先拿着要ban的物品,输入/banitem nbtdump,结果如下(这是一把拔刀)
    r.png (42.78 KB, 下载次数: 88)
    下载附件
    2016-6-11 11:00 上传






    2.鼠标移到复制那里,点一下就能快速生成禁用该物品某个NBT节点的命令了,拔刀的话选CurrentItemName
        说明一下生成的命令的意思
        add就是添加
        t:ban就是操作列表类型为ban列表
        nl:CustmonMaxDamage  ,nl指NBTLabel也可以用全拼,后面的就是NBT标签
        nv:"flammpfeil.slashblade.named.nihilul",nv指NBTValue,后面就是对应NBT标签的值
        还可以手动指定[d,damage]子id参数为-1,-->d:-1,因为拔刀有耐久

        还可以手动指定[nv,nbtvalue]nbt值参数,如果不指定默认使用手上的物品的nbt值
        如果你手动输入到了/banitem ban add nl:    按一下Tab就可以出提示,效果和这个差不多
    3. 回车后还会有提示,你添加了什么样的物品配置到了文件
        s-3.png (24.02 KB, 下载次数: 88)
    下载附件
    2016-6-4 03:10 上传





    4.如果还觉得不清楚,你还可以使用/banitem show命令显示这个物品都ban了什么子id和NBT
        对于上面的例子,手里拿着的东西不变,输入/banitem show t:ban
        show命令可用的参数有三个
            [t,type]  列表类型
            [i,item]  物品,如果没有设置,默认使用手上的,可以是数字,也可以是英文
            [d:damage] 子id,如果没有设置,默认打印全部的子id
    s-2.png (44.12 KB, 下载次数: 89)
    下载附件
    2016-6-4 03:10 上传





        输完命令后出来的结果就是这样子,点击蓝色的字体可以快速生成删除该配置节点的命令

    ----------------==物品篇结束==----------------

    ----------------==方块篇==----------------

    除非你不想玩家和这个方块交互,不然ban相同id的方块并没啥用,对于植物魔法,就算把地上的花ban了,只要撸掉下面的土还是可以233的
    1.鼠标对着要ban的方块输入/banitem nbtdump  此时你手上不能拿着东西

    2.比如以下的植物魔法
    r-1.png (15.97 KB, 下载次数: 56)
    下载附件
    2016-6-13 19:02 上传





    3.接下来就和ban物品一样了,植物魔法方块区别类别的就是subTileName
    4.然后地上的花直接撸就不能撸掉了


    ×关于修改配置的注意事项,版本变化请一定要查看
    1.由于现在的命令已经可以很方便的操作NBT了,所以不推荐手动编辑配置文件

    2.对于1.4.x的版本,NBT禁用有一处变化,就是如果NBT的类型为string时,NBT的值需要在字符串两边加上双引号
        如图所示
        d-1.png (6.31 KB, 下载次数: 87)
    下载附件
    2016-6-4 03:35 上传




        其他类型的值没有变化,所以非常不推荐手动编辑配置文件



    ×如何设置物品NBT值来使用JS解析(Ban附魔和泰拉镐为例子)
    插件如何判断是使用正常的字符串匹配来比较还是用js解析呢,如果是js脚本,你的nbt值中必须包含%value%这个变量,在插件进行检查的时候,会把%value%这个变量替换成物品的NBT值,然后在进行JS语法的解析,再根据解析结果来确定这个物品的NBT是不是被禁用的

    泰拉镐例子

    泰拉镐子根据等级不同可以挖不同数量的方块,所以一些服务器会想办法禁掉高等级的泰拉镐,但是泰拉稿子的等级是根据魔力的多少来决定的,是一个范围型的NBT,banitem插件不可能把每个数字都加到Ban列表里,这时候就需要使用JS解析功能,这样输入
    js-1.png (4.08 KB, 下载次数: 0)
    下载附件
    2016-7-24 15:04 上传




    命令

    nv参数的值设置为%value%>9999999,意思就是这个物品的NBT中mana节点的值只要大于9999999都会被禁用
    js-2.png (36.23 KB, 下载次数: 0)
    下载附件
    2016-7-24 15:04 上传





    添加结果

    添加之后,如果nv参数中的值带%value%变量,会对这个值进行JS解析的数字和字符串变量替换的测试,如果两项测试都没有通过,那么就认为这个js脚本写错了,需要重写
    js-3.png (26.75 KB, 下载次数: 0)
    下载附件
    2016-7-24 15:11 上传





    测试不通过的情况


    Ban附魔
    随便拿一个带附魔的物品,然后输入/banitem add nl:ench nv:,然后按一下tab,nv的值就会填上了
    我这里的值[0:{lvl:2s,id:34s}] ,一个耐久2
    js-4.png (4.25 KB, 下载次数: 0)
    下载附件
    2016-7-24 15:16 上传






    我们就拿ban耐久附魔的例子来,耐久的附魔id是34,生成的结果就是id:34s,关于这个值为什么是这样的呢,id就是附魔id,34就是耐久的id,s又是什么呢,s代表34这个数字是short类型,然后我们改一下命令,变成/banitem add nl:ench nv:"%value%".indexOf("id:34s")!=-1,然后回车
    js-5.png (34.47 KB, 下载次数: 0)
    下载附件
    2016-7-24 15:34 上传






    "%value%".indexOf("id:34s")!=-1这句话的意思就是把NBT值作为字符串,然后使用JS语法里字符串的indexOf方法来确定id:34s这个字符串的位置,如果返回-1,说物品NBT中的ench节点的值不包含id为34的附魔

    当然JS解析器的功能肯定不止这么一点,你可以写复杂的语言,不过相对应的耗时就会增加,%value%变量可以写多个

    这里一个复杂的JS解析加正则的例子
    var regx="lvl:(\\d{1,})";var r="%value%".match(regx);var flag=false;if(r!=null&&r.length==2){flag=r[1]>=100;};flag;

    这段js的作用就是匹配字符串里的lvl:数字类型的子串,然后把lvl后面的数字取出来进行大小比较,如果数字大于100就是true,这里记住,绝对不能return,
    只要在js语句最后一句话放上你要返回的结果就可以获取到比较结果了,当然这句js是有漏洞的,这里只匹配第一个lvl子串

    编辑JS脚本的几个注意事项
    1.js语句内不能return
    2.js内的字符串中的特殊字符需要转义,例如var regx="\d{1,}"需要写成var regx="\\d{1,}"
    3.如果js语句太长了想要直接编辑文件,一定要注意单引号的转义,单引号是配置文件的边界符号,所以如果字符串中包含了单引号,写到文件里一定要改成两个,所以可以的话,尽量不要使用单引号,可以使用双引号代替单引号



    ×关于判断优先度以及判断方法
    优先度
        先检查子id为-1的配置,再检查物品的子id
    这里就可以把子id-1作为一个全局的设置,其他子id作为详细设置
        先检查自身有没有被ban,再检查是否需要搜索NBT

    判断方法
    1.如果物品本身是否是被ban或禁用的物品
        检查物品自身的id以及damage是否符合ban或者use列表
        符合的话再进行一级NBT值的匹配
    2.检查自身的id以及damage是否符合NBT搜索列表内的物品
        符合的话对NBT进行禁用物品搜索
        NBT搜索规则:
            如果存在名字叫idint类型的nbt标签,将这个的值作为物品的id
            如果存在名字叫typestring类型的nbt标签,将这个的值作为物品的id
            如果存在名字叫damagemetashort类型的nbt标签,将这个的值作为物品的子id
            如果存在名字叫TagNBTTagCompound类型的节点,将这个的值作为物品的NBT进行一级目录的NBT值匹配



    ×下载地址:
    游客,如果您要查看本帖隐藏内容请回复


    我搬运的插件和mods(还需要什么插件请私信或者回复告知):
    插件:
    [管理|娱乐][汉/化]EasyKits——告别繁琐的kit配置做一个简单的礼包吧![全版本]

    [娱乐]ZombieLogin——尸潮来临,怪物撞脸,你体验过绝望么?[全版本]

    [综合]DoubleExp —— 多倍经验活动 [全版本]

    [修正][机械]NoFlyPvp——飞行管制防止不公平的PVP[1.7.10-1.8.X]

    [管理|角色]Soulbound—— 灵魂绑定[汉化|重制]-更方便的控制VIP物品绑定物品[全版本]

    [娱乐|机械]Item Lore Stats——自定义物品【附带强化】【1.7-1.8】

    [汉化|其他]Lores插件—— 编辑物品名称、添加Lore[全版本]

    [娱乐]IronElevators——铁块电梯插件,无指令,非常轻量级[1.6.2-1.10]

    [娱乐|角色]LevelHearts——等级血量,血量随等级而增加[RPG专用]汉化版[1.6.4-1.9.X]
    [角色|娱乐|综合|机械]mcMMO —— RPG技能插件[1.47-1.8]
    [创世]CleanroomGenerator V1.0.0 ——虚无世界 自定义超平坦世界生成器[1.47-1.7.X]
    http://www.zuimc.com/thread-52562-1-1.html
    [娱乐|机制|传送]FW-Go——极方便自由广泛自定义队列插件、副本限制![1.7-1.8]
    http://www.zuimc.com/thread-52919-1-1.html
    [安全|管理]limitWater —— 从高度上选择性限制流水[全版本]
    http://www.zuimc.com/thread-52922-1-1.html
    [安全|管理][反透视][汉化]Anti Xray——挖矿限制、限制每小时挖到的矿石[1.7.X]
    http://www.zuimc.com/thread-52921-1-1.html
    [管理|安全]BanItem with NBTv2.3.8 —— 支持相同Id物品[1.7.2-1.10.x]
    http://www.zuimc.com/thread-52929-1-1.html
    [管理][开服必备]GroupManager —— 完善的权限组管理[完全汉化]
    http://www.zuimc.com/thread-52975-1-1.html
    [综合]ShaQiZhi——一个类似于网游的杀气值插件,惩罚多次杀人的玩家[1.7-1.10]
    http://www.zuimc.com/thread-52990-1-1.html

    [传送]Ancient Gates——一个非常好|古老的上古传送门插件重制版|汉化[1.7-1.9]
    http://www.zuimc.com/thread-52992-1-1.html


    MOD:
    [1.7.10-1.6.2]RPGmod服的福音---超过240个新材料/护甲

    工具软件:

    【Crackshot】枪械插件制作器——快速制作枪械的软件![劲爆来袭!]
    http://www.zuimc.com/thread-52807-1-1.html



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?加入最MC

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    擦汗
    2017-11-15 21:44
  • 签到天数: 139 天

    [LV.7]常住居民III

    发表于 2016-9-3 09:29:37 | 显示全部楼层
    不错。不过我想问问。你发的那个mcmmo插件
    我把它安装进1.7.10没用的
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    擦汗
    2019-2-19 17:28
  • 签到天数: 153 天

    [LV.7]常住居民III

     楼主| 发表于 2016-9-3 14:30:26 | 显示全部楼层
    1315453150 发表于 2016-9-3 09:29
    不错。不过我想问问。你发的那个mcmmo插件
    我把它安装进1.7.10没用的

    后台有无报错。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

    该用户从未签到

    发表于 2016-9-3 15:38:34 | 显示全部楼层
    很不错!!!!!
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

    该用户从未签到

    发表于 2016-9-3 15:43:18 | 显示全部楼层
    提示: 该帖被管理员或版主屏蔽
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

    该用户从未签到

    发表于 2016-9-4 09:15:22 | 显示全部楼层
    提示: 该帖被管理员或版主屏蔽
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情

    2016-9-2 11:49
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-9-4 10:43:17 | 显示全部楼层
    该wag的收购的的收购更多
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2016-8-17 13:09
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2016-9-4 10:52:16 | 显示全部楼层

    回帖奖励 +5

    提示: 该帖被管理员或版主屏蔽
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2016-10-12 01:56
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2016-9-7 16:24:03 | 显示全部楼层
    挺不错的很好 很好
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
  • TA的每日心情
    开心
    2017-10-25 17:35
  • 签到天数: 27 天

    [LV.4]偶尔看看III

    发表于 2016-9-7 18:04:14 | 显示全部楼层

    回帖奖励 +5

    不错的插件,只不过我不想用
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    *滑动验证:
    您需要登录后才可以回帖 登录 | 加入最MC

    本版积分规则