PlayerCrate

基于 Kotlin 的 Minecraft 玩家抽奖箱插件

v1.0.0

🎁 完整抽奖系统

支持玩家创建个人抽奖箱,通过权重算法实现公平抽奖。具备钥匙系统,通过特定物品触发抽奖。支持方块绑定,玩家可右键方块开启抽奖。

🎯 保底机制

内置保底系统,玩家连续抽奖指定次数后必定获得保底奖品。每个抽奖箱可独立配置保底次数,确保玩家体验的公平性。

📦 库存管理

精确的奖品库存控制,支持按组(stack)管理奖品数量。奖品售罄后自动从抽奖池中移除,确保抽奖的真实性。

🎨 GUI 界面

基于 TabooLib UI 的现代化图形界面,支持抽奖箱管理、奖品配置、库存编辑、批量添加等功能。直观易用的交互设计。

⚡ 高性能架构

使用 Kotlin 开发,基于 TabooLib 框架,支持异步数据操作。JSON 存储方式,轻量级且高效。完善的错误处理和数据验证。

🌍 完整中文支持

内置完整的中文语言包,包含 300+ 条消息配置。支持 TabooLib I18n 框架,可轻松扩展其他语言。

命令系统

玩家命令 (/bx)

/bx show
打开我的抽奖箱管理界面
/bx bind <抽奖箱名称>
将抽奖箱绑定到当前看向的方块
/bx check <抽奖箱名称>
查看指定抽奖箱的奖励预览

管理员命令 (/bxa)

/bxa list [玩家名称]
列出所有抽奖箱或指定玩家的抽奖箱
/bxa detail <抽奖箱名称>
查看抽奖箱的详细信息
/bxa delete <抽奖箱名称>
删除指定的抽奖箱
/bxa refund <抽奖箱名称>
将抽奖箱物品退还给所有者
/bxa reload
重载插件配置

权限节点

bx.use
基础使用权限,允许使用 /bx 命令
bx.create
创建抽奖箱权限,允许创建和管理抽奖箱
bx.admin
管理员权限,允许使用 /bxa 命令
bx.admin.list
查看抽奖箱列表权限
bx.admin.detail
查看抽奖箱详情权限
bx.admin.delete
删除抽奖箱权限
bx.admin.reload
重载配置权限

技术栈

Kotlin 1.8.22 TabooLib 6.2.3 Paper 1.20.4 Vault API 1.7 Gson 2.10.1 Gradle 8.0

安装使用

  1. 确保服务器运行 Paper 1.20.4 或更高版本
  2. 下载最新版本的 PlayerCrate-1.0.0.jar 文件
  3. 将 JAR 文件放置到服务器的 plugins 目录
  4. 安装前置插件 Vault(用于经济系统支持)
  5. 重启服务器加载插件
  6. 插件会自动生成配置文件:
    plugins/PlayerCrate/ ├── config.yml # 主配置文件 ├── datasource.yml # 数据源配置 ├── kether.yml # Kether 脚本配置 └── data/ ├── lootboxes.json # 抽奖箱数据 └── playerdata.json # 玩家数据
  7. 使用 /bx show 命令开始创建抽奖箱