拍卖行
auction 模式让玩家把物品上架为拍卖品,其他玩家通过出价竞拍。商店配置负责拍卖行主界面与货币;拍品数据来自数据库,不读取 shop/*.yml 里的 goods。
适用场景
- 高价值装备、稀有材料、活动道具的竞价交易。
- 玩家之间自由定价,但通过拍卖时长和出价竞争形成市场价格。
- 离线结算场景:到期后由插件结算拍品和资金,相关物品可进入邮箱。
关键配置
| 字段 | 说明 |
|---|---|
mode | auction 或 AUCTION |
currency | 必填;负责出价、结算和退款相关货币处理 |
goods | 不读取;拍品来自玩家上架数据 |
title | 拍卖行主界面标题,可使用分页变量 |
layout | 主界面布局,g 用于展示有效拍卖品 |
icons | 建议放“我的出价”“我的拍品/上架”等入口 |
ui/auction_my_bids.yml | 我的出价界面模板 |
ui/auction_upload.yml | 我的拍品与上架界面模板 |
玩家能做什么
| 功能 | 入口 | 说明 |
|---|---|---|
| 浏览拍卖品 | 打开 auction 商店 | 查看当前有效拍卖品 |
| 继续出价 | 点击拍卖品或“我的出价”列表 | 按 UI 的出价流程竞拍 |
| 查看我的出价 | 图标动作 malkuth auction my_bids | 查看自己参与过的拍卖 |
| 查看我的拍品 | 图标动作 malkuth auction my_items | 打开自己的拍品与上架管理界面 |
| 上架拍卖 | ui/auction_upload.yml 中的 malkuth auction upload | 手持物品后输入起拍价和拍卖时长 |
| 取消拍卖 | 我的拍品界面左键自己的拍品 | 当前拍品无人出价时可取消并返还物品 |
配置示例
下面节选自默认 shop/auction.yml 与 ui/auction_upload.yml:
mode: AUCTION
currency:
mode: vault
title: '&6&l拍卖行 &7{page}/{max-page}'
display: '&6拍卖行'
layout:
- '#########'
- ' ggggggg '
- ' ggggggg '
- ' ggggggg '
- ' ggggggg '
- 'P#S#M#H#N'
icons:
'M':
material: "gold ingot"
name: '&6我的出价'
actions:
left:
- 'malkuth auction my_bids'
'H':
material: "ender chest"
name: '&d我的拍品'
actions:
left:
- 'malkuth auction my_items'
# ui/auction_upload.yml
icons:
'U':
material: "emerald"
name: '&a上架拍卖'
lore:
- '&7将手持物品上架到拍卖行'
- '&7需要设置起拍价和时长'
actions:
left:
- 'malkuth auction upload'
当前实现注意点
auction模式不读取goods,固定商品请放到 普通商店。- 默认
shop/auction.yml里的“搜索拍品”按钮使用malkuth search,当前这是普通/限时商店的通用搜索入口,不是拍卖列表专用筛选。 - 拍卖上传界面内部会读取白名单、黑名单和创建上限字段,但当前商店序列化只给
player/global_market填这些上传限制;不要把它当作拍卖专属配置依赖。 - 自定义 PAPI 货币用于拍卖时,也要确保扣款、退款、结算动作能覆盖实际交易流程。