跳到主要内容

配置结构

MatrixShop 当前配置结构可以分为四层:

  1. 顶层全局文件
  2. 统一经济定义
  3. 模块目录
  4. 模块内部的 settings.ymlshops/*.ymlui/*.yml

顶层文件

config.yml

1.8.0 开始,config.yml 已被精简为:

debug: false

language:
default: zh_CN
fallback: zh_CN

Scripts:
Export-Hook-Plugin: true
Binding-Map:
MatrixShopApi: "com.y54895.matrixshop.api.MatrixShopApi"

说明:

  • debug:是否输出调试信息
  • language:默认语言与回退语言
  • Scripts:脚本绑定与导出配置

以下内容已不再由 config.yml 管理:

  • 根级 Bindings
  • system-shop.default-category
  • messages.no-permission
  • messages.player-only

这些行为现在分别由:

  • 代码内置默认值
  • Lang/*.yml
  • 模块 / shop 级绑定配置

module.yml

module.yml 仍负责模块总开关,例如:

  • menu
  • system-shop
  • player-shop
  • global-market
  • auction
  • chestshop
  • transaction
  • cart
  • record

database.yml

database.yml 负责数据库后端与连接信息。

当前主要后端仍是:

  • SQLITE
  • MYSQL

模块目录

主要目录包括:

  • Menu/
  • SystemShop/
  • PlayerShop/
  • GlobalMarket/
  • Auction/
  • ChestShop/
  • Transaction/
  • Cart/
  • Record/

settings.ymlshops/*.yml 的分工

shops/*.yml 主导的模块

  • Menu
  • SystemShop
  • PlayerShop
  • GlobalMarket
  • Auction
  • Transaction

这些模块的入口命令绑定、帮助文本和 shop 入口定义主要写在 shops/*.yml

仍由 settings.yml 主导的模块

  • ChestShop
  • Cart
  • Record

这三个模块当前仍保留模块级命令配置和帮助提示。

绑定结构

当前绑定采用类似 TrMenu 的直接写法:

Bindings:
Commands:
- "trade"
- "tm"
Register: true
Show-In-Help: true
Priority: 100

如需绑定相关多语言覆盖,可继续在同级写:

Bindings:
Commands:
- "trade"
Lang:
zh_CN:
Help:
- "&7打开交易中心。"
en_US:
Help:
- "&7Open the trade center."

shopId 规则

大多数多入口模块中,shopId 默认来自文件名:

shops/<file-name>.yml

例如:

  • Menu/shops/main.yml -> main
  • Transaction/shops/default.yml -> default

推荐阅读