zhanshi123
本帖最后由 zhanshi123 于 2021-7-13 00:47 编辑

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
看起来不错诶,支持原创嗷!

Tommer
看起来十分好 不错

Nicekill

很棒的插件!

Unkind
66666好东西   下载

mc能吃吗
喜欢这样简洁功能又多的插件!!支持

Misaka。
希望能多添加一个 清理的时候 是否提示玩家 (就是可以全程后台运行,不需要任何提示)

vacation_
本帖最后由 小五萌萌哒 于 2019-11-17 21:37 编辑

不错 就是要报错是不是最新版本 用的是1-1

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

请提供报错信息

1103657351
非常好的插件

vacation_
zhanshi123 发表于 2019-11-17 21:52
请提供报错信息

翻译过来就是 在卸载插件时出现错误(是否为最新版本)
paper 221 1.14.4

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

只有这个信息没有用
要完整的报错信息

vacation_
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
1.7.10不配用这个么

zhanshi123
thrfdgdf 发表于 2019-11-21 22:25
1.7.10不配用这个么

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

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

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

这个应该是你禁用了实体清理
然后重载引发的bug
不重载的话不影响使用
下个版本修复

vacation_
zhanshi123 发表于 2019-11-22 23:07
这个应该是你禁用了实体清理
然后重载引发的bug
不重载的话不影响使用


嗯是的 1.14.4清实体会影响某些红石机器使用
坐等下版本

mohist
很不错呢,比neverlag扫地更好用呢

洛手
很好的插件

虎牙废柴
感谢分享

zhangxinlei1563
很好的插件

Nicekill
一直在找的插件,谢谢楼主分享

Fur_Xia
[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
这个厉害,顶起来

zhanshi123
Fur_Xia 发表于 2020-2-26 17:26
[17:23:29] [Server thread/INFO]: [AdvancedCleaner] Disabling AdvancedCleaner v1.1
[17:23:29] [Server ...

不影响使用
下个版本修复

499390922
原创插件很棒!支持~

筱帥
Object result = invocable.invokeFunction("isNeedToClean", itemStack.hasItemMeta(), itemStack.getEnchantments().size());
script.js 里面 只有java传过来这两个固定的参数么

qwe425865
谢谢 很好用的插件

fm869081771
支持原创!在服务器里看服务器娘已经有点厌烦了- -

sahdsg
请问这个插件如何防止矿车被扫走?

海灵_DD
支持1.15.2的版本是哪一个啊

zhanshi123
海灵_DD 发表于 2020-3-6 12:05
支持1.15.2的版本是哪一个啊

都支持的

人心所寻﹍
推荐!已经安装到服务端!

贺兰兰
请问可否对实体清理也启用类似的js脚本功能?或者说直接加入被命名的怪物无法被清理的功能?

京川真帅
感谢楼主的分享

2721977634
能不能清理怪物啊

535223628
QAQ我报错了

zhanshi123
535223628 发表于 2020-3-15 04:06
QAQ我报错了

提供启动时的报错

VVVV云
非常好用的插件!

Yescccc
智能的扫地大妈

安塔利亚RPG
很不错的插件支持

535223628

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

AkkLive
建议功能

不允许清理地面上掉落物世界名称

zhanshi123
535223628 发表于 2020-3-16 00:41
我输入/ac 报错 用的是jre64 moshi服务端

服务端问题 可以考虑关闭js部分功能

535223628
zhanshi123 发表于 2020-3-19 19:51
服务端问题 可以考虑关闭js部分功能

wuwuwu 明明这么喜欢这个插件的说

Xiao_Bao_zi_
找到了一款超级棒的插件,这下就不卡顿问题了

明之寻
好的插件都是你做的 = = 送你上第一页 推荐给全部人 新手点赞 = =

EonZone
挺不错的清理插件,顶一个

289410711
打扰下...请问1.16能用吗

213123123122
很不错的插件

下一页 最后一页