logo
0
0
Login
修复bug

🎮 ItemManager - Minecraft 物品权限管理插件

Minecraft Spigot Java License

一个功能强大的Minecraft服务器插件,提供基于等级的物品和方块权限管理系统,支持网页管理界面、基岩版玩家、批量操作等高级功能。

✨ 主要特性

🏷️ 等级管理系统

  • 多等级支持 - 创建无限数量的自定义等级
  • 等级继承 - 支持等级间的权限继承关系
  • 颜色代码 - 完整的Minecraft颜色代码支持(§0-§f,格式代码)
  • 优先级系统 - 灵活的等级优先级排序
  • 绕过限制 - 管理员等级可绕过所有限制

👥 玩家管理

  • 在线玩家管理 - 实时显示在线玩家及其等级
  • 离线玩家支持 - 为离线玩家设置等级
  • 白名单集成 - 完整的白名单玩家管理
  • 基岩版兼容 - 完美支持基岩版玩家(如 .RogueBee19079
  • UUID智能处理 - 自动处理UUID不一致问题
  • 批量操作 - 一键为多个玩家设置等级
  • OP权限控制 - 精细化的OP权限管理

📦 物品权限系统

  • 方块限制 - 基于等级的方块放置和破坏权限
  • 物品限制 - 物品持有和使用权限控制
  • 分类管理 - 智能的物品和方块分类系统
  • 批量添加 - 批量为等级添加允许的物品
  • 实时检查 - 可配置的背包检查间隔
  • 继承权限 - 等级继承的权限自动合并
  • 即时生效 - 网页管理端修改权限立即生效

🌐 网页管理界面

  • 现代化UI - 美观易用的响应式界面
  • 实时数据 - 动态加载的材料分类数据
  • 搜索过滤 - 强大的搜索和过滤功能
  • 颜色预览 - 实时的Minecraft颜色代码预览
  • 批量选择 - 多选复选框和全选功能
  • 移动端支持 - 完美适配手机和平板
  • 权限即时更新 - 修改权限后无需重启服务器

🗄️ 数据管理

  • 数据库支持 - SQLite(默认)和MySQL支持
  • 操作日志 - 完整的操作记录和审计
  • 配置热重载 - 运行时配置修改
  • 数据同步 - 实时的数据同步和更新
  • 备份友好 - 易于备份和迁移的数据结构
  • 数据库清理 - 自动清理重复记录

🔧 调试工具

  • 玩家诊断 - 详细的玩家信息查看
  • UUID追踪 - 完整的UUID和状态信息
  • 基岩版检测 - 自动识别基岩版玩家
  • 权限测试 - 权限检查和验证工具
  • 详细日志 - 可控制的详细操作日志
  • 缓存管理 - 智能的缓存刷新机制

🎛️ 高级配置

  • 详细日志控制 - 可开关的详细操作日志
  • 智能查询系统 - 自动处理UUID不一致问题
  • 基岩版兼容性 - 完整的基岩版玩家支持
  • 性能优化 - 高效的缓存和数据库操作

🚀 快速开始

系统要求

  • Minecraft版本: 1.21+
  • 服务端: Spigot, Paper, Bukkit
  • Java版本: 17+
  • 内存: 建议2GB+

安装步骤

  1. 下载插件

    # 下载最新版本的 fangkuai-1.0.0-fat.jar
  2. 安装插件

    # 将JAR文件放入服务器的 plugins/ 目录 cp fangkuai-1.0.0-fat.jar /path/to/server/plugins/
  3. 启动服务器

    # 启动服务器,插件会自动创建配置文件
  4. 访问网页界面

    http://your-server-ip:8099 默认用户名: admin 默认密码: admin123

📋 配置说明

主配置文件 (config.yml)

# 数据库配置 database: type: "sqlite" # sqlite 或 mysql sqlite: file: "plugins/ItemManager/data.db" mysql: host: "localhost" port: 3306 database: "itemmanager" username: "root" password: "password" useSSL: false # 网页管理端配置 web: enabled: true port: 8099 host: "0.0.0.0" admin: username: "admin" password: "admin123" allowed-ips: [] # 等级系统配置 level-system: default-level: "普通用户" levels: "普通用户": priority: 0 display-name: "§7普通用户" allowed-blocks: - "STONE" - "DIRT" - "GRASS_BLOCK" - "COBBLESTONE" - "OAK_WOOD" - "OAK_PLANKS" allowed-items: - "WOODEN_SWORD" - "WOODEN_PICKAXE" - "WOODEN_AXE" - "WOODEN_SHOVEL" - "BREAD" - "APPLE" "VIP用户": priority: 1 display-name: "§6VIP用户" inherit: ["普通用户"] allowed-blocks: - "IRON_BLOCK" - "GOLD_BLOCK" - "DIAMOND_BLOCK" - "REDSTONE" - "TNT" allowed-items: - "IRON_SWORD" - "IRON_PICKAXE" - "IRON_AXE" - "GOLDEN_APPLE" - "ENCHANTED_GOLDEN_APPLE" "管理员": priority: 999 display-name: "§c管理员" bypass-all: true # 物品限制配置 item-restriction: enabled: true check-mode: "both" # pickup, inventory, both inventory-check-interval: 30 skip-op-players: true force-check-ops: [] messages: item-removed: "§c你的等级不足以使用 §e{item}§c,已从背包中移除!" level-required: "§c使用此物品需要 §e{level} §c等级!" no-permission: "§c你没有权限使用此物品!" # 基岩版兼容配置 bedrock-compatibility: enabled: true auto-detect-geyser: true block-mappings: {} # 插件设置 settings: show-level-on-join: true level-prefix-format: "[{level}] " debug: false verbose-logging: false # 详细日志控制 language: "zh_CN" # 消息配置 messages: prefix: "§8[§6ItemManager§8] " no-permission: "§c你没有权限执行此命令!" player-not-found: "§c找不到玩家 {player}!" level-set: "§a已将玩家 §e{player} §a的等级设置为 §e{level}§a!" level-check: "§a玩家 §e{player} §a的等级是 §e{level}§a!" config-reloaded: "§a配置文件已重新加载!" web-started: "§a网页管理端已启动,地址: §ehttp://{host}:{port}" web-stopped: "§c网页管理端已停止!"

🎯 使用指南

等级管理

创建新等级

  1. 访问网页管理界面
  2. 进入"等级管理"页面
  3. 填写等级信息(名称、显示名、优先级)
  4. 选择继承等级和允许的物品
  5. 点击"创建等级"

设置玩家等级

# 游戏内命令 /itemmanager setlevel <玩家名> <等级名> # 网页界面 1. 进入"玩家管理"页面 2. 找到目标玩家 3. 选择等级后自动设置 4. 支持批量选择多个玩家

基岩版玩家管理

# 基岩版玩家名字示例: .RogueBee19079 /itemmanager setlevel .RogueBee19079 VIP用户 # 网页界面直接输入完整名字(包含点号) # 插件会自动处理UUID不一致问题

物品管理

添加允许的物品

  1. 进入"物品管理"页面
  2. 选择目标等级
  3. 点击"批量添加"按钮
  4. 搜索并选择物品
  5. 确认添加 - 权限立即生效,无需重启服务器

分类管理

  1. 进入"物品管理"页面
  2. 查看"分类管理"部分
  3. 添加新分类或编辑现有分类
  4. 为分类添加物品

调试工具

玩家信息诊断

  1. 进入"玩家管理"页面
  2. 使用"调试工具"
  3. 输入玩家名查看详细信息
  4. 查看UUID状态和基岩版检测结果

数据库维护

  1. 进入"玩家管理"页面
  2. 使用"清理数据库"功能
  3. 清理重复记录和过期数据

🎮 游戏内命令

玩家命令

/level # 查看自己的等级信息 /level <玩家名> # 查看其他玩家等级(需权限)

管理员命令

/itemmanager setlevel <玩家> <等级> # 设置玩家等级 /itemmanager checkplayer <玩家> # 检查指定玩家背包 /itemmanager checkall # 检查所有在线玩家 /itemmanager check # 检查自己的背包 /itemmanager reload # 重载配置 /itemmanager help # 显示帮助信息

🔐 权限节点

itemmanager.* # 所有权限 itemmanager.admin # 管理员权限 itemmanager.level.manage # 管理玩家等级 itemmanager.item.bypass # 绕过物品限制 itemmanager.web.access # 访问网页管理端

🌐 网页界面功能

仪表板页面

  • 服务器状态 - 在线玩家数、等级统计
  • 最近操作 - 最新的等级设置记录
  • 快速操作 - 常用功能快速入口
  • 统计信息 - 详细的数据统计

玩家管理页面

  • 在线玩家 - 实时显示,支持批量操作
  • 白名单玩家 - 完整的白名单管理
  • 离线玩家设置 - 手动输入玩家名设置等级
  • 最近记录 - 查看最近的等级变更
  • OP权限设置 - 配置OP权限规则
  • 调试工具 - 玩家信息诊断,UUID追踪
  • 缓存管理 - 刷新玩家等级缓存
  • 数据库清理 - 清理重复记录

等级管理页面

  • 等级列表 - 所有等级的详细信息
  • 创建等级 - 完整的等级创建表单
  • 编辑等级 - 模态框式的等级编辑
  • 颜色预览 - 实时的颜色代码预览
  • 继承设置 - 可视化的继承关系配置

物品管理页面

  • 权限展示 - 每个等级的物品权限
  • 批量添加 - 分类选择的批量添加界面
  • 分类管理 - 完整的分类编辑功能
  • 搜索过滤 - 强大的搜索功能
  • 即时生效 - 权限修改立即生效

材料查询页面

  • 完整材料库 - 所有Minecraft材料
  • 分类浏览 - 按分类查看材料
  • 搜索功能 - 快速查找材料
  • ID复制 - 一键复制材料ID
  • 中文名称 - 完整的中文材料名称

操作日志页面

  • 完整日志 - 所有操作的详细记录
  • 时间排序 - 按时间查看操作历史
  • 操作者追踪 - 记录操作者信息
  • 详细信息 - 操作详情和结果

🔧 最新功能和修复

v1.0.1 - 重要更新

🆕 新增功能

  • 详细日志控制 - 新增 verbose-logging 配置选项
    • 默认关闭详细日志输出
    • 可开关的操作日志记录
    • 保留重要警告和错误日志
  • 智能查询系统 - 解决UUID不一致问题
    • 自动处理基岩版玩家UUID变化
    • 智能的玩家名称查询回退
    • 完善的调试工具支持

🐛 重要修复

  • 等级权限管理修复 - 解决网页管理端权限不生效问题

    • 修复配置文件修改后缓存不更新的问题
    • 添加完整的配置重新加载流程
    • 权限修改后立即生效,无需重启服务器
  • 基岩版玩家支持 - 完善基岩版玩家兼容性

    • 自动识别基岩版玩家(名字以点号开头)
    • 处理UUID不一致导致的等级设置问题
    • 智能的查询回退机制

📈 性能优化

  • 优化数据库查询性能
  • 改进缓存管理机制
  • 减少不必要的日志输出
  • 提升网页管理端响应速度

配置升级指南

如果从旧版本升级,请在配置文件中添加:

settings: # 新增:详细日志控制 verbose-logging: false # 推荐保持关闭 # 其他现有配置... debug: false language: "zh_CN"

📊 材料数据统计

方块分类 (180+ 个)

  • 建筑方块 (30+): 石头、木板、砖块等建筑材料
  • 装饰方块 (25+): 羊毛、玻璃、地毯等装饰材料
  • 红石器件 (20+): 红石、活塞、中继器等红石设备
  • 功能方块 (15+): 箱子、熔炉、工作台等功能性方块
  • 自然方块 (40+): 泥土、石头、树叶等自然生成方块
  • 矿物方块 (20+): 各种矿石和矿物块
  • 下界方块 (15+): 下界岩、灵魂沙等下界材料
  • 末地方块 (10+): 末地石、紫珀块等末地材料
  • 光源方块 (15+): 火把、灯笼、荧石等光源

物品分类 (200+ 个)

  • 工具 (50+): 各种材质的工具和武器
  • 盔甲 (30+): 全套盔甲和特殊防具
  • 食物 (40+): 所有食物和饮品
  • 材料 (60+): 合成材料和原料
  • 药水 (15+): 各种药水和效果物品
  • 交通工具 (10+): 船、矿车等载具
  • 唱片 (16+): 所有音乐唱片
  • 其他 (30+): 杂项物品和特殊物品(包括时钟、指南针等)

🔧 开发相关

编译项目

# 使用Gradle编译 ./gradlew build # 生成包含所有依赖的JAR文件 ./gradlew fatJar # 输出文件 build/libs/fangkuai-1.0.0-fat.jar

开发环境

# 克隆项目 git clone <repository-url> cd fangkuai # 导入IDE # 推荐使用IntelliJ IDEA或Eclipse # 安装Python依赖(数据抓取工具) pip install -r requirements.txt

数据更新

# 更新材料数据 python minecraft_data_scraper.py # 或使用完整数据库 python minecraft_complete_data.py

🐛 故障排除

常见问题

Q: 基岩版玩家无法设置等级? A: 使用完整的玩家名(包括点号),如 .RogueBee19079。插件现在会自动处理UUID不一致问题。

Q: 网页管理端添加的物品权限不生效? A: 已在最新版本修复。更新到最新版本后,权限修改会立即生效,无需重启服务器。

Q: 网页界面无法访问? A: 检查配置文件中的端口设置(默认8099),确保防火墙允许访问。

Q: 玩家等级设置后没有生效? A: 使用网页管理端的调试工具检查玩家信息,查看UUID状态和基岩版检测结果。

Q: 控制台日志太多影响性能? A: 将配置文件中的 verbose-logging 设置为 false 以减少详细日志输出。

调试工具使用

# 启用调试模式 # 在config.yml中设置 debug: true # 使用网页管理端调试工具 1. 进入"玩家管理"页面 2. 使用"调试工具"查看玩家详细信息 3. 检查UUID状态和基岩版检测结果 4. 使用"刷新缓存"功能重新加载玩家数据

性能优化建议

# 对于大型服务器的优化配置 settings: verbose-logging: false # 关闭详细日志 debug: false # 关闭调试模式 item-restriction: inventory-check-interval: 60 # 增加检查间隔 skip-op-players: true # 跳过OP玩家检查 database: type: mysql # 大型服务器建议使用MySQL

🤝 贡献指南

我们欢迎所有形式的贡献!

报告问题

  1. 检查现有Issues避免重复
  2. 提供详细的错误信息和日志
  3. 描述重现步骤
  4. 注明服务器版本和插件版本

提交代码

  1. Fork项目到你的账户
  2. 创建功能分支
  3. 提交清晰的代码和注释
  4. 确保测试通过
  5. 提交Pull Request

翻译贡献

我们需要更多语言的翻译支持,欢迎提交翻译文件。

📄 更新日志

v1.0.1 (2025-07-18)

  • 🆕 新增详细日志控制功能
  • 🐛 修复等级权限管理问题
  • 🔧 完善基岩版玩家支持
  • 📈 优化性能和缓存管理
  • 🛠️ 增强调试工具

v1.0.0 (2025-07-15)

  • ✨ 完整的插件功能发布
  • 🌐 网页管理界面
  • 📱 基岩版玩家支持
  • 🎨 颜色代码完整支持
  • 📊 批量操作功能
  • 🔧 调试工具集成
  • 🗄️ 数据库管理系统
  • 📋 详细操作日志

📜 许可证

本项目基于 MIT License 开源协议发布。

🙏 致谢

  • Minecraft Wiki - 提供完整的游戏数据
  • Spigot/Bukkit - 优秀的服务端API
  • 开源社区 - 各种优秀的开源库和工具
  • 测试用户 - 帮助发现和修复问题

让Minecraft服务器管理变得简单而强大! 🎮✨

💡 提示: 升级到最新版本可获得更好的性能和稳定性,特别是基岩版玩家支持和权限管理功能。