Minecraft(我的世界)中文论坛

标题: [修正][比赛]AdvancedCleaner —— 更人性化的清(扫)理(地)插(大)件(妈) [1.8-1.16]

作者: zhanshi123    时间: 2019-7-25 14:55
标题: [修正][比赛]AdvancedCleaner —— 更人性化的清(扫)理(地)插(大)件(妈) [1.8-1.16]
本帖最后由 zhanshi123 于 2020-9-29 12:04 编辑

AdvancedCleaner

介绍

AdvancedCleaner 可以帮助你高效解决服务器掉落物和实体多的难题
你只需安装插件至服务器,使用默认配置文件,即可对服务器进行一定的优化  


原理介绍

本插件的掉落物清理和实体清理,均使用异步任务进行计时

掉落物清理会在清理时异步判断掉落物是否满足配置文件中的清理规则
在判断后再进行清理
本插件较为新颖的地方为,会根据附魔和nbt判断是否需要清理
并且在临近清理时,玩家丢弃东西会进行一定的提示和阻止  


实体清理目前是定时检测每个区块中每个类型的实体的数量,并根据配置文件进行判断是否需要清理
与一般的插件不同的是 本插件会将实体清理至上限数量,而不是全部清理  


命令

命令用途
/ac item立刻执行物品清理任务
/ac entity立刻执行实体清理任务
/ac reload重载插件

配置文件

配置文件有详细的注释 一般服务器使用默认配置即可
默认配置文件如下  


  1. item:
  2.   enable: true
  3.   blackList:
  4.     - 'BEACON'
  5.     - '@SHULKER_BOX'
  6.     - 'DIAMOND'
  7.     - 'DIAMOND_ORE'
  8.     - 'GOLD_INGOT'
  9.     - 'GOLD_ORE'
  10.     - 'IRON_INGOT'
  11.     - 'IRON_ORE'
  12.     - '@SPAWN_EGG'
  13.     - '@EMERALD'
  14.     - 'PLAYER_HEAD'
  15.     - '@SKULL'
  16.     - 'NAUTILUS_SHELL'
  17.     - 'HEART_OF_THE_SEA'
  18.     - 'TRIDENT'
  19.     - '@MUSIC_DISC'
  20.     - 'ELYTRA'
  21.     - 'TOTEM_OF_UNDYING'
  22.     - 'CONDUIT'
  23.   #不清理的物品列表 开头为@的意思为只要枚举名包括后面的文本,则不清理
  24.   #例如默认配置文件中的@SHULKER_BOX可以代表所有颜色的潜影箱
  25.   checkValue:
  26.     enable: true
  27.     #是否检查物品价值
  28.     #规则见scritp.js
  29.   interval: 600
  30.   #清理间隔 单位为秒
  31.   broadcast:
  32.     cleanDone: '§7地面掉落物清理完成,清理了 §e{0} §7个掉落物。'
  33.     countDown: '§7将在 §e{0} §7秒内开始清理地面垃圾'
  34.     #消息自定义
  35.     notifications:
  36.       - 60
  37.       - 30
  38.       - 10
  39.     #距离清理多少秒的时候发送提示
  40.   dropResist:
  41.     enable: true
  42.     #是否阻止玩家清理垃圾前丢东西
  43.     consult: '§7服务器即将进行&e掉落物清理&7,你确定要扔东西吗?如果你确认,请§e再次丢弃§7,并且下次丢弃时不再显示该提示'
  44.     #询问时的消息
  45.     confirmed: '§7已经§e解除丢弃限制§7,如有物品丢失,请自行承担责任'
  46.     #确认丢弃的消息
  47.     value: 10
  48.     #小于多少秒开始限制
  49. entity:
  50.   enable: true
  51.   #是否开启实体清理
  52.   interval: 300
  53.   #检测间隔
  54.   limit:
  55.     ZOMBIE: 8
  56.     SKELETON: 8
  57.     VILLAGER: 10
  58.     PIG_ZOMBIE: 6
  59.   #每个区块中 各类型实体的最大数量,超过数量会清理超出限制的部分
  60.   #实体类型为枚举名
