跳到主要内容

玩家功能

Malkuth 为玩家提供了一整套便捷的购物体验功能,包括购物车、收藏夹、邮箱、赠送、交易记录、比价搜索和挂单系统。

购物车

命令: /malshop cart

你可以通过购买确认界面中的「加入购物车」按钮将商品添加到购物车,之后继续浏览其他商品,最后统一结算。

界面功能:

  • 标题显示购物车内商品总数和总价:购物车 ({count}件, 合计 {total})
  • 支持一键结算所有商品
  • 支持一键清空购物车
  • 右键点击商品可将其从购物车中移除

UI 配置结构(ui/cart.yml):

title: '&8购物车 &7({count}件, 合计 &e{total}&7)'

layout:
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- '#########'
- 'X#######K'

icons:
K:
material: "lime wool"
name: '&a结算'
actions:
left:
- 'malkuth cart checkout'
X:
material: "red wool"
name: '&c清空'
actions:
left:
- 'malkuth cart clear'

template:
name: '{name} &7x{amount}'
lore:
- '{lore}'
- ''
- '&e单价: &f{price}'
- '&e数量: &f{amount}'
- '&e小计: &f{subtotal}'
- '&7来自: &f{shop}'
- ''
- '&c右键移除'

模板变量: {name}, {amount}, {price}, {subtotal}, {shop}, {lore}


收藏夹

命令: /malshop favorite

玩家可以将感兴趣的商品加入收藏夹,方便日后快速找到并前往对应商店购买。

界面功能:

  • 标题显示收藏商品数量和分页:收藏夹 ({count}件) {page}/{max-page}
  • 左键点击商品可直接跳转到该商品所在的商店
  • 右键点击可取消收藏

UI 配置结构(ui/favorite.yml):

title: '&8收藏夹 &7({count}件) {page}/{max-page}'

layout:
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'P#######N'

template:
lore:
- '{lore}'
- ''
- '&7来源商店: &f{shop}'
- ''
- '&e左键前往商店'
- '&c右键取消收藏'

模板变量: {lore}, {shop}


邮箱

命令: /malshop mailbox

当玩家不在线时收到的物品(例如赠送、拍卖结算等)会自动存入邮箱,玩家上线后会收到通知提醒。

界面功能:

  • 标题显示分页信息:邮箱 {page}/{max-page}
  • 左键点击邮件物品可领取
  • 支持一键领取所有邮件
  • 玩家登录时自动提醒未领取邮件数量

登录提醒消息:

[邮箱] 你有 {0} 封未领取邮件!使用 /malshop mailbox 查看

UI 配置结构(ui/mailbox.yml):

title: '&8邮箱 {page}/{max-page}'

layout:
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'P##A####N'

icons:
A:
material: chest
name: '&a一键领取'
lore:
- '&7点击领取所有邮件物品'
actions:
left:
- 'malkuth mailbox claim_all'

template:
lore:
- '{lore}'
- ''
- '&7发送者: &f{sender}'
- '&7原因: &f{reason}'
- '&7时间: &f{time}'
- ''
- '&e左键领取'

模板变量: {lore}, {sender}, {reason}, {message}, {time}


赠送

玩家可以在购买确认界面中点击「赠送给好友」按钮,将商品作为礼物赠送给其他玩家。

使用流程:

  1. 在商店中点击商品进入确认购买界面
  2. 点击「赠送给好友」按钮(writable_book 图标)
  3. 在聊天栏中输入收礼玩家名称
  4. 系统完成赠送,商品直接交付给收礼玩家;若对方不在线则存入邮箱

注意事项:

  • 属性类商品和纯脚本商品不支持赠送
  • 赠送按钮在确认购买界面中通过 malkuth confirm gift 动作触发

相关消息:

请在聊天栏输入收礼玩家名:
已将商品赠送给 {0}
该商品不支持赠送 (属性类/纯脚本商品)

交易记录

交易记录界面由插件内置 transaction.yml 模板驱动,可用于展示个人或管理员视图(通过自定义入口/二开调用打开)。

