常见问题
现在货币应该写在哪里
当前版本已经把统一货币定义入口收敛到 MatrixLib:
plugins/MatrixLib/Economy/currency.yml
运行时会同步到:
plugins/MatrixShop/Economy/currency.ymlplugins/MatrixStorage/Economy/currency.yml
推荐写法是引用货币 key,而不是在每个业务配置里重复写整段货币逻辑。
优先级如下:
- 商品级
- 商店级
- 模块级
- 默认回退
vault
如果你在改:
SystemShop:可写商品级currencyPlayerShop / GlobalMarket / Auction / Transaction:优先写商店级Currency.KeyChestShop:写模块级Currency.KeyCart / Record:不需要配置货币
为什么改了 shops/*.yml 文件名后,原来的入口和数据不见了
因为现在的 shopId 就是文件名。对这些模块来说,改文件名相当于改了运行时作用域:
player-shopglobal-marketauctiontransaction
以下模块当前不依赖 shops/*.yml 作为主入口:
chestshopcartrecord
/ms open <id> 打不开或提示歧义怎么办
如果多个模块里出现了同名 shopId,就不要再用短写法,直接改成显式前缀:
/ms open playershop:default
/ms open auction:default
数据库明明配了,为什么还是走文件后端
先执行:
/matrixshopadmin status
然后重点看:
Configured data backendActive data backendData backend reason
只要 JDBC 初始化失败,插件就会自动回退到文件后端。
Redis 能不能当主存储
不能。当前代码只会把 Redis 配置显示在状态信息里,不会把主数据层切到 Redis。
为什么切换独立命令绑定后,reload 不生效
因为独立命令注册只在插件启动时执行。改这些字段后需要重启:
Bindings.Commands.Register- 独立命令关键字本身
为什么 /cart、/record 能直接使用,但不需要 shops/*.yml
因为这两个模块当前已经改成“模块级入口 + UI 文件”模型:
Cart/settings.yml+Cart/ui/*.ymlRecord/settings.yml+Record/ui/*.yml
它们仍然支持独立命令和帮助输出,但不再通过 shops/*.yml 划分主入口。
SystemShop 为什么没有数据库表
因为当前 SystemShop 是纯配置驱动模块,不依赖 JDBC 运行表。真正大量落表的是拍卖、市场、玩家商店、购物车、箱店和记录系统。
MatrixShop 会不会发送遥测数据
会。当前版本集成了 bStats,但只发送聚合级的配置和模块统计,不发送玩家交易明细或敏感配置。
详细说明见: