主题
作用
ClearDroppedItems 用于按配置定时清理指定世界中的掉落物,并支持玩家或控制台通过命令主动触发清理。
它适合大厅、主城、生存服公共区域、活动地图、挂机区,以及任何担心地面掉落物堆积影响观感或性能的场景。
默认配置:GroovyConfig/ClearDroppedItems.yml
如果你在
config.yml -> feature-scripts.config-directory中改过脚本配置目录,请以实际目录为准。
配置示例
yml
# 是否启用该脚本
enabled: true
# 生效世界列表
# 留空 [] 表示所有已加载世界都生效
worlds: []
# 周期清理配置
scheduled-cleanup:
# 是否启用周期性清理
enabled: true
# 周期清理间隔(tick)
# 20 tick = 1 秒,6000 tick = 5 分钟
interval-ticks: 6000
# 主动清理命令配置
command:
# 可触发主动清理的命令别名
aliases:
- 'cleardrops'
- 'clearitems'
- 'cleanupdrops'
# 执行主动清理所需权限
permission: 'hncore.scripts.cleardroppeditems.execute'
# 反馈消息
# 可用占位符:{count} {worldCount} {worlds} {trigger} {aliases} {permission}
messages:
no-permission: '&c你没有权限执行该命令。'
manual-success: '&a已清理 {count} 个掉落物。'
scheduled-console: '&7[ClearDroppedItems] 周期清理完成,共清理 {count} 个掉落物。'关键项说明
worlds
限定哪些世界参与清理。
[]:所有已加载世界都生效- 指定列表:只清理命中的世界
如果你只想清大厅或活动图,建议明确写世界名,不要直接放空。
scheduled-cleanup.enabled
是否启用定时清理。
true:后台按固定间隔自动清理false:关闭自动清理,只保留手动命令入口
scheduled-cleanup.interval-ticks
自动清理周期,单位 tick。
常见换算:
20tick = 1 秒1200tick = 1 分钟6000tick = 5 分钟
建议不要设得过低,否则会让地面掉落物还没来得及被玩家观察或拾取就被回收。
command.aliases
主动清理命令别名列表。
例如默认配置下,玩家可输入:
text
/cleardrops
/clearitems
/cleanupdrops控制台执行时通常不需要写 /。
command.permission
执行主动清理所需权限节点。
适合给管理组、值班组或控制台保留手动清理入口。
messages
这组消息支持以下占位符:
{count}:本次清理数量{worldCount}:参与清理的世界数{worlds}:参与清理的世界名列表{trigger}:触发来源(手动 / 定时等){aliases}:当前命令别名列表{permission}:执行所需权限
实际行为
脚本运行时会做两件事:
- 按
scheduled-cleanup配置启动周期清理任务 - 注册主动清理命令别名
也就是说,它既可以作为:
- 定时保洁脚本
- 管理命令入口
如果你只想保留手动清理,不想自动清理,只要把 scheduled-cleanup.enabled 关掉即可。
启用与重载
修改这个脚本的配置文件后,通常执行:
text
/hncore reload scripts如果你改的是 config.yml 中脚本系统总开关、目录名等核心配置,则应执行:
text
/hncore reload推荐使用场景
大厅 / 主城
建议:
- 自动清理开启
- 间隔偏短一些,例如 3~5 分钟
- 同时搭配 NoDrop
这样可以同时减少新掉落物产生和旧掉落物堆积。
生存公共区
建议:
- 自动清理开启
- 间隔适中,例如 5~10 分钟
- 只针对公共世界或公共资源区
这样可以降低公共区域掉落物压力,但不至于频繁影响正常拾取体验。
活动地图 / 挂机场景
建议:
- 自动清理开启
- 间隔按掉落量动态调整
- 给管理保留手动命令
联动说明
- 想减少掉落物新产生:搭配 NoDrop
- 想让大厅世界更干净稳定:可再搭配 FixedTime、NoRain
- 想看全部脚本索引:看 GroovyScripts 总览
注意事项
- 这个脚本清理的是地上的掉落物实体,不是玩家背包物品
worlds: []表示所有已加载世界都参与清理,生产环境建议确认是否符合预期- 如果你把自动清理间隔设得太短,玩家可能会感觉掉落物“刚掉出来就没了”
- 如果你主要是想防止玩家主动乱丢物品,核心还是优先看 NoDrop
