【Folia】ClearAllItems - 高性能物品清理插件 v1.0
插件简介
ClearAllItems 是一款专为 Folia 1.21.11 服务端设计的高性能物品清理插件,支持清理指定世界所有已生成区块内的物品。采用异步分批处理技术,完美适配Folia的区域化调度系统,确保清理过程不影响服务器TPS。
核心特性
强大的清理功能
技术优势
下载与安装
环境要求
安装步骤
指令使用
主指令
子指令列表
清理模式
非原版物品判定标准:
使用示例
使用场景
场景1:清理服务器中的所有物品
适用于:服务器重置、清理刷怪塔掉落物、清理卡顿物品等
场景2:仅清理自定义物品(保留原版物品)
适用于:
配置文件
配置文件位于 plugins/ClearAllitems/config.yml
任务配置
性能调优建议:
清理目标配置
日志配置
权限节点
工作原理
Folia适配说明
本插件完全适配Folia的区域化调度系统:
常见问题
Q: 插件会删除区块或方块吗?
A: 不会。插件只清理物品,不会删除任何区块或方块。例如,箱子方块会保留,只是清空其中的物品。
Q: 清理过程中服务器会卡顿吗?
A: 不会。插件采用分批异步处理,每批处理后会有延迟,确保服务器TPS稳定。
Q: 可以清理未加载的区块吗?
A: 插件只清理已加载的区块。如果需要清理整个世界,建议先使用其他工具预加载区块。
Q: 清理任务可以中断吗?
A: 可以。使用 /clearallitems pause 暂停,/clearallitems resume 恢复,/clearallitems stop 终止。
Q: 为什么需要确认?
A: 清理操作不可逆,确认机制可以防止误操作。可以在配置文件中关闭此功能。
性能优化建议
大地图优化
内存优化
更新日志
v1.0 (2026)
重要提示
本插件专为 Folia 服务端设计,不兼容传统的 Bukkit/Spigot/Paper 服务端。
如需在传统服务端使用,请使用其他插件。
技术支持
如遇到问题或有功能建议,欢迎在帖子下方留言反馈!
ClearAllItems 是一款专为 Folia 1.21.11 服务端设计的高性能物品清理插件,支持清理指定世界所有已生成区块内的物品。采用异步分批处理技术,完美适配Folia的区域化调度系统,确保清理过程不影响服务器TPS。
扫描所有已生成区块 - 通过读取region文件,自动扫描世界中所有已生成的区块
智能清理模式 - 支持清理所有物品或仅清理非原版物品(自定义物品)
清理地面掉落物(Item实体)
清理各类容器内物品(箱子、漏斗、熔炉、发射器、投掷器、潜影盒、木桶、酿造台等)
清理展示框/物品展示框内的物品
清理盔甲架上的装备和手持物品
清理矿车箱子、漏斗矿车内的物品
完美适配Folia - 使用RegionScheduler和GlobalRegionScheduler,完全兼容区域化调度
异步处理 - 分区块异步处理,避免服务器卡顿
批次处理 - 可配置每批次处理的区块数量和间隔时间
进度追踪 - 实时显示清理进度和统计信息
详细日志 - 记录清理过程的详细信息,支持导出到文件
安全机制 - 清理前确认提示,支持暂停/恢复/终止任务
高度可配置 - 支持配置清理目标、批次大小、间隔时间等
环境要求
- 服务端: Folia 1.21.11 或更高版本
- Java版本: Java 21 或更高版本
安装步骤
- 下载插件jar文件
- 将jar文件放入服务器的 plugins 文件夹
- 重启服务器或使用 /reload confirm 重载插件
- 插件会自动生成配置文件 plugins/ClearAllitems/config.yml
主指令
/clearallitems <子指令> [参数]子指令列表
| 指令 | 说明 | 用法 |
| start | 开始清理任务 | /clearallitems start [世界名] [模式] |
| confirm | 确认清理任务 | /clearallitems confirm |
| pause | 暂停清理任务 | /clearallitems pause |
| resume | 恢复清理任务 | /clearallitems resume |
| stop | 停止清理任务 | /clearallitems stop |
| status | 查看清理进度 | /clearallitems status |
| reload | 重载配置文件 | /clearallitems reload |
| help | 显示帮助信息 | /clearallitems help |
清理模式
| 模式 | 参数 | 说明 |
| 清理所有物品 | all | 清理所有物品(默认模式) |
| 仅清理非原版物品 | custom | 只清理带有自定义属性的物品 |
非原版物品判定标准:
- 带有 CustomModelData 的物品
- 带有 Lore(描述文本)的物品
- 带有 Unbreakable(无法破坏)属性的物品
- 带有自定义显示名称的物品
使用示例
# 清理当前所在世界的所有物品/clearallitems start# 清理指定世界的所有物品/clearallitems start world all# 仅清理指定世界的非原版物品(保留原版物品)/clearallitems start world custom# 确认清理/clearallitems confirm# 查看清理进度/clearallitems status# 暂停/恢复/停止清理/clearallitems pause/clearallitems resume/clearallitems stop场景1:清理服务器中的所有物品
/clearallitems start world all适用于:服务器重置、清理刷怪塔掉落物、清理卡顿物品等
场景2:仅清理自定义物品(保留原版物品)
/clearallitems start world custom适用于:
- 清理RPG服务器的自定义装备和道具
- 清理带有特殊属性的物品
- 保留玩家的原版资源(如钻石、铁锭等)
- 清理插件生成的自定义物品
配置文件位于 plugins/ClearAllitems/config.yml
任务配置
代码:
task:
chunks-per-batch: 100 # 每批次处理的区块数量
batch-interval-ms: 50 # 批次间隔时间(毫秒)
confirm-before-clear: true # 是否需要确认
timeout-seconds: 0 # 超时时间(0=禁用)
性能调优建议:
- 小型服务器(1-10人):chunks-per-batch: 50-100, batch-interval-ms: 50
- 中型服务器(10-50人):chunks-per-batch: 100-150, batch-interval-ms: 100
- 大型服务器(50+人):chunks-per-batch: 150-200, batch-interval-ms: 150
清理目标配置
代码:
targets:
dropped-items: true # 地面掉落物
containers:
enabled: true
chest: true # 箱子
barrel: true # 木桶
shulker-box: true # 潜影盒
hopper: true # 漏斗
# ... 更多容器类型
item-frames: true # 展示框
armor-stands: true # 盔甲架
日志配置
代码:
logging:
verbose: true # 详细日志
save-to-file: true # 保存到文件
log-file: "clear-logs.txt" # 日志文件路径
progress-interval: 50 # 进度报告间隔
| 权限节点 | 说明 | 默认 |
| clearallitems.* | 所有权限 | OP |
| clearallitems.use | 使用清理指令 | OP |
| clearallitems.admin | 管理员权限(重载配置) | OP |
Folia适配说明
本插件完全适配Folia的区域化调度系统:
- 区域调度器(RegionScheduler) - 用于处理特定区块的任务
- 每个区块的清理操作都在其所属区域的线程中执行
- 确保线程安全,避免跨区域访问
- 每个区块的清理操作都在其所属区域的线程中执行
- 全局调度器(GlobalRegionScheduler) - 用于协调整体任务
- 任务管理、进度统计等全局操作
- 批次间的延迟调度
- 任务管理、进度统计等全局操作
- 异步区块加载 - 使用 World.getChunkAtAsync() 异步加载区块
- 避免阻塞主线程
- 提高处理效率
- 避免阻塞主线程
Q: 插件会删除区块或方块吗?
A: 不会。插件只清理物品,不会删除任何区块或方块。例如,箱子方块会保留,只是清空其中的物品。
Q: 清理过程中服务器会卡顿吗?
A: 不会。插件采用分批异步处理,每批处理后会有延迟,确保服务器TPS稳定。
Q: 可以清理未加载的区块吗?
A: 插件只清理已加载的区块。如果需要清理整个世界,建议先使用其他工具预加载区块。
Q: 清理任务可以中断吗?
A: 可以。使用 /clearallitems pause 暂停,/clearallitems resume 恢复,/clearallitems stop 终止。
Q: 为什么需要确认?
A: 清理操作不可逆,确认机制可以防止误操作。可以在配置文件中关闭此功能。
大地图优化
- 调整批次大小:根据服务器性能调整 chunks-per-batch
- 增加批次间隔:如果TPS下降,增加 batch-interval-ms
- 分时段清理:在服务器低峰期执行清理任务
- 关闭详细日志:设置 verbose: false 减少日志输出
- 使用暂停功能:如果TPS下降,暂停任务等待恢复
内存优化
- 插件采用流式处理,不会一次性加载所有区块到内存
- 每批处理完成后会释放资源
- 日志文件采用缓冲写入,减少IO开销
v1.0 (2026)
初始版本发布
完整的Folia适配
分批异步处理
详细的日志记录
任务控制功能(暂停/恢复/停止)
高度可配置
智能清理模式(支持仅清理非原版物品)
本插件专为 Folia 服务端设计,不兼容传统的 Bukkit/Spigot/Paper 服务端。
如需在传统服务端使用,请使用其他插件。
如遇到问题或有功能建议,欢迎在帖子下方留言反馈!