ChestProtect

防止人们破坏/打开你的箱子。

资源图片
一个全面的 Minecraft Bukkit 插件,它会自动保护带有朋友列表的容器,并提供视觉指示器、所有权转移和自动清理功能,以清理不活跃玩家的容器。 ## 🔒 **核心保护功能** ### **自动容器保护** - **即时保护**: 玩家放置的容器会自动保护 - **广泛的容器支持**: 保护 30 多种容器类型,包括: - **存储**: 箱子、铁箱子、木桶、末影箱 - **所有调色板的刷刷箱**: 所有 17 种颜色(可配置) - **加工**: 熔炉、高炉、烟熏炉、酿造台 - **红石**: 发射器、投掷器、漏斗 - **实用工具**: 信标、铁砧、附魔台、讲台、留声机等等 - **双箱支持**: 自动保护双箱的两个半部分 - **SQLite 数据库**: 持久的保护存储,具有高效索引 ### **访问控制系统** - **仅限所有者访问**: 默认情况下,只有放置容器的玩家才能访问它 - **管理员绕过**: 可配置的管理员覆盖,权限为 `chestprotect.admin.bypass` - **破坏保护**: 防止未经授权的玩家破坏受保护的容器 ## 👥 **朋友系统** ### **全局朋友列表** - **添加朋友**: `/chestprotect friend add <玩家>` - 将玩家添加到您的朋友列表 - **移除朋友**: `/chestprotect friend remove <玩家>` - 从列表中移除玩家 - **查看朋友**: `/chestprotect friend list` - 查看您的所有朋友 - **清除列表**: `/chestprotect friend clear` - 一次性移除所有朋友 ### **朋友访问权限** - **全局访问**: 朋友可以访问您 *所有* 受保护的容器 - **离线玩家支持**: 即使他们在离线状态,也可以添加朋友 - **缓存性能**: 朋友列表被缓存,以实现快速访问检查 - **数据库持久性**: 朋友关系在服务器重启后依然存在 ## 🎨 **视觉指示器** ### **粒子特效系统** - **实时视觉反馈**: 通过粒子效果查看保护状态 - **颜色编码指示器**: - 🟢 **绿色粒子** (快乐村民) - 您拥有的容器 - 🔵 **蓝色粒子** (附魔) - 您的朋友与您分享的容器 - 🔴 **红色粒子** (生气村民) - 您无法访问的受保护容器 - **智能显示**: 仅在玩家 10 个方块范围内显示粒子 - **性能优化**: 每 2 秒更新一次以最大限度减少滞后 - **可配置**: 在配置中启用/禁用视觉指示器 ## 🔄 **所有权转移** ### **容器转移系统** - **轻松转移**: `/chestprotect transfer <玩家>` - 将所有权转移给另一个人 - **瞄准目标**: 只需要看着您想转移所有权的那只容器 (不需要坐标) - **即时转移**: 数据库更新后所有权立即发生变化 - **通知**: 两位玩家都会收到确认消息 - **验证**: 确保您拥有容器,并且目标玩家存在 ## 🧹 **自动清理** ### **不活跃玩家管理** - **上次访问跟踪**: 记录容器上次打开的时间 - **自动过期**: 删除 30 天以上未使用 (可配置) 的容器的保护 - **后台清理**: 每 24 小时自动运行 - **手动清理**: 管理员可以通过 `/chestprotect cleanup` 触发清理 - **世界清理**: 删除已删除世界的容器 ## ⚙️ **高级配置** ### **漏斗控制** - **可配置漏斗访问**: 选择漏斗是否可以从受保护的容器中提取/插入物品 - **完全阻止**: 在禁用时,漏斗不能与受保护的容器交互 - **所有容器类型**: 适用于箱子、熔炉、发射器和所有其他容器 ### **可定制消息** - **颜色代码支持**: 所有消息的完整 `&` 颜色代码支持 - **动态占位符**: `{容器}` 占位符显示实际的容器类型 - **多语言支持**: 所有消息都可以在 config.yml 中配置 - **管理员通知**: 管理员绕过动作的单独消息 ### **保护设置** - **管理员绕过开关**: 启用/禁用管理员覆盖权限 - **双箱保护**: 自动保护双箱的两个半部分 - **刷刷箱开关**: 启用/禁用刷刷箱保护 - **放置通知**: 配置玩家是否看到保护消息 ## 📊 **信息和统计** ### **玩家信息** - **保护统计**: `/chestprotect info` 显示: - 您保护的容器数量 - 朋友列表中的朋友数量 - 自动清理过期设置 - **数据库查询**: 数据库中的实时统计信息 ## 🛡️ **安全功能** ### **数据库安全** - **SQLite 后端**: 轻量级、可靠的数据库存储 - **预处理语句**: 预防 SQL 注入攻击 - **事务安全**: 原子操作,确保数据一致性 - **索引优化**: 即使有数千个容器,也能进行快速查找 ### **权限系统** - **细粒度权限**: 为每个功能提供单独的权限 - **默认访问**: 默认情况下,所有玩家都可以访问基本功能 - **管理员控制**: 仅管理员才能使用的命令得到适当保护 - **权限继承**: 合理的权限层次结构 ## 🚀 **性能特征** ### **优化系统** - **朋友列表缓存**: 将朋友列表缓存到内存中,以便立即访问 - **高效的数据库查询**: 索引数据库和优化后的 SQL - **最小的视觉影响**: 视觉指示器仅限于附近的容器 - **异步任务**: 清理操作不会影响服务器性能 ### **资源管理** - **轻量级设计**: 最小的内存占用 - **智能缓存**: 仅缓存频繁访问的数据 - **自动清理**: 后台任务可防止数据库膨胀 ## 💻 **命令参考** | 命令 | 描述 | 权限 | |---|---|---| | `/chestprotect` | 显示帮助菜单 | `chestprotect.use` | | `/chestprotect friend add <玩家>` | 添加朋友 | `chestprotect.friend` | | `/chestprotect friend remove <玩家>` | 移除朋友 | `chestprotect.friend` | | `/chestprotect friend list` | 列出朋友 | `chestprotect.friend` | | `/chestprotect friend clear` | 清除朋友 | `chestprotect.friend` | | `/chestprotect transfer <玩家>` | 转移所有权 | `chestprotect.transfer` | | `/chestprotect info` | 查看统计信息 | `chestprotect.info` | | `/chestprotect cleanup` | 清理过期容器 | `chestprotect.admin.cleanup` | | `/chestprotect reload` | 重新加载配置 | `chestprotect.admin.reload` | **别名**: `/cp`, `/protect`, `/lockchest` 可用于 `/chestprotect` ## 🔧 **技术要求** - **Minecraft 版本**: 1.21+ (API 版本 1.21) - **服务器软件**: Bukkit, Spigot, Paper - **依赖项**: SQLite JDBC 驱动程序 (通常包含) - **Java 版本**: Java 17+ (符合 Minecraft 1.21 要求) ## 📋 **安装** 1. 下载 ChestProtect.jar 2. 放置在服务器的 `/plugins/` 文件夹中 3. 重启服务器以生成默认配置 4. 在 `/plugins/ChestProtect/config.yml` 中自定义设置 5. 使用 `/chestprotect reload` 重新加载配置 ## ✨ **主要优势** - **零配置**: 具有合理的默认设置即可立即运行 - **用户友好**: 简单命令和清晰的反馈消息 - **管理员友好**: 综合管理员工具和控制 - **性能有保障**: 针对多玩家服务器进行了优化 - **功能丰富**: 高级功能,却不复杂 - **可靠**: 强大的数据库存储和错误处理 --- **本插件提供完全实施的功能——不多,也不少。这里描述的每个功能都是完全可用的,并且经过了测试。**