**用** ❤️ **和** ✨ **为 Minecraft 社区制作**
*用 InventoryWizard 将你混乱的物品栏变成有组织的完美!* 🧙♂️# 🧙♂️ InventoryWizard
**The magical sorting assistant for your Minecraft world!** ✨
InventoryWizard 是一个强大的 PaperMC 插件,为你的服务器带来智能的一键式物品栏整理功能。凭借直观的控制和智能分类,管理你的物品从未如此简单!



## 🌟 特性
### ✨ **智能排序**
- **智能分类** - 物品会根据逻辑(武器、工具、食物、方块等)进行分组
- **热条优化** - 武器和工具优先,以供 PvP/生存游戏使用
- **堆叠合并** - 自动合并部分堆叠
- **可配置的部分堆叠排序** - 选择是否仅对完整堆叠进行排序,或包含部分堆叠(请参阅配置)
- **元数据保留** - 保持附魔、名称和物品数据
### 🖱️ **多种控制方法**
- **Shift+右键单击** - 整理物品栏、箱子和热条
- **双击** - 热条的替代排序方式
- **命令** - `/iwiz` 用于程序化排序
- **Shift+右键单击热条槽 4** - 循环排序模式
### 🎒 **全面覆盖**
- **物品栏** - 整理你的主要存储空间
- **热条** - 优化以快速访问战斗/生存物品
- **箱子** - 保持你的存储容器整洁
- **一键整理** - 同时整理所有物品
## 📥 安装
1. **下载**最新版本的 `InventoryWizard-x.x.x.jar` 从 [releases 页面](https://github.com/VanishingTacos/inventorywizard/releases)
2. **放置** JAR 文件在你的服务器的 `plugins` 文件夹中
3. **重启**你的服务器
4. **配置**插件使用 `plugins/InventoryWizard/config.yml`(可选)
### 要求
- **Minecraft**: 1.21.x
- **服务器**: PaperMC、Spigot 或兼容的分叉版本
- **Java**: 17 或更高
### 数据库
- **H2 数据库**: 内置,无需外部设置
- **存储**: `plugins/InventoryWizard/player_preferences.mv.db`
- **性能**: 针对拥有 1-10,000+ 玩家的服务器进行了优化
## 🎮 使用指南
### **控制方案概览**
| 动作 | 位置 | 权限要求 | 结果 |
|---|---|---|---|
| **Shift+右键单击** | 热条 (0-8 槽) | `inventorywizard.all` | 整理物品栏 + 热条 |
| **Shift+右键单击** | 热条 (0-8 槽) | `inventorywizard.hotbar` | 仅整理热条 |
| **Shift+右键单击** | 热条槽 4 | `inventorywizard.use` | 循环排序模式 |
| **Shift+右键单击** | 主物品栏 (9-35 槽) | `inventorywizard.inventory` | 整理主物品栏 |
| **Shift+右键单击** | 箱子 | `inventorywizard.chest` | 整理箱子内容 |
| **双击** | 热条 (0-8 槽) | `inventorywizard.hotbar` | 仅整理热条 |
### **整理你的物品栏**
- 打开你的物品栏 (`E`)
- **Shift+右键单击**你的主物品栏区域的任何槽 (9-35 槽)
- 见证魔法的发生! ✨
### **整理你的热条**
- **方法 1**: **Shift+右键单击**热条的任何槽 (0-8) 具有 `inventorywizard.hotbar` 权限
- **方法 2**: **双击**热条的任何槽
- **方法 3**: 使用命令 `/iwiz hotbar`
### **整理箱子**
- 打开任何箱子
- **Shift+右键单击**箱子的任何槽
- 整个箱子将被整理!
### **整理所有物品**
- **Shift+右键单击**你的热条 (0-8 槽) 具有 `inventorywizard.all` 权限
- 你的物品栏和热条都会被整理!
### **循环排序模式**
- **Shift+右键单击**热条槽 4(中间槽)循环排序模式
- **默认模式**: 根据物品类型智能分类
- **字母模式**: 按名称字母顺序排序物品
- **基于堆叠的模式**: 按物品类型分组,然后按堆叠大小排序(完整堆叠优先)
- 你喜欢的模式会被保存并记住,以供未来排序!
## 🧙♂️ 命令
| 命令 | 别名 | 描述 | 权限 |
|---|---|---|---|
| `/iwiz` | `/inventorywizard`, `/sort` | 基础命令 | `inventorywizard.use` |
| `/iwiz hotbar` | `/iwiz hb` | 仅整理热条 | `inventorywizard.hotbar` |
| `/iwiz inventory` | `/iwiz inv` | 仅整理物品栏 | `inventorywizard.inventory` |
| `/iwiz all` | `/iwiz both` | 整理所有物品 | `inventorywizard.all` |
## 🔐 权限
| 权限 | 描述 | 默认值 |
|---|---|---|
| `inventorywizard.use` | 基本插件访问 | `true` |
| `inventorywizard.chest` | 整理箱子 | `true` |
| `inventorywizard.inventory` | 整理玩家物品栏 | `true` |
| `inventorywizard.hotbar` | 整理热条 | `true` |
| `inventorywizard.all` | 一次性整理所有物品 | `true` |
### 权限组
```yaml
# 示例权限设置
groups:
default:
permissions:
- inventorywizard.use
- inventorywizard.inventory
- inventorywizard.hotbar
vip:
permissions:
- inventorywizard.* # 所有权限
```
## ⚙️ 配置
插件会生成一个 `config.yml` 文件,其中包含以下选项:
```yaml
# InventoryWizard 配置
settings:
# 在排序时播放魔法音效
play-sound: true
# 巫师魔法的声音设置
sound:
type: UI_BUTTON_CLICK
volume: 0.5
pitch: 1.2
# 排序方法: "TYPE" 表示智能分类,或 "ALPHABETICAL"
sort-method: "TYPE"
# 启用/禁用魔法特性
features:
chest-sorting: true
inventory-sorting: true
hotbar-sorting: true
show-messages: true
# 允许在箱子中排序部分堆叠(设置为 false 以仅对完整堆叠进行排序)
allow-partial-stacks-chest: true
# 允许在玩家物品栏中排序部分堆叠(设置为 false 以仅对完整堆叠进行排序)
allow-partial-stacks-inventory: true
# 热条排序优先级(针对 PvP/生存游戏进行了优化)
hotbar-priorities:
weapons: 100 # 剑、弓、弩优先
tools: 200 # 镐、斧、铲
food: 300 # 食物
building-blocks: 400 # 快速建造材料
utility-items: 500 # 末影珍珠、水桶、火把
other: 999 # 其他一切
```
#### 部分堆叠排序行为
- `allow-partial-stacks-chest` 和 `allow-partial-stacks-inventory` 控制箱子和玩家物品栏是否包含部分堆叠。
- **如果设置为 `true`**: 所有物品,包括部分堆叠,都会尽可能地进行排序和合并。
- **如果设置为 `false`**: 仅对完整堆叠进行排序。任何剩余的部分堆叠会在物品栏或箱子的末尾保持未排序状态。
## 🎮 排序模式
### **默认模式** (智能分类)
物品按逻辑类别排序:
1. **石头类型** - 石头、花岗岩、鹅卵石、深板岩等。
2. **泥土类型** - 泥土、沙子、砾石、粘土、混凝土等。
3. **木材类型** - 树木、木板、树叶、树苗。
4. **矿物和金属** - 铁块、钻石块等。
5. **其他方块** - 其余的建筑材料
6. **工具** - 镐、斧、铲、剪刀等。
7. **武器** - 剑、弓、箭、三叉戟
8. **盔甲** - 头盔、胸甲、靴子、盾牌
9. **食物** - 所有可食用物品
10. **红石** - 红石组件和机制
11. **交通工具** - 船、矿车、马鞍
12. **装饰品** - 花朵、地毯、旗帜等
13. **杂物** - 其他所有物品
### **字母模式**
物品按其材质名称的字母顺序(A-Z)排序。
### **基于堆叠的模式**
物品首先按类型分组,然后按类型内的堆叠大小排序。完整堆叠在相同物品的任何部分堆叠之前出现。
### **热条排序顺序** (针对 PvP/生存游戏进行了优化)
1. **武器** - 快速访问的战斗物品
2. **工具** - 重要的生存工具
3. **食物** - 恢复生命
4. **建筑方块** - 鹅卵石、泥土,用于快速建造
5. **工具物品** - 末影珍珠、水桶、火把
6. **其他物品** - 杂项
## 🔧 从源代码构建
```bash
# 克隆仓库
git clone https://github.com/VanishingTacos/inventorywizard.git
cd inventorywizard
# 使用 Maven 构建
mvn clean package
# JAR 将在 target/InventoryWizard-1.0.0.jar 中
```
### 开发要求
- Java 17+
- Maven 3.6+
- PaperMC API 1.21.4+
## 🤝 贡献
欢迎贡献!请随时提交拉取请求、报告错误或建议功能。
1. **Fork** 仓库
2. **创建** 一个功能分支: `git checkout -b feature-name`
3. **提交** 你的更改: `git commit -am 'Add some feature'`
4. **推送** 到分支: `git push origin feature-name`
5. **提交** 一个拉取请求
## 📜 更新日志
# 版本 1.1.1
- 🛡️ **添加速率限制** - 防止过度排序以避免服务器滞后和滥用(每个玩家可配置)
- 🗃️ **H2 数据库** - 改进了物品栏数据存储的性能和安全性
- 🐛 **修复错误** - 修复了物品栏同步和排序边缘情况的罕见问题
- 📚 **文档改进** - 扩展了 README 和游戏内帮助,以了解新功能
### 版本 1.1.0
- ✨ **添加新的基于堆叠的排序模式** - 按类型分组,然后按堆叠大小排序(完整堆叠优先)
- 🔄 **保留单个堆叠** - 部分堆叠保持其原始大小,而不会合并
- 📦 **字母材质分组** - 在基于堆叠的模式下,物品按材质名称字母顺序分组
- 🎯 **增强排序逻辑** - 改进了堆叠大小排序(类型内从小到大)
- 🧙♂️ **模式循环** - 轻松切换 Default、Alphabetical 和 Stack-based 排序模式
### 版本 1.0.1
- 🔧 **修复控制方案** - 移除了中间点击,改进了 Shift+右键单击逻辑
- 🎯 **增强热条排序** - 组合排序的基于权限的优先级系统
- 🛠️ **代码优化** - 消除了重复的事件处理程序并提高了可靠性
- 📝 **更新文档** - 更清晰的说明和权限要求
### 版本 1.0.0
- ✨ 初始版本
- 🧙♂️ 具有基于类型的智能分类的智能物品栏排序
- 🎯 PvP/生存游戏用作热条优化
- 📦 箱子组织支持
- 🖱️ 多种控制方法(基于点击和命令)
- 🔊 音频反馈和魔法消息
- ⚙️ 全面的配置选项
## 📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件。
## 🙏 感谢
- **PaperMC 团队** 提供了优秀的服务器软件
- **Minecraft 社区** 提供了灵感和反馈
- **插件开发者** 为高质量的 Bukkit 插件铺平了道路
---
## ☕ 支持 InventoryWizard
如果您喜欢使用 InventoryWizard 并希望支持其开发,您可以请我喝杯咖啡!
**用** ❤️ **和** ✨ **为 Minecraft 社区制作**
*用 InventoryWizard 将你混乱的物品栏变成有组织的完美!* 🧙♂️
**用** ❤️ **和** ✨ **为 Minecraft 社区制作**
*用 InventoryWizard 将你混乱的物品栏变成有组织的完美!* 🧙♂️