AdventurePrize
高级 GUI 抽奖箱插件 — 25种精美动画模板
📦 Paper / Purpur 1.21.4+
🎬 25 种动画模板
🔑 实体/虚拟钥匙
🛡️ 保底机制
📬 AdventureMail 可选
核心功能
25种动画
滚动/旋转/扫描/翻转/轨迹等多种风格
双钥匙系统
实体钥匙+虚拟钥匙,GUI内一键切换
保底机制
按玩家+箱子独立计数,连续N次未抽中必得
庆祝系统
每动画独立庆祝: 烟花/Title/粒子/音效
Web 编辑器
可视化拖拽式 GUI 布局与动画阶段编辑
邮件集成
背包满时自动通过 AdventureMail 发送
下一篇安装 →
安装
环境要求
| 项目 | 要求 |
|---|---|
| 服务端 | Paper / Purpur 1.21.4+ |
| Java | Java 21+ |
| 可选依赖 | AdventureMail(邮件发奖) |
安装步骤
- 将
AdventurePrize-4.3.0.jar放入plugins/ - 重启服务器,首次启动自动生成默认配置
- 编辑
plugins/AdventurePrize/下的配置文件 - 执行
/ap reload热重载
上一篇← 概览
下一篇目录结构 →
配置目录结构
plugins/AdventurePrize/
├── config.yml # 主配置文件
├── messages.yml # 消息文本(完全可自定义)
├── crates/ # 抽奖箱配置
│ └── example.yml # 示例抽奖箱
├── animations/ # 23 个动画模板 YAML
│ ├── classic_scroll.yml
│ ├── csgo_rush.yml
│ ├── ring_scanner.yml
│ ├── single_scanner.yml
│ └── ...
└── data/
└── adventureprize.db # SQLite 数据库
上一篇← 安装
下一篇命令 →
命令
| 命令 | 权限 | 说明 |
|---|---|---|
/ap help | adventureprize.use | 显示帮助信息 |
/ap list | adventureprize.use | 列出所有抽奖箱 |
/ap open <箱子> | adventureprize.use | 打开指定抽奖箱 |
/ap preview <箱子> | adventureprize.use | 预览奖池 |
/ap give <玩家> <箱子> <钥匙类型> <数量> | adventureprize.admin | 给予钥匙 |
/ap take <玩家> <箱子> <钥匙类型> <数量> | adventureprize.admin | 扣除钥匙 |
/ap set <箱子> | adventureprize.admin | 将目标方块设为抽奖箱 |
/ap remove | adventureprize.admin | 移除目标抽奖箱 |
/ap editor | adventureprize.admin | 打开游戏内编辑器 |
/ap reload | adventureprize.admin | 重载所有配置 |
/ap clear <玩家> <箱子> | adventureprize.admin | 清除玩家抽奖记录 |
/ap version | 无 | 查看插件版本 |
上一篇← 目录结构
下一篇权限节点 →
权限节点
| 权限 | 说明 | 默认 |
|---|---|---|
adventureprize.use | 基础使用(预览、抽奖) | 所有玩家 |
adventureprize.admin | 管理员权限 | OP |
adventureprize.admin.crate | 抽奖箱管理 | OP |
adventureprize.admin.key | 钥匙管理 | OP |
adventureprize.admin.editor | 编辑器权限 | OP |
adventureprize.bypass.cooldown | 绕过冷却 | OP |
adventureprize.bypass.key | 无需钥匙抽奖 | OP |
上一篇← 命令
下一篇动画模板 →
动画模板(25 种)
所有动画模板均为 YAML 配置驱动,可通过 Web 编辑器可视化修改或新建。
滚动/旋转类
| 模板 ID | 名称 | 描述 |
|---|---|---|
classic_scroll | 经典滚动 | 水平滚动,CSGO 风格开箱体验 |
csgo_rush | 急速滚动 | 高速滚动逐渐减速 |
ring_spin | 环形旋转 | 奖品环形排列旋转选中 |
roulette_wheel | 轮盘旋转 | 经典轮盘赌风格 |
slot_machine | 老虎机 | 3 列独立滚动 |
扫描类 v4.0
| 模板 ID | 名称 | 描述 |
|---|---|---|
ring_scanner | 环形扫描 | 红色玻璃板沿环形路径扫描,减速停在中奖位 |
single_scanner | 单行扫描 | 红色玻璃板沿单行扫描 |
特效/翻转类
| 模板 ID | 名称 | 描述 |
|---|---|---|
card_flip | 卡牌翻转 | 发牌后翻转揭晓 |
shell_game | 贝壳洗牌 | 贝壳游戏风格洗牌 |
lucky_grid | 九宫格 | 3x3 格子轮流高亮 |
treasure_map | 宝藏寻猎 | 宝箱开启揭晓 |
chaos_storm | 混沌风暴 | 随机闪烁后聚焦 |
pb_gacha | 扭蛋机 | 盲盒扭蛋风格 |
pubg_crate | 空投箱 | PUBG 空投开箱 |
新增动画 v4.3
| 模板 ID | 名称 | 描述 |
|---|---|---|
scratch_card | 刮刮乐 | 灰色涂层逐个随机刮开,最后一个揭示中奖奖品 |
domino_chain | 多米诺连锁 | S形双行路径,奖品像骨牌一样链式翻转 |
轨迹/路径类
| 模板 ID | 名称 | 描述 |
|---|---|---|
diamond_spiral | 钻石漩涡 | 菱形轨迹聚焦 |
galaxy_spiral | 银河螺旋 | 螺旋向内旋转 |
snake_chase | 蛇形追逐 | 蛇形路径扫描 |
zigzag_path | 之字路径 | 之字形轨迹滚动 |
ping_pong_bounce | 乒乓弹跳 | 来回弹跳选中 |
tornado_vortex | 龙卷风 | 旋风式旋转聚焦 |
wave_tide | 波浪潮汐 | 波浪式扫描 |
waterfall_drop | 瀑布级联 | 奖品瀑布式下落 |
meteor_shower | 流星雨 | 流星划过选中 |
上一篇← 权限节点
下一篇扫描动画 →
扫描动画 (OVERLAY_SCAN) v4.0
扫描动画是 v4.0 新增的独立轨迹类型,与传统滚动动画有本质区别:
工作原理
- 奖品固定显示在 GUI 路径槽位上(不滚动)
- 一块红色玻璃板(可配置材质)沿路径移动,覆盖在奖品上方
- 玻璃板减速后停在预计算的中奖位置
- 停留 2 秒后揭示中奖奖品
- 中奖位置变为屏障方块(
won-material),后续扫描自动跳过
YAML 配置项
| 键 | 默认值 | 说明 |
|---|---|---|
trajectory | — | 设为 OVERLAY_SCAN |
overlay-material | RED_STAINED_GLASS_PANE | 扫描覆盖材质 |
scan-laps | 3 | 扫描圈数 |
scan-repeatable | true | 是否允许重复扫中同一位置 |
won-material | BARRIER | 已中奖槽位替换材质 |
won-display-name | &c&l已获得 | 已中奖槽位显示名 |
reveal-sound | — | 揭示奖品时的音效 v4.1 |
speed-curve | DECELERATE | 速度曲线 |
上一篇← 动画模板
下一篇钥匙系统 →
钥匙系统
实体钥匙
可交易的物理钥匙物品,由管理员通过 /ap give 发放。玩家可手持钥匙右击抽奖箱使用。
虚拟钥匙
存储在 SQLite 数据库中,GUI 内一键切换实体/虚拟钥匙,实时显示持有数量。
上一篇← 扫描动画
下一篇奖品配置 →
奖品配置
配置示例
prizes:
diamond_sword:
display-name: "&b钻石剑"
material: DIAMOND_SWORD
lore:
- "&7一把锋利的钻石剑"
- "&e概率: 5%"
chance: 5.0 # 概率 0.001 ~ 100
cannot-miss: false # 是否为保底物品
cannot-miss-count: 50 # 保底次数
give-item: true # 是否给予物品本身
amount: 1 # 给予数量
commands: # 执行指令
- "cmd:/broadcast %player% 抽中了钻石剑!"
sound: ENTITY_PLAYER_LEVELUP
broadcast: true
broadcast-type:
- TITLE
- BOSSBAR
- CHAT
奖励类型前缀
| 前缀 | 说明 | 示例 |
|---|---|---|
cmd: | Console 执行 | cmd:/give %player% diamond 64 |
op: | OP 身份执行 | op:/gamemode creative %player% |
player: | 玩家身份执行 | player:/spawn |
上一篇← 钥匙系统
下一篇庆祝系统 →
庆祝系统 v4.1 重构
v4.1 取消了通用庆祝逻辑,改为每个动画独立的 CELEBRATE 阶段。每个动画 YAML 末尾均有一个 - type: CELEBRATE 阶段。
可配置项
- 音效 — 可配置庆祝音效
- Title — 自定义标题与副标题,支持
{count}变量 - 消息 — 发送聊天栏消息
- 烟花 — 可配置数量的随机颜色烟花
- 粒子 — 可配置粒子类型和数量
配置示例
celebration:
enabled: true
duration-ticks: 60
sound:
custom-sound: ENTITY_PLAYER_LEVELUP
volume: 1.0
pitch: 1.0
title:
enabled: true
text: "&6&l恭喜中奖!"
subtitle: "&e获得 {count} 件奖品"
fade-in: 10
stay: 40
fade-out: 10
messages:
- "&a恭喜! 您获得了 {count} 件奖品"
firework:
enabled: true
count: 3
particle:
enabled: true
type: VILLAGER_HAPPY
count: 50
上一篇← 奖品配置
下一篇保底机制 →
保底机制
在奖品配置中设置 cannot-miss: true 和 cannot-miss-count: N,当玩家连续 N 次未抽中该奖品时,第 N+1 次必定获得。
工作方式
- 保底计数按玩家+抽奖箱独立记录
- 数据存储于 SQLite 数据库
- 管理员可通过
/ap clear重置玩家记录 - 可在游戏内编辑器中设置
cannot-miss和cannot-miss-count
上一篇← 庆祝系统
下一篇消息配置 →
消息配置 (messages.yml) v4.3
v4.3 将所有插件消息迁移至独立的 messages.yml 文件,支持热加载。
主要特性
- 完全可自定义 — 所有聊天消息、GUI 标题、提示文本均可修改
- 热加载 —
/ap reload即时生效,无需重启 - 向后兼容 — 如果 messages.yml 不存在,自动回退到 config.yml
- 占位符 — 支持
{player}、{crate}、{prize}、{count}、{need}
可配置的 GUI 标题
| 键 | 默认值 | 说明 |
|---|---|---|
gui-draw-select-title | &d选择抽奖次数 - {crate} | 抽奖选择 GUI 标题 |
gui-preview-title | &d奖池预览 - {crate} | 奖池预览 GUI 标题 |
gui-editor-title | &5箱子编辑 - {crate} | 编辑器 GUI 标题 |
gui-prize-list-title | &5奖池编辑 - {crate} | 奖品列表 GUI 标题 |
gui-prize-detail-title | &5奖品设置 - {prize} | 奖品详情 GUI 标题 |
上一篇← 保底机制
下一篇Web 编辑器 →
Web 可视化编辑器
编辑器功能
可视化布局
拖拽式 GUI 布局设计
动画阶段编辑
工作流式阶段序列配置
材质选择器
1000+ Minecraft 物品图片预览
实时预览
动画效果即时预览
配置管理
保存/加载/导入/导出 YAML
中文界面
完整中文本地化
上一篇← 消息配置
下一篇邮件集成 →
邮件集成
当玩家背包空间不足时,奖品自动通过 AdventureMail 发送到邮箱,30 天内可领取。在 config.yml 中启用邮件集成即可。
ℹ️ 依赖说明
需要安装 AdventureMail 插件作为软依赖。未安装时奖品将尝试丢到地面。
上一篇← Web 编辑器
下一篇全配置化 →
YAML 全配置化 v4.1 增强
v4.1 进一步消除了硬编码值,所有动画内容均可在 YAML 中配置:
| 配置项 | 位置 | 说明 |
|---|---|---|
won-material | TRAJECTORY 阶段 | 扫描动画已中奖槽位材质 |
won-display-name | TRAJECTORY 阶段 | 已中奖槽位显示名称 |
overlay-material | TRAJECTORY 阶段 | 扫描覆盖玻璃材质 |
reveal-sound | TRAJECTORY 阶段 | 扫描揭示音效 v4.1 |
result-gui-title | 动画模板顶层 | 结果 GUI 标题 |
gui-title | 动画模板顶层 | 动画 GUI 标题(支持 {crate_name}) |
material / display-name / lore | HIDE 阶段 | 盲盒隐藏材质/名称/Lore v4.1 |
上一篇← 邮件集成
下一篇更新日志 →
更新日志
v4.4.0
- CONFIG softdepend 更新 — plugin.yml 新增 AdventureManage 为可选依赖,提升跨插件兼容性
v4.3.0
- FIX 修复 OVERLAY_SCAN 动画在扫描前泄露最终奖品位置的严重BUG
- FIX 修复 DISPLAY 阶段奖品图标顺序固定导致可预测的问题
- FIX 修复多抽时重复奖品未显示为屏障方块的BUG
- NEW 新增「刮刮乐 Scratch Card」动画
- NEW 新增「多米诺连锁 Domino Chain」动画
- NEW 所有消息迁移至独立
messages.yml - NEW GUI 标题全部可配置
- IMPROVED 示例箱子增加至 10 个默认奖品
v4.2.0
- FIX 修复单抽后奖池 GUI 只显示 1 个奖品的严重BUG
- FIX 修复庆祝消息
{player}占位符未替换 - FIX 修复 ESC/E 跳过动画后音效仍继续播放
- NEW 抽奖选择 GUI 改为 YAML 可配置的
draw-options - IMPROVED DrawCount 重构为 class,支持任意抽奖次数
v4.1.0
- FIX 修复 ESC/E 跳过动画失效
- NEW 庆祝系统重构 — 每动画独立 CELEBRATE phase
- NEW 扫描动画
reveal-sound可配置 - IMPROVED 盲盒隐藏物品全从 phase config 读取
v4.0.0
- NEW 新增 OVERLAY_SCAN 扫描动画
- NEW 新增
ring_scanner/single_scanner模板 - NEW 多连抽自动加速
- IMPROVED 速度曲线全面支持多连抽加速
上一篇← 全配置化