# OpenInv 插件
## 概述
OpenInv 是一个全面的 Minecraft 服务器插件,允许管理员查看、修改和管理玩家的物品栏。版本 0.3 引入了增强的功能,包括末影箱管理、改进的物品栏处理以及强大的配置选项。
## 核心功能
### 物品栏管理
- **查看玩家物品栏**:管理员可以使用 `/openinv check <玩家>` 查看任何玩家的物品栏。
- **实时编辑**:在物品栏 GUI 中进行的更改会实时同步到目标玩家。
- **物品栏历史**:该插件维护物品栏状态的历史记录,允许回滚。
- **盔甲和副手支持**:完全支持查看和修改盔甲栏位和副手物品。
### 末影箱管理
- **查看和编辑末影箱**:管理员可以使用 `/openinv echeck <玩家>` 访问任何玩家的末影箱。
- **同步更新**:对末影箱内容的更改会立即应用到目标玩家。
- **权限控制**:单独的权限节点 (`openinv.enderchest`) 用于末影箱访问。
### 物品栏控制
- **冻结功能**:使用 `/openinv freeze <玩家>` 阻止玩家修改他们的物品栏。
- **解冻命令**:使用 `/openinv unfreeze <玩家>` 重新启用物品栏修改。
- **掉落/捡起预防**:冻结的玩家无法掉落或捡起物品。
- **防垃圾邮件保护**:当玩家尝试执行被禁止的操作时,消息的冷却系统。
### 搜索功能
- **物品搜索**:使用 `/openinv search <物品> <玩家>` 在玩家的物品栏中查找特定物品。
- **制表符自动完成**:物品名称和玩家名称的智能制表符自动完成。
- **错误处理**:无效搜索的强大错误处理。
### 用户界面
- **自定义 GUI**:设计良好的物品栏界面,包含主物品栏、盔甲和副手等独立部分。
- **装饰元素**:黑色着色玻璃窗板作为填充物品,以获得更好的视觉组织。
- **操作按钮**:用于快速操作的清除物品栏和关闭按钮。
- **可配置布局**:GUI 布局可以通过配置文件进行自定义。
### 管理员工具
- **回滚系统**:使用 `/openinv rollback <玩家>` 回滚物品栏更改。
- **欢迎消息**:向 OP 玩家显示可用命令的翔实欢迎消息。
- **帮助命令**:使用 `/openinv help` 显示有关可用命令的全面帮助系统。
- **制表符自动完成**:所有插件命令的智能命令自动完成。
## 技术特性
### 配置系统
- **config.yml**:可定制的消息、GUI 布局和插件设置。
- **data.yml**:存储玩家特定数据和操作日志。
### 日志系统
- **综合日志记录**:记录所有管理员操作,并带有时间戳。
- **多个目的地**:可配置到控制台和/或文件的日志记录。
- **自定义格式**:通过配置自定义日志格式。
### 性能优化
- **冷却机制**:防止过度更新和消息垃圾邮件。
- **同步操作**:线程安全的物品栏修改。
- **资源清理**:玩家断开连接时的适当清理。
- **错误处理**:插件全文的强大异常处理。
### 安全功能
- **权限系统**:所有命令的细粒度权限控制。
- **盔甲验证**:防止盔甲栏位中出现无效物品。
- **原子更新**:确保修改过程中物品栏的完整性。
## 权限
- `openinv.command`: 使用插件的基本权限。
- `openinv.enderchest`: 访问玩家末影箱的权限。
## 命令
- `/openinv check <玩家>`: 查看和编辑玩家的物品栏
- `/openinv echeck <玩家>`: 查看和编辑玩家的末影箱
- `/openinv search <物品> <玩家>`: 在玩家的物品栏中搜索物品
- `/openinv freeze <玩家>`: 阻止玩家修改他们的物品栏
- `/openinv unfreeze <玩家>`: 允许玩家再次修改他们的物品栏
- `/openinv rollback <玩家>`: 将玩家的物品栏回滚到之前的状态
- `/openinv help`: 显示有关可用命令的帮助信息
这个插件非常适合需要强大工具来管理玩家物品栏、调查与物品相关的问题并维护服务器完整性的服务器管理员。