跳到主要内容

ChestShop

ChestShop 是箱子商店模块。它和前面的菜单型商店不同,既有 GUI,也有箱子、告示牌、库存和数量档位这些线下交互逻辑。

当前版本中,ChestShop 不使用 shops/*.yml 作为入口层,货币也只支持模块级配置。

默认文件

  • ChestShop/settings.yml
  • ChestShop/signs.yml
  • ChestShop/ui/create.yml
  • ChestShop/ui/edit.yml
  • ChestShop/ui/history.yml
  • ChestShop/ui/shop.yml
  • ChestShop/ui/stock.yml

ChestShop/settings.yml

Enabled: true

Bindings:
Commands:
Bindings:
- 'chestshop'
- 'cshop'
Register: true
Show-In-Help: true
Priority: 60
Condition: 'perm matrixshop.chestshop.use'

Entry:
Open-GUI-On:
- SIGN_RIGHT_CLICK
- CHEST_RIGHT_CLICK
Direct-Trade-On: []
Stock:
Double-Chest-Mode: expand_only
Trade:
Tax:
Enabled: false
Mode: percent
Value: 3.0
Currency:
Key: vault

字段解释:

字段说明
Enabled是否启用箱子商店。
Bindings.Commands.Bindings默认命令关键字。
Register直接注册独立命令。
Priority别名优先级。
Condition默认权限节点。
Entry.Open-GUI-On哪些交互动作会直接打开 GUI。
Entry.Direct-Trade-On哪些交互动作会走直接交易。默认是空列表。
Stock.Double-Chest-Mode双箱库存处理方式,示例是 expand_only
Trade.Tax箱子商店税配置。玩家购买时税从店主收入中扣除,玩家出售时税从玩家收入中扣除。
Currency.Key箱子商店统一使用的货币 key。

ChestShop/signs.yml

Formats:
BUY:
- '&8[ChestShop]'
- '&aBUY'
- '&f{item} x{amount}'
- '&e{buy-price}'
SELL:
- '&8[ChestShop]'
- '&6SELL'
- '&f{item} x{amount}'
- '&e{sell-price}'
DUAL:
- '&8[ChestShop]'
- '&bDUAL'
- '&f{item} x{amount}'
- '&a{buy-price} &7/ &6{sell-price}'

字段解释:

字段说明
Formats.BUY纯买入商店的四行告示牌格式。
Formats.SELL纯卖出商店的格式。
Formats.DUAL双向商店的格式。
{item} / {amount} / {buy-price} / {sell-price}运行时替换的占位符。

使用建议

  • 想改玩家打开箱店后的布局:改 ui/shop.ymlui/edit.ymlui/create.yml
  • 想改告示牌显示样式:改 signs.yml
  • 想改变“右键箱子”“右键告示牌”的行为:改 Entry.Open-GUI-OnDirect-Trade-On

当前货币优先级

ChestShop 当前不走商店级或商品级货币配置,直接使用:

  1. ChestShop/settings.yml -> Currency.Key
  2. 默认回退 vault