• 注册
  • MOD模组 MOD模组 关注:174 内容:46876

    清理掉落物 (ClearDrops)

  • 查看作者
  • 打赏作者
  • 当前位置: SodaMC > MOD模组 > 正文
  • 潮涌核心
    永久赞助者

    清理掉落物 (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
    • 完全可配置的消息(支持中文/英文或任意语言),支持渐变色标签
    • 在可配置的秒点进行收集前预警
    • 物品黑名单:被列入黑名单的物品不会被收集,回收箱清理时也会跳过这些物品
    • 虚空物品保护:掉入虚空的物品会被传送回安全高度并可选择重置速度

    安装

    1. 将模组 jar 放入服务器的 mods/ 文件夹。
    2. 启动服务器一次以生成配置文件。
    3. 编辑 <WORLD>/serverconfig/cleardrops-server.toml 以符合你的需求。
    4. 保存文件即可热加载,或运行 /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>
      • 渐变按字符线性插值颜色
      • 可在 prefixmsgHelp 以及任意消息模板中使用
    • 占位符说明:
      • 警告:{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.1

    1.0.1 · Release版本: 1.0.1支持游戏: 1.20.1, 1.20.2, 1.20.4类型: Forge NeoForgeRelease下载次数: 56,721

    ClearDrops 1.0

    1.0 · Release版本: 1.0支持游戏: 1.20, 1.20.1, 1.20.2, 1.20.4类型: Forge NeoForgeRelease下载次数: 94

  • 收录

  • 请登录之后再进行评论

    登录
  • Soda任务 图片
  • 帖子间隔 侧栏位置: