InventoryWizard

用InventoryWizard将你杂乱无章的物品栏变为井井有条的完美状态!🧙‍♂️

资源图片
# 🧙‍♂️ InventoryWizard **The magical sorting assistant for your Minecraft world!** ✨ InventoryWizard 是一个强大的 PaperMC 插件,为你的服务器带来智能的一键式物品栏整理功能。凭借直观的控制和智能分类,管理你的物品从未如此简单! ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Minecraft](https://img.shields.io/badge/minecraft-1.21.x-green.svg) ![PaperMC](https://img.shields.io/badge/server-PaperMC-orange.svg) ## 🌟 特性 ### ✨ **智能排序** - **智能分类** - 物品会根据逻辑(武器、工具、食物、方块等)进行分组 - **热条优化** - 武器和工具优先,以供 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 并希望支持其开发,您可以请我喝杯咖啡! Buy Me A Coffee **用** ❤️ **和** ✨ **为 Minecraft 社区制作** *用 InventoryWizard 将你混乱的物品栏变成有组织的完美!* 🧙‍♂️