复制代码

使用JavaScript来判断是否需要清理
script.js中可以编辑规则  


  1. var Material = Java.type("org.bukkit.Material");

  2. var isNeedToClean = function (item) {
  3.     var itemStack = item.getItemStack();
  4.     /*
  5.     if (item.getLocation().getBlock().getType() === Material.STATIONARY_WATER) {
  6.         return false;
  7.     }
  8.      */
  9.     //如果需要不清理水中的物品 可以将上方注释删除
  10.     if (!itemStack.hasItemMeta()) {
  11.         return true;
  12.     }
  13.     if (itemStack.getEnchantments().size() < 3) {
  14.         return true;
  15.     }
  16.     return false;
  17. };
  18. //返回true清理 返回false则不清理
  19. //如果不懂JavaScript 请不要修改 这里的意思是 有nbt数据或者附魔数量大于3个的 物品 不会清理
复制代码

下载

下载和版本历史请前往 http://dl.zhanshi123.me/#AdvancedCleaner 进行下载

升级到1.2,1.3版本请删除script.js重新生成
源码链接: https://gitee.com/Soldier233/AdvancedCleaner




本插件所用所有代码均为原创,不存在借用/抄袭等行为





作者: SoilFarmers    时间: 2019-7-30 20:41
看起来不错诶,支持原创嗷!
作者: Tommer    时间: 2019-7-31 10:33
看起来十分好 不错
作者: Nicekill    时间: 2019-8-18 09:36

很棒的插件!

作者: Unkind    时间: 2019-8-30 17:12
66666好东西   下载
作者: mc能吃吗    时间: 2019-10-14 18:42
喜欢这样简洁功能又多的插件!!支持
作者: Misaka。    时间: 2019-10-27 11:30
希望能多添加一个 清理的时候 是否提示玩家 (就是可以全程后台运行,不需要任何提示)
作者: 鬼川    时间: 2019-11-17 21:28
本帖最后由 小五萌萌哒 于 2019-11-17 21:37 编辑

不错 就是要报错是不是最新版本 用的是1-1
作者: zhanshi123    时间: 2019-11-17 21:52
小五萌萌哒 发表于 2019-11-17 21:28
不错 就是要报错是不是最新版本 用的是1-1

请提供报错信息
作者: 1103657351    时间: 2019-11-18 09:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: 鬼川    时间: 2019-11-18 18:32
zhanshi123 发表于 2019-11-17 21:52
请提供报错信息

翻译过来就是 在卸载插件时出现错误(是否为最新版本)
paper 221 1.14.4
作者: zhanshi123    时间: 2019-11-19 23:38
小五萌萌哒 发表于 2019-11-18 18:32
翻译过来就是 在卸载插件时出现错误(是否为最新版本)
paper 221 1.14.4

只有这个信息没有用
要完整的报错信息
作者: 鬼川    时间: 2019-11-21 21:07
zhanshi123 发表于 2019-11-19 23:38
只有这个信息没有用
要完整的报错信息

重载时候报错

[21:04:12 WARN]: Unexpected exception while parsing console command "ac reload"
org.bukkit.command.CommandException: Unhandled exception executing command 'ac'
in plugin AdvancedCleaner v1.1
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[pat
ched_1.14.4.jar:git-Paper-199]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:15
9) ~[patched_1.14.4.jar:git-Paper-199]
        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServ
er.java:739) ~[patched_1.14.4.jar:git-Paper-199]
        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchServerCommand(Cra
ftServer.java:701) ~[patched_1.14.4.jar:git-Paper-199]
        at net.minecraft.server.v1_14_R1.DedicatedServer.handleCommandQueue(Dedi
catedServer.java:456) ~[patched_1.14.4.jar:git-Paper-199]
        at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:
418) ~[patched_1.14.4.jar:git-Paper-199]
        at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:
