- ◆ 游戏版本
- 1.12.2
- ◆ 服务端核心
- CatServer
- ◆ 前置/依赖
- PlaceholderAPI Vault PlayerPoints
一、插件简介
BottleAuction 是一款为 RPG 或者 宝可梦 打造的双玩法拍卖行插件。核心亮点在于:英式拍卖与一口价可以同时挂在同一件商品上,买家既能在后面自由加价,也能一键买断直接带走。插件自带待领取队列、智能递补、防尾秒延时、顶部 BossBar 实时倒计时、聊天栏可点击按钮,支持金币 / 点券两种经济(金币用 Vault,点券用 PlayerPoints)、多权限组差别待遇,以及 SQLite / MySQL 两种存储。
二、核心玩法
英式拍卖
- 卖家设置起拍价 + 加价幅度,玩家自由加价
- 可额外填一口价,两种玩法在同一件商品上并存
- 防尾秒狙击:结束前 30 秒内有人加价,结束时间自动延后 30 秒,最多延 10 次
- 出价低于当前最低价、余额不足、给自己出价,全部拦截并给出具体原因
智能递补
拍卖结束时若最高出价者余额不够(或刚好离线花光钱):- 给他发提示,同时通知卖家
- 自动顺延给次高出价者,继续尝试收款(默认最多试 5 人)
- 递补成功额外广播,原中标者只丢资格、不受处罚
- 所有人都付不起才真正流拍,商品退回卖家
待领取队列
流拍退物、成交收入、买家拍下的东西统一进队列:- /ah claim 或界面"一键领取"主动领取
- 背包满时提示"背包已满,请清理后重试",物品留在队列,绝不掉地上
- 收入可配置自动到账,也可强制进队列
- 卖家离线也能正常收款(Vault / PlayerPoints 都支持离线打款)
顶部 BossBar 实时提示
- 内容:商品名 · 当前最高出价人与金额 · 剩余倒计时,前面有转动小符号
- 还没人出价时显示 "起拍 30000 金币",而不是"最高 30000 by 暂无"
- 倒计时精确到秒,可切换
秒/时钟/简略格式 - 进度条随时间收缩,剩余不足 40% 变黄、不足 15% 变红
- 被加价延时的时候会闪一下并变紫,写着"已延长 N 秒"
- 一个玩家同时只显示一条,按优先级取:正在看的 → 我出价最高且最快结束的 → 我挂出去最快结束的
聊天栏可点击按钮
上架成功、被人超越、成交、流拍时,聊天栏跟着一排可点击按钮:[查看商品] [继续上架] [我的拍卖] [回到市场] [去领取]最有用的
[加价到 31000 金币]:- 商品一上架,全服在线玩家都收到带 [加价到 xxx] [查看商品] 的提示
- 有人出价时同样全服广播,点 [加价到 xxx] 直接跟价
- 被人超越时,提示里同样跟着 [加价到 xxx],点一下立刻按最低价出价
- 一口价商品带 [直接买断 xxx],点了打开购买确认界面
正在开着界面的人不用手动刷新:别人上架或改价,你开着的列表 / 详情页会自动跟着变(默认 2 秒),翻到第几页还留在第几页。
排序与筛选
- 排序:价格从低到高 / 从高到低 / 剩余时间最少 / 最新上架 / 出价次数最多
- 默认"价格从低到高"会把同款商品自动聚在一起,每组第一个就是最便宜的
- 筛选:类型 / 品质 / 价格区间 / 货币 / 玩法 + 关键字搜索(同时匹配名称与描述)
- 顶部实时显示近期成交均价(默认最近 24 小时)
三、数据存储
共 4 张表:auction(商品主表)、bid(出价记录)、pending(待领取队列)、daily(每日上架次数)。MySQL 模式下自动加前缀。物品不走 Bukkit 通用序列化,直接调服务端底层接口读写完整 NBT,再压缩存 Base64:
- 宝可梦道具、模型包道具、活动道具取出一模一样,不会变白板
- 拿不到底层接口时自动退回兼容模式并提示,服务不崩
- 两种模式数据用前缀区分,换服务端也读得出来
四、常见问题
Q:控制台提示"没有检测到任何可用的经济插件"?装 Vault(再加经济插件)、PlayerPoints 任意一个,重启即可。
Q:点"起拍价 / 一口价"提示"玩法没有打开"?
这是被管理员真关掉了(拍卖.开启英式拍卖 或 拍卖.开启一口价 为 false)。
Q:玩家拍下了东西但背包里没有?
在待领取里。把 待领取.买家收物进入待领取 改成 false,背包放得下时就直接进背包。
Q:为什么我改了 config 里的注释就不见了?
不会。插件只在文件不存在时写默认配置,之后从不改写。
Q:/ah sell 把我主手的物品拿走了?
是直接带进上架界面了。关掉(不点确认)原封不动还给你,背包满也不会掉地上,会进待领取。
Q:控制台提示"当前使用兼容模式保存物品"?
说明服务端核心没提供底层接口,建议换 CatServer 或 Paper 1.12.2 核心。
Q:性能怎么样?
- 在售商品常驻内存,主界面和筛选纯内存操作,秒开
- 数据库操作全走单线程后台队列,绝不在主线程执行 SQL
- 界面刷新按需,内容没变直接跳过
- BossBar 只在市场变化时建一次索引,成本接近 0
- 定期落盘只写"变过"的商品,用指纹比对
- 想更省就调大 界面.自动刷新秒数、存储.保存间隔秒数、拍卖.结算间隔秒数