# 掉落物回收 **Repository Path**: langle123/ItemRecycle ## Basic Information - **Project Name**: 掉落物回收 - **Description**: 方可梦清理,基于 LGLibrary LGEntityClear 插件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-19 - **Last Updated**: 2026-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🗑️ ItemRecycle 插件文档 ## 📋 插件概述 ItemRecycle 是一个 Minecraft 服务端插件,专门用于**回收和管理世界中的掉落物**。该插件与 LGEntityClear 插件深度集成,为玩家提供直观的图形界面,方便查看和取回被回收的物品。 ## ⭐ 主要功能 - ✅ **自动回收**: 自动收集世界中的掉落物并存储到回收系统 - 🖥️ **图形界面**: 直观的 6×9 GUI 界面查看和管理回收的物品 - 🔗 **深度集成**: 与 LGEntityClear 插件无缝协作,使用自定义的实体过滤器和移除器 - 🎮 **命令控制**: 完整的命令系统和权限管理 - 📦 **智能存储**: 支持大量物品的分页管理和持久化存储 ## 🎮 命令列表 | 命令 | 别名 | 描述 | 权限 | |----------------|-------|----------|------------------------------| | `/ItemRecycle` | `/ir` | 显示插件主信息 | `ItemRecycle.command` | | `/ir help` | - | 显示帮助信息 | `ItemRecycle.command` | | `/ir open` | - | 打开物品回收界面 | `ItemRecycle.command` | | `/ir reload` | - | 重新加载配置 | `ItemRecycle.command.reload` | ## 🔐 权限节点 - `ItemRecycle.command` - 使用 ItemRecycle 所有命令的权限(默认:所有玩家) - `ItemRecycle.command.reload` - 重新加载配置文件权限(默认:仅OP) ## ⚙️ 配置说明 ### 主配置文件 (`config.yml`) ```yaml gui: title: "垃圾桶" # GUI界面标题 item: border: material: "GRAY_STAINED_GLASS_PANE" # 边框物品材质 name: "§r" # 边框物品名称 next_page: material: "LIME_STAINED_GLASS_PANE" # 下一页按钮材质 name: "§a下一页§7[§f{page}/{maxPage}§7]" # 下一页按钮名称 previous_page: material: "LIME_STAINED_GLASS_PANE" # 上一页按钮材质 name: "§a上一页§7[§f{page}/{maxPage}§7]" # 上一页按钮名称 ``` ### 回收任务配置 (`item_recycle.yml`) > ⚠️ **重要提示**: 此文件会在插件首次加载时自动生成到 `plugins\ItemRecycle\` 目录下 ```yaml # 是否启用 enable: true # 清理间隔[单位: 秒] interval: 9007 message: 60: "[§c掉落物回收§f] 距离回收还有 60 秒" 30: "[§c掉落物回收§f] 距离回收还有 30 秒" 10: "[§c掉落物回收§f] 距离回收还有 10 秒" 5: "[§c掉落物回收§f] 距离回收还有 5 秒" 4: "[§c掉落物回收§f] 距离回收还有 4 秒" 3: "[§c掉落物回收§f] 距离回收还有 3 秒" 2: "[§c掉落物回收§f] 距离回收还有 2 秒" 1: "[§c掉落物回收§f] 距离回收还有 1 秒" clear: "[§c掉落物回收§f] 已回收 {count} 个实体,耗时 {executionTime} 毫秒" # 实体删除方式 remover: 1: name: item_recycle # 使用自定义的物品回收移除器 # 世界过滤器 world_filter: 1: # 过滤方法 [white, black]{白名单 黑名单} name: white attribute: list: - world # 只在world世界生效 # 实体过滤器 entity_filter: 1: # 过滤方法 [item_white, item_black]{白名单 黑名单} name: item_black # 黑名单模式,排除指定物品类型 attribute: list: [ ] # 空列表表示不过滤任何物品 ``` ## 🎯 使用方法 1. 📱 **打开界面**: 玩家输入 `/ir open` 命令打开物品回收界面 2. 👀 **浏览物品**: 在界面中查看所有被回收的物品(每页最多45个物品) 3. 🖱️ **取回物品**: 点击相应物品槽位即可取回物品到背包 4. 📦 **溢出处理**: 若背包已满,多余物品会重新掉落在玩家脚下 5. 📄 **翻页操作**: 使用左下角和右下角的绿色玻璃板进行上下页切换 ## 🖼️ 界面操作指南 - 📊 **物品展示区**: 前 45 个槽位(0-44)显示可回收的物品 - ⏮️⏭️ **翻页控制**: - 左下角绿色玻璃板(槽位45):上一页 - 右下角绿色玻璃板(槽位53):下一页 - 🎨 **装饰区域**: 底部中央槽位46-52为灰色玻璃板装饰 - 📋 **页面信息**: 翻页按钮上显示当前页码和总页数 ## 🏗️ 技术架构 ### 🧩 核心组件 - [`ItemRecycle`](src/main/java/me/minecraft/plugin/itemrecycle/ItemRecycle.java) - 主插件类,负责初始化和注册组件 - [`DropItemManager`](src/main/java/me/minecraft/plugin/itemrecycle/manager/DropItemManager.java) - 物品管理器,存储和管理所有被回收的物品 - [`MainGUI`](src/main/java/me/minecraft/plugin/itemrecycle/ui/MainGUI.java) - 图形界面类,提供物品查看和取回功能 - [`ComponentUtil`](src/main/java/me/minecraft/plugin/itemrecycle/util/ComponentUtil.java) - 组件工具类,创建实体过滤器和移除器 - [`MainConfig`](src/main/java/me/minecraft/plugin/itemrecycle/config/MainConfig.java) - 配置管理类,处理插件配置文件 ### 📡 命令系统 采用清晰的命令树结构设计: - [`AbstractMainCommand`](src/main/java/me/minecraft/plugin/itemrecycle/command/AbstractMainCommand.java) - 抽象主命令类 - [`MainCommand`](src/main/java/me/minecraft/plugin/itemrecycle/command/MainCommand.java) - 主命令实现 - [`SubCommand`](src/main/java/me/minecraft/plugin/itemrecycle/command/SubCommand.java) - 抽象子命令类 - [`OpenCommand`](src/main/java/me/minecraft/plugin/itemrecycle/command/OpenCommand.java) - 打开界面子命令 - [`HelpCommand`](src/main/java/me/minecraft/plugin/itemrecycle/command/HelpCommand.java) - 帮助子命令 - [`ReloadCommand`](src/main/java/me/minecraft/plugin/itemrecycle/command/ReloadCommand.java) - 重载配置子命令 ## 📦 依赖插件 - 📘 **LGLibrary** (v1.2.6) - 基础库支持,提供GUI框架 - 📗 **LGEntityClear** (v1.0.4) - 实体清理核心插件,提供实体过滤和清理功能 ## 🔧 构建信息 - **Java版本**: 1.8+ - **API版本**: 1.13+ - **构建工具**: Maven - **项目版本**: 1.0.1 ## ⚠️ 注意事项 1. 📁 插件会自动生成必要的配置文件,无需手动创建 2. 🔗 插件依赖于 LGLibrary 和 LGEntityClear 插件,必须先安装这些依赖 3. ⏱️ 配置文件中的清理间隔(默认9007秒)可根据服务器实际需求进行调整 4. 🛡️ 建议在生产环境使用前进行充分测试 5. 💾 回收的物品数据存储在内存中,服务器重启后会丢失(除非使用持久化扩展)