1075) ~[patched_1.14.4.jar:git-Paper-199]
        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.jav
a:919) ~[patched_1.14.4.jar:git-Paper-199]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]
Caused by: java.lang.NullPointerException
        at me.zhanshi123.advancedcleaner.Main.onDisable(Main.java:95) ~[?:?]
        at me.zhanshi123.advancedcleaner.command.sub.ReloadCommand.onCommand(Rel
oadCommand.java:16) ~[?:?]
        at me.zhanshi123.advancedcleaner.command.CommandsExecutor.handle(Command
sExecutor.java:48) ~[?:?]
        at me.zhanshi123.advancedcleaner.command.CommandsExecutor.onCommand(Comm
andsExecutor.java:27) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[pat
ched_1.14.4.jar:git-Paper-199]
        ... 8 more
作者: thrfdgdf    时间: 2019-11-21 22:25
1.7.10不配用这个么
作者: zhanshi123    时间: 2019-11-22 23:04
thrfdgdf 发表于 2019-11-21 22:25
1.7.10不配用这个么

没测试过
应该可以用只要自己调整一下配置文件就行了

作者: zhanshi123    时间: 2019-11-22 23:07
小五萌萌哒 发表于 2019-11-21 21:07
重载时候报错

[21:04:12 WARN]: Unexpected exception while parsing console command "ac reload"

这个应该是你禁用了实体清理
然后重载引发的bug
不重载的话不影响使用
下个版本修复
作者: 鬼川    时间: 2019-11-23 01:10
zhanshi123 发表于 2019-11-22 23:07
这个应该是你禁用了实体清理
然后重载引发的bug
不重载的话不影响使用


嗯是的 1.14.4清实体会影响某些红石机器使用
坐等下版本
作者: mohist    时间: 2019-11-24 23:37
很不错呢,比neverlag扫地更好用呢
作者: 洛手    时间: 2019-11-25 08:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: 虎牙废柴    时间: 2020-1-20 13:00
感谢分享
作者: zhangxinlei1563    时间: 2020-1-20 13:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: Nicekill    时间: 2020-1-20 14:03
一直在找的插件,谢谢楼主分享
作者: Fur_Xia    时间: 2020-2-26 17:26
[17:23:29] [Server thread/INFO]: [AdvancedCleaner] Disabling AdvancedCleaner v1.1
[17:23:29] [Server thread/ERROR]: Error occurred while disabling AdvancedCleaner v1.1 (Is it up to date?)
java.lang.NullPointerException: null
        at me.zhanshi123.advancedcleaner.Main.onDisable(Main.java:95) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:265) ~[patched_1.15.2.jar:git-Paper-118]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:372) ~[patched_1.15.2.jar:git-Paper-118]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:468) ~[patched_1.15.2.jar:git-Paper-118]
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:454) ~[patched_1.15.2.jar:git-Paper-118]
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:447) ~[patched_1.15.2.jar:git-Paper-118]
        at org.bukkit.craftbukkit.v1_15_R1.CraftServer.disablePlugins(CraftServer.java:404) ~[patched_1.15.2.jar:git-Paper-118]
        at net.minecraft.server.v1_15_R1.MinecraftServer.stop(MinecraftServer.java:742) ~[patched_1.15.2.jar:git-Paper-118]
        at net.minecraft.server.v1_15_R1.DedicatedServer.stop(DedicatedServer.java:752) ~[patched_1.15.2.jar:git-Paper-118]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:974) ~[patched_1.15.2.jar:git-Paper-118]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]


