安装与启动

插件无法启动,控制台报错

排查步骤:

  1. 确认 Java 版本为 17 或更高:java -version
  2. 确认 Minecraft 版本为 1.20.4+
  3. 确认服务端为 Paper 或 Spigot
  4. 检查控制台具体错误信息

商店列表为空

运行 /as list 后显示空列表:

  1. 检查 plugins/AIOShop/shops/ 目录是否存在 yml 文件
  2. 执行 /as reload 重载配置
  3. 检查配置文件是否有 YAML 语法错误(可使用在线 YAML 校验工具)

商店配置

商品显示为"商品已下架"

可能原因:

  • 商品配置中 enabled: false
  • item-id 引用的物品不存在
  • 配置文件有语法错误

购买后没有收到物品

排查步骤:

  1. 检查 buy-rewards 配置是否正确
  2. 确认 item-iditem 是有效的物品名
  3. 检查玩家背包是否已满

出售物品失败

常见原因:

  • 物品不匹配 sell-item-matcher 规则
  • 商品未配置出售功能(没有 sell-rewards
  • 已达到出售限购上限

货币系统

提示"余额不足"但实际有钱

排查步骤:

  1. 确认 Vault 插件已正确安装
  2. 确认经济插件(如 EssentialsX)已安装并启用
  3. 检查商品配置的 currency 是否正确(如 VAULT
  4. 执行 /as reload 重载配置

如何使用 PlayerPoints 作为货币?

buy-price:
  amount: 100
  currency: "PLAYERPOINTS"

如何使用 PAPI 自定义货币?

1. 在 papi-currencies.yml 中定义货币:

currencies:
  my_currency:
    display-name: "&e金点"
    placeholder: "myplugin_points"
    add-command: "mypoints give {player} {amount}"
    take-command: "mypoints take {player} {amount}"

2. 在商品中使用:

buy-price:
  amount: 50
  currency: "PAPI:my_currency"

限购系统

限购不生效

检查项:

  • 确认 limit-type 不是 NONE
  • 确认配置了 limit-amountlimit-amount-range
  • 执行 /as reload 使配置生效

如何重置玩家的限购数据?

目前没有直接重置限购的命令。限购数据会在周期结束时自动重置(如每日限购在 00:00 重置)。

随机商店

随机商店商品不刷新

检查项:

  • 确认 random-generation.enabled: true
  • 检查 period 配置是否正确
  • 使用 /as refresh <玩家> <商店ID> 强制刷新测试

随机商店商品总是一样

可能原因:

  • 商品池太小,小于等于 count 数量
  • 启用了 allow-duplicates: false 且商品不够
  • 刷新周期未到

性能问题

打开商店卡顿

优化建议:

  • 减少单个商店的商品数量
  • 使用 MySQL 替代 SQLite(高并发场景)
  • 确保服务器 TPS 正常

数据库连接失败

检查 config.yml 中的数据库配置:

database:
  type: "mysql"
  host: "localhost"
  port: 3306
  username: "root"
  password: "your_password"
  database: "aioshop"

其他问题

如何备份数据?

  • SQLite:备份 plugins/AIOShop/data.db 文件
  • MySQL:使用 mysqldump 导出 aioshop 数据库
  • 同时备份整个 plugins/AIOShop/ 目录

如何卸载插件?

  1. 停止服务器
  2. plugins/ 目录删除 AIOShop-*.jar
  3. (可选)删除 plugins/AIOShop/ 目录
  4. 启动服务器

如何获取帮助?

如果以上内容没有解决你的问题:

  • 仔细检查控制台错误日志
  • 使用 YAML 校验工具检查配置文件语法
  • 联系插件作者并提供完整的错误信息