玩家功能
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}
赠送
玩家可以在购买确认界面中点击「赠送给好友」按钮,将商品作为礼物赠送给其他玩家。
使用流程:
- 在商店中点击商品进入确认购买界面
- 点击「赠送给好友」按钮(
writable_book图标) - 在聊天栏中输入收礼玩家名称
- 系统完成赠送,商品直接交付给收礼玩家;若对方不在线则存入邮箱
注意事项:
- 属性类商品和纯脚本商品不支持赠送
- 赠送按钮在确认购买界面中通过
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-materialsPLACE_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}