1.15.2关服的时候就出现这样的报错
作者: 1519261477    时间: 2020-2-26 17:27
这个厉害,顶起来
作者: zhanshi123    时间: 2020-2-26 21:19
Fur_Xia 发表于 2020-2-26 17:26
[17:23:29] [Server thread/INFO]: [AdvancedCleaner] Disabling AdvancedCleaner v1.1
[17:23:29] [Server ...

不影响使用
下个版本修复
作者: 499390922    时间: 2020-2-27 13:09
原创插件很棒!支持~
作者: 筱帥    时间: 2020-3-2 13:20
Object result = invocable.invokeFunction("isNeedToClean", itemStack.hasItemMeta(), itemStack.getEnchantments().size());
script.js 里面 只有java传过来这两个固定的参数么
作者: qwe425865    时间: 2020-3-2 14:23
谢谢 很好用的插件
作者: fm869081771    时间: 2020-3-2 15:44
支持原创!在服务器里看服务器娘已经有点厌烦了- -
作者: sahdsg    时间: 2020-3-5 09:08
请问这个插件如何防止矿车被扫走?
作者: 海灵_DD    时间: 2020-3-6 12:05
支持1.15.2的版本是哪一个啊
作者: zhanshi123    时间: 2020-3-6 12:39
海灵_DD 发表于 2020-3-6 12:05
支持1.15.2的版本是哪一个啊

都支持的
作者: 人心所寻﹍    时间: 2020-3-6 12:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: 贺兰兰    时间: 2020-3-13 11:06
请问可否对实体清理也启用类似的js脚本功能?或者说直接加入被命名的怪物无法被清理的功能?
作者: 京川真帅    时间: 2020-3-13 11:29
感谢楼主的分享
作者: 2721977634    时间: 2020-3-13 11:51
能不能清理怪物啊
作者: 535223628    时间: 2020-3-15 04:06
QAQ我报错了

批注 2020-03-15 040614.jpg (115.77 KB, 下载次数: 0)

批注 2020-03-15 040614.jpg

作者: zhanshi123    时间: 2020-3-15 09:30
535223628 发表于 2020-3-15 04:06
QAQ我报错了

提供启动时的报错
作者: VVVV云    时间: 2020-3-15 10:00
非常好用的插件!
作者: aipaicongge    时间: 2020-3-15 11:15
智能的扫地大妈
作者: 安塔利亚RPG    时间: 2020-3-15 11:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: 535223628    时间: 2020-3-16 00:41
535223628 发表于 2020-3-15 04:06
QAQ我报错了

我输入/ac 报错 用的是jre64 moshi服务端

批注 2020-03-16 003447.jpg (15.46 KB, 下载次数: 0)

批注 2020-03-16 003447.jpg

作者: AkkLive    时间: 2020-3-19 19:50
建议功能

不允许清理地面上掉落物世界名称
作者: zhanshi123    时间: 2020-3-19 19:51
535223628 发表于 2020-3-16 00:41
我输入/ac 报错 用的是jre64 moshi服务端

服务端问题 可以考虑关闭js部分功能
作者: 535223628    时间: 2020-3-20 00:07
zhanshi123 发表于 2020-3-19 19:51
服务端问题 可以考虑关闭js部分功能

wuwuwu 明明这么喜欢这个插件的说
作者: Xiao_Bao_zi_    时间: 2020-3-20 19:40
找到了一款超级棒的插件,这下就不卡顿问题了
作者: 明之寻    时间: 2020-4-23 18:36
好的插件都是你做的 = = 送你上第一页 推荐给全部人 新手点赞 = =
作者: EonZone    时间: 2020-8-4 19:01
挺不错的清理插件,顶一个
作者: 289410711    时间: 2020-8-9 19:49
打扰下...请问1.16能用吗
作者: 213123123122    时间: 2020-8-9 20:09
很不错的插件
作者: 877705308    时间: 2020-8-9 23:12
大佬楼主,插件拿走
作者: qq595500414    时间: 2020-8-12 04:23
会把商店箱子上的漂浮物给清理了
作者: Jesenv5    时间: 2020-8-19 10:47
希望能增加黑名单,例如#villager 代表不清楚已经被命名的村民
作者: 428751434    时间: 2020-8-19 10:49
很棒的插件!
作者: Jesenv5    时间: 2020-8-19 10:56
qq595500414 发表于 2020-8-12 04:23
会把商店箱子上的漂浮物给清理了

我怎么没被清除。
作者: 戴淳熙    时间: 2020-9-2 17:42
这个插件不支持1.16.2的生物啊,加了猪灵之后,清理的时候就显示MESSAGE_NOT_FOUND
  1.   limit:
  2.     ZOMBIE: 10
  3.     SKELETON: 10
  4.     VILLAGER: 20
  5.     PIGLIN:10
复制代码

作者: zhanshi123    时间: 2020-9-13 17:10
戴淳熙 发表于 2020-9-2 17:42
这个插件不支持1.16.2的生物啊,加了猪灵之后,清理的时候就显示MESSAGE_NOT_FOUND ...

格式错误 : 后应有空格
作者: Salty_EyEs    时间: 2020-9-24 06:57
有没有条件考虑加一个对移动中的物品的条件的检测?这个跟做带水道的物品分类有关...
作者: xx578975893    时间: 2020-9-24 09:16
真香.全新扫地大妈
作者: 施Bq    时间: 2020-9-24 09:18
插件我爱了
作者: zhanshi123    时间: 2020-9-24 12:55
Salty_EyEs 发表于 2020-9-24 06:57
有没有条件考虑加一个对移动中的物品的条件的检测?这个跟做带水道的物品分类有关... ...

会在近期添加
作者: 射射兄弟谢了    时间: 2020-9-24 14:13
看起来很不错
作者: zhanshi123    时间: 2020-9-29 12:06
Salty_EyEs 发表于 2020-9-24 06:57
有没有条件考虑加一个对移动中的物品的条件的检测?这个跟做带水道的物品分类有关... ...

已在1.3中添加该功能
请将script.js中的内容替换如下
  1. var Material = Java.type("org.bukkit.Material");

  2. var isNeedToClean = function (item) {
  3.     var itemStack = item.getItemStack();
  4.     if (item.getLocation().getBlock().getType() === Material.STATIONARY_WATER) {
  5.         return false;
  6.     }
  7.     if (!itemStack.hasItemMeta()) {
  8.         return true;
  9.     }
  10.     if (itemStack.getEnchantments().size() < 3) {
  11.         return true;
  12.     }
  13.     return false;
  14. };
  15. //返回true清理 返回false则不清理
  16. //如果不懂JavaScript 请不要修改 这里的意思是 有nbt数据或者附魔数量大于3个的 物品 不会清理
复制代码

作者: asd123456a    时间: 2020-10-6 10:07
        MCBBS有你更精彩~
作者: FloatWorld    时间: 2020-10-6 10:42
这个插件使得服务器的内存和运载的清理更加方便和细致,成本-1
作者: Zuo_Nin    时间: 2020-10-6 11:16
23333333333333
作者: Zuo_Nin    时间: 2020-10-6 11:21
牛的呀2333333333
作者: 784793867    时间: 2020-10-28 21:37
掉落拔刀剑怎么清理?
作者: 菊花丶一紧    时间: 2020-11-10 09:31
感谢大佬感谢大佬
作者: 艾特我会下雨    时间: 2020-11-10 12:27
非常不错,顶下。
作者: 路过~·    时间: 2020-11-11 11:04
能不能加入一个推迟扫地的功能,玩家发送特定的文字可以推迟一会清理,推迟一定次数后可以不允许再推迟。我不止一次在捡尸的过程中看着东西被扫掉。。。特定物品不清理这个功能感觉不够用。
作者: zhanshi123    时间: 2020-11-11 12:09
路过~· 发表于 2020-11-11 11:04
能不能加入一个推迟扫地的功能,玩家发送特定的文字可以推迟一会清理,推迟一定次数后可以不允许再推迟。我 ...

可以使用js脚本判断物品价值 来决定是否需要清理
作者: 833336935    时间: 2020-11-11 12:30
不错,顶一下
作者: 2474606    时间: 2020-11-11 12:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: a53595847    时间: 2020-11-12 16:06
        神乎其技!6的飞起!
作者: 异类控    时间: 2020-11-12 16:47
感谢分享~
作者: 天策丶    时间: 2020-11-18 14:54
1.7.10能正常使用吗
作者: 浅殇放    时间: 2020-11-21 14:27
        MCBBS有你更精彩~
作者: Hankxiao    时间: 2020-11-28 11:18
无法清理史莱姆,不知道是我哪里弄错了。。。Spigot1.16.2端,可清理掉落物,不能清理怪物,希望解答一下~多谢!

作者: Hankxiao    时间: 2020-11-28 11:19
Hankxiao 发表于 2020-11-28 11:18
无法清理史莱姆,不知道是我哪里弄错了。。。Spigot1.16.2端,可清理掉落物,不能清理怪物,希望解答一下~ ...

不过能做的这么好真的很厉害了
作者: ye266    时间: 2020-12-1 18:54
为什么他只报开始清扫然后扫除0个垃圾呀
作者: zhanshi123    时间: 2020-12-1 22:09
Hankxiao 发表于 2020-11-28 11:18
无法清理史莱姆,不知道是我哪里弄错了。。。Spigot1.16.2端,可清理掉落物,不能清理怪物,希望解答一下~ ...

直接输入/ac entity
看看会不会清理
作者: zhanshi123    时间: 2020-12-1 22:09
ye266 发表于 2020-12-1 18:54
为什么他只报开始清扫然后扫除0个垃圾呀

0个垃圾那就是没有可以清理的
作者: Hankxiao    时间: 2020-12-3 21:16
zhanshi123 发表于 2020-12-1 22:09
直接输入/ac entity
看看会不会清理

不行...

作者: 落落哟    时间: 2020-12-6 09:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: zhanshi123    时间: 2020-12-6 13:06
Hankxiao 发表于 2020-12-3 21:16
不行...

那我不太清楚 可能1.16有些东西不一样吧
作者: 3061534651    时间: 2020-12-6 13:36
这个大妈有点意思
作者: f1207023214    时间: 2020-12-10 22:29
非常可以!!!!!!
作者: 泥石流    时间: 2020-12-29 16:04
交易过的村民也被清理了QAQ
作者: kevinss    时间: 2021-1-11 17:07
请问这个插件支持清理经验球和射出的箭矢吗?如果支持该如何设置呢?
作者: Naive4901    时间: 2021-1-19 19:08
版主啊,我点击半天下载没反应啊,可以在贴子里加个1.3的附件吗
作者: zhanshi123    时间: 2021-1-19 21:24
Naive4901 发表于 2021-1-19 19:08
版主啊,我点击半天下载没反应啊,可以在贴子里加个1.3的附件吗

下载服务器出现故障 会尽快修复
作者: 哲学之父    时间: 2021-1-20 10:49
感谢原创作者,1.16.4完美运行
作者: mutsuki14444    时间: 2021-1-22 15:35
请问bukkit能用吗
作者: 蟹蒙老鸽    时间: 2021-1-25 23:16
版主大大,这个插件好像下载不了耶,官网503了
作者: zhanshi123    时间: 2021-1-26 15:21
蟹蒙老鸽 发表于 2021-1-25 23:16
版主大大,这个插件好像下载不了耶,官网503了

链接已更换 部分CDN未刷新缓存
可以使用下方链接
https://dl.zhanshi123.me/index.php#AdvancedCleaner
作者: 蟹蒙老鸽    时间: 2021-1-26 19:35
zhanshi123 发表于 2021-1-26 15:21
链接已更换 部分CDN未刷新缓存
可以使用下方链接
https://dl.zhanshi123.me/index.php#AdvancedCleaner ...

好的,谢谢版主大大
作者: SkinSkinSeven    时间: 2021-1-26 19:39
哇A.A大佬NB,一直都在找这个插件!感谢大佬分享
作者: meng_sui520    时间: 2021-1-26 19:40
不会用呀。。这..是不是我哪里出错了
作者: baiyiming    时间: 2021-1-28 05:20
MCBBS有你更精彩~