清理掉落物 (ClearDrops)
一款仅服务器端的 Forge 1.20.1 模组,将世界中的掉落物收集到共享回收箱。支持自动/手动收集、通过原版箱子界面取回、配置热加载、渐变色消息、物品黑名单、预警和虚空防护。原版客户端可直接加入,无需安装客户端模组。
ClearDrops(清理掉落物)
ClearDrops 是一个仅服务器端的 Forge 1.20.1 模组,用于将世界中的散落物品整理到一个共享回收箱中,便于统一管理和取回。支持自动或手动触发、通过原版箱子 GUI 查看与取回、配置热加载、消息渐变色、物品黑名单、收集前预警以及虚空物品保护。原版客户端无需额外模组即可使用该功能。
- Minecraft: 1.20.1
- Forge: 47.4.x
- Java: 17
- Mod ID:
cleardrops - 客户端依赖: 无(原版客户端可打开 GUI 并使用回收箱)
主要功能
- 定期自动清理世界中的掉落物实体(间隔与开关可配置)
- 可通过命令手动立即收集
- 共享回收箱:54 格(使用原版 6 行箱子容器)
- 配置热加载:修改并保存
<WORLD>/serverconfig/cleardrops-server.toml即刻生效,或运行/cleardrops reload - 完全可配置的消息(支持中文/英文或任意语言),支持渐变色标签
- 在可配置的秒点进行收集前预警
- 物品黑名单:被列入黑名单的物品不会被收集,回收箱清理时也会跳过这些物品
- 虚空物品保护:掉入虚空的物品会被传送回安全高度并可选择重置速度
安装
- 将模组 jar 放入服务器的
mods/文件夹。 - 启动服务器一次以生成配置文件。
- 编辑
<WORLD>/serverconfig/cleardrops-server.toml以符合你的需求。 - 保存文件即可热加载,或运行
/cleardrops reload强制重载配置。
命令
/cleardrops help— 显示帮助(支持配置的渐变样式文本)/cleardrops gui— 打开回收箱(原版箱子界面)/cleardrops status— 显示当前回收箱内容、倒计时与开关状态/cleardrops collect— 立即收集掉落物(权限等级 ≥ 2)/cleardrops purge— 立即清空回收箱(权限等级 ≥ 2;黑名单物品会被跳过)/cleardrops reload— 从 TOML 重新加载配置(权限等级 ≥ 2)
权限遵循服务器标准的 op 等级(hasPermission(2))。
配置(支持热加载)
配置文件路径:<WORLD>/serverconfig/cleardrops-server.toml
保存文件即可即时应用改动(热加载),或运行 /cleardrops reload。
[general]
<h1>是否启用周期性自动收集掉落物。</h1>
enableAutoCollect = true
<h1>自动收集间隔的 tick 数。20 tick = 1 秒。</h1>
ticksPerCollect = 6000
<h1>收集后在回收箱中保留的 tick 数,达到后会被清理(purge)。</h1>
ticksKeepAfterCollect = 2400
<h1>是否向在线玩家广播消息(警告、收集、清理等)。</h1>
announceMessages = true
[blacklist]
<h1>物品 ID 列表(例如:minecraft:nether_star)。被列入黑名单的物品不会被收集,</h1>
<h1>且在清空回收箱(purge)时也会被跳过(不会被本模组销毁)。</h1>
items = ["minecraft:nether_star", "minecraft:totem_of_undying"]
[void_protection]
<h1>是否将掉入虚空的物品拉回到世界的最小建造高度附近的安全位置。</h1>
enableVoidProtect = true
<h1>向上检索安全空气位置的最大步数(方块数)。</h1>
raiseMaxSteps = 6
<h1>从虚空救回时是否重置物品速度(清零速度)。</h1>
resetVelocity = true
[messages]
<h1>消息前缀(支持渐变标签)。示例:</h1>
prefix = "<gradient:#00E5FF:#00FF7F>[Cleardrops]</gradient>"
<h1>收集前预警时间点(秒)。</h1>
warnSeconds = [60, 30, 10, 5, 4, 3, 2, 1]
<h1>收集前警告消息模板(占位符:{time})</h1>
msgPreCollect = "Collecting dropped items in {time}s. Please pick up valuables!"
<h1>自动收集完成消息(占位符:{entities}, {keep})</h1>
msgCollected = "Collected {entities} item entities. Use /cleardrops gui to retrieve. Purging in {keep}s."
<h1>清理(purge)完成消息(占位符:{slots})</h1>
msgPurged = "Recycle bin purged. Cleared {slots} slot(s)."
<h1>状态消息(占位符:{slotsUsed}, {slotsTotal}, {items}, {keep}, {auto}, {interval}, {keepCfg}, {announce})</h1>
msgStatus = "Recycle Bin: {slotsUsed}/{slotsTotal} slots, {items} items; Purge in {keep}; Auto={auto}, Interval={interval}s, Keep={keepCfg}s, Announce={announce}."
<h1>帮助消息(支持渐变与 n 换行)</h1>
msgHelp = "<gradient:#7AD7F0:#4FC3F7>Cleardrops Help</gradient>n<gradient:#A8FF78:#78FFD6>/cleardrops gui</gradient> - Open recycle binn<gradient:#A8FF78:#78FFD6>/cleardrops status</gradient> - Show statusn<gradient:#FFD54F:#FF8A00>/cleardrops collect</gradient> - Collect now (perm 2)n<gradient:#FFD54F:#FF8A00>/cleardrops purge</gradient> - Purge now (perm 2)n<gradient:#B388FF:#7C4DFF>/cleardrops reload</gradient> - Reload config (perm 2)"
<h1>手动命令反馈</h1>
<h1>/cleardrops collect(占位符:{entities}, {keep})</h1>
msgCmdCollect = "Collected {entities} item entities. You have {keep}s to retrieve them from the bin."
<h1>/cleardrops purge(占位符:{slots})</h1>
msgCmdPurge = "Recycle bin purged: {slots} slot(s) cleared. Blacklisted items were skipped."已复制!
消息格式说明
- 渐变标签:
- 语法:
<gradient:#RRGGBB:#RRGGBB>文本</gradient> - 渐变按字符线性插值颜色
- 可在
prefix、msgHelp以及任意消息模板中使用
- 语法:
- 占位符说明:
- 警告:
{time} - 收集:
{entities}、{keep} - 清理(purge):
{slots} - 状态:
{slotsUsed}、{slotsTotal}、{items}、{keep}、{auto}、{interval}、{keepCfg}、{announce}(若模板中添加,还可使用{blacklistedStacks})
- 警告:
黑名单与虚空保护
- 黑名单:
- 列入黑名单的物品在清理时不会被收集(仍留在世界中)。
- 若回收箱中存在黑名单物品,清空(purge)操作会跳过这些物品,避免被本模组销毁。
- 虚空保护:
- 检测位于最小建造高度以下的物品实体,并将其传送到可用的安全空气位置。
- 可配置最大抬升步数及是否重置速度。
常见问题(FAQ)
- 客户端需要安装模组吗?
- 不需要。本模组仅服务器端,界面使用原版箱子容器,原版客户端可直接加入并使用。
- 会与其他清理模组冲突吗?
- 若同时存在多个清理机制可能产生重叠。建议只启用一个主要清理器或错开清理时间。
- 配置更改无效怎么办?
- 请确认修改的是当前世界的
serverconfig/cleardrops-server.toml,保存文件以热加载,或运行/cleardrops reload强制重载。
- 请确认修改的是当前世界的
开发信息
- JDK 17,Forge 1.20.1(47.4.x)
- 构建:
./gradlew build(产物位于build/libs/) - 主要包与职责:
cn.alini.cleardrops.server.ServerScheduler— 调度核心:收集/清理、预警、虚空保护、黑名单cn.alini.cleardrops.config.CDConfig— 配置规范与热加载cn.alini.cleardrops.command.CleardropsCommands— 命令注册与处理cn.alini.cleardrops.util.MessageUtil— 渐变渲染与占位符替换cn.alini.cleardrops.storage.TrashStorage— 回收箱存储实现
许可
本项目采用 Creative Commons Attribution 4.0 International (CC BY 4.0) 许可。你可以在保留署名的前提下复制、修改和分发本项目。
截图:
版本&下载
ClearDrops 1.0
收录