界面功能:

  • 标题显示分页:我的交易记录 {page}/{max-page}
  • 管理员视图使用独立标题:交易记录 (管理员) {page}/{max-page}
  • 时间格式:yyyy-MM-dd HH:mm

UI 配置结构(ui/transaction.yml):

title: '&0我的交易记录 {page}/{max-page}'

layout:
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- '#########'

template:
name: '{type_label} &f{goods_id}'
lore:
- '&7商店: &f{shop}'
- '&7数量: &f{amount}'
- '&7价格: &e{price}'
- '&7卖家: &f{seller}'
- '&7时间: &f{time}'

messages:
admin_title: '&0交易记录 (管理员) {page}/{max-page}'
date_format: 'yyyy-MM-dd HH:mm'

模板变量: {type_label}, {goods_id}, {shop}, {amount}, {price}, {seller}, {time}


比价搜索

命令: /malshop compare [关键词]

你可以通过比价功能跨所有商店搜索相似商品,快速对比价格找到最划算的购买渠道。

界面功能:

  • 标题显示搜索结果数量和分页:比价 ({count}件) {page}/{max-page}
  • 展示每个匹配商品的价格、货币类型、来源商店和限购信息
  • 点击商品可直接前往对应商店
  • 支持在界面内重新搜索

UI 配置结构(ui/price_compare.yml):

title: '&8比价 &7({count}件) {page}/{max-page}'

layout:
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'P##S####N'

icons:
S:
material: compass
name: '&e搜索比价'
lore:
- '&7点击输入关键词搜索'
actions:
left:
- 'malkuth compare search'

template:
lore:
- '{lore}'
- ''
- '&7商店: &f{shop}'
- '&e单价: &a{price}'
- '&7货币: &f{currency}'
- '&7限购: &f{limit}'
- ''
- '&e点击前往商店'

模板变量: {lore}, {shop}, {price}, {currency}, {limit}


玩家商店方块

命令: /malkuth place [商店ID]

config.yml -> player-shop-block.enabled 打开,且你拥有 malkuth.command.place 时,可以把自己的 player 模式商店绑定到世界中的一个方块上,方便其他玩家直接右键访问。

当前行为:

  • 只允许绑定你自己拥有、已创建记录且至少上架过一个商品的玩家商店
  • 不填写 商店ID 时,会自动选择你第一个“已有商品”的玩家商店
  • BIND_EXISTING 模式下,目标方块材质必须在 bind-existing.allowed-materials
  • PLACE_ABOVE 模式下,必须先指向 place-above.base-materials 中的底座方块;若 require-air-above: true,上方必须是空气,随后会生成 generated-material
  • 其他玩家右键已绑定方块时会直接打开店主商店;若 disable-vanilla-interact: true,会取消箱子、木桶等原版交互
  • 非店主破坏时,deny-break-by-others: true 会直接拦截;方块被店主破坏或被爆炸炸掉后,绑定会自动解除

挂单系统

挂单界面由插件内置 order.yml 模板驱动,可展示活跃挂单并支持本人取消(通过自定义入口/二开调用打开)。

界面功能:

  • 标题显示分页:挂单列表 {page}/{max-page}
  • 个人挂单视图标题:我的挂单 {page}/{max-page}
  • 点击自己的挂单可取消

UI 配置结构(ui/order.yml):

title: '&8挂单列表 {page}/{max-page}'

layout:
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'ggggggggg'
- 'P#######N'

template:
name: '&e挂单: &f{matcher}'
lore:
- ''
- '&7最高价: &e{max_price}'
- '&7数量: &f{amount}'
- '&7状态: &f{status}'
- '&7时间: &f{time}'
- ''
- '{action_hint}'

messages:
my_title: '&8我的挂单 {page}/{max-page}'
material: 'PAPER'
click_cancel: '&c点击取消'
click_view: '&7点击查看详情'

模板变量: {matcher}, {max_price}, {amount}, {status}, {time}, {action_hint}