跳到主要内容

拍卖行

Malkuth 内置拍卖行模式,玩家可以上架物品供其他玩家竞拍,出价最高者在拍卖结束后获得物品。

基本配置

在商店配置文件中将 mode 设为 auction 即可启用拍卖行模式:

mode: 'auction'

竞拍机制

  1. 卖家上架物品并设定起拍价
  2. 买家点击拍品进行出价,每次出价在当前价格基础上加价一定百分比
  3. 默认每次加价幅度为 10%(当前源码固定为 currentPrice * 0.1,最低加价 1)
  4. 玩家不能竞拍自己上架的物品
  5. 当有人出更高价时,前一位出价者会收到被超价的通知
  6. 拍卖结束后,最高出价者获得物品

拍卖行商店界面

拍卖行商店配置了专属功能图标,方便玩家快速访问拍卖相关功能:

图标字符材质名称说明
Scompass(指南针)搜索拍品按关键词搜索拍卖物品
Mgold ingot(金锭)我的出价查看自己参与竞拍的物品
Hender chest(末影箱)我的拍品查看自己上架的拍卖物品

拍卖行商店完整配置

以下为 shop/auction.yml 完整内容:

# ============================================
# 拍卖行商店 - 示例配置
# 展示拍卖模式的基本配置
# ============================================

mode: 'auction'

currency:
mode: vault

title: '&6&l拍卖行 &7{page}/{max-page}'

layout:
- '#########'
- ' ggggggg '
- ' ggggggg '
- ' ggggggg '
- ' ggggggg '
- 'P#S#M#H#N'

icons:
'#':
material: "orange stained glass pane"
name: " "

'S':
material: "compass"
name: '&e搜索拍品'
lore:
- '&7按关键词搜索拍卖物品'
actions:
left:
- 'malkuth search'

'M':
material: "gold ingot"
name: '&6我的出价'
lore:
- '&7查看你参与竞拍的物品'
actions:
left:
- 'malkuth auction my_bids'

'H':
material: "ender chest"
name: '&d我的拍品'
lore:
- '&7查看你上架的拍卖物品'
actions:
left:
- 'malkuth auction my_items'

'N':
material: "arrow"
name: '&a下一页 →'
actions:
left:
- 'page next'

'P':
material: "arrow"
name: '&a← 上一页'
actions:
left:
- 'page pre'

拍卖物品展示模板

拍卖物品在界面中的展示样式由 ui/auction_item.yml 控制:

# 拍卖行物品展示模板
template:
lore:
- '{lore}'
- ''
- '&e起拍价: &f{start_price}'
- '&e当前价: &a{current_price}'
- '&e最高出价者: &f{bidder}'
- '&e剩余时间: &f{remaining}'
- ''
- '&a点击竞拍 (加价{bid_percent}%)'

messages:
bid_percent: '10'

模板变量:

变量说明
{lore}物品原始描述
{start_price}起拍价
{current_price}当前最高出价
{bidder}当前最高出价者
{remaining}拍卖剩余时间
{bid_percent}UI 显示用的加价百分比文本(不影响实际计算)

相关消息

以下为拍卖行相关的语言文件配置(lang/zh_CN.yml):

消息键内容
auction-cannot-bid-own你不能竞拍自己的物品
auction-ended该拍卖已结束
auction-insufficient-balance你的余额不足, 需要 {0}
auction-not-found该拍卖已结束或不存在
auction-bid-success竞拍成功! 出价: {0}
auction-outbid-notify[拍卖] 你在拍卖 {0} 中的出价已被超越, 新价格: {1}

你可以在 lang/zh_CN.yml 中自定义这些消息的文本内容。