跳到主要内容

出问题了怎么办

这一页按"你看到的现象"来组织。找到你的症状,照着往下走。

先做这两件事​

不管什么问题,先做这两步,能省掉大量猜测:

第一步:开调试模式

/tsl debug

再执行一次就关掉。开启后插件会把每一步的判断都打印到控制台,有 treasure.debug 权限的玩家也会在聊天框收到。

第二步:看控制台

插件的所有提示都以 [Treasure] 开头。黄色是警告,通常直接写明了原因。

症状:控制台没有加载信息​

启动后看不到 已加载 N 个宝箱配置。

可能原因怎么确认怎么解决
插件没装上执行 /plugins 看有没有 TreasuresLite检查 jar 是否在 plugins/ 里
服务端版本太低看启动日志有没有版本相关报错需要 1.12.2 或更高
配置目录被删了看 plugins/TreasuresLite/treasures/ 存不存在删掉整个 TreasuresLite 文件夹后重启,让它重新生成

如果看到 未成功加载任何宝箱配置,说明目录存在但里面没有能用的文件。

如果看到 加载 treasures/xxx.yml 失败,后面会跟着具体的错误类型,通常是 YAML 格式问题:缩进用了 Tab、冒号后面没空格、引号没闭合。

症状:命令能打开,但世界里看不到宝箱​

这是最常见的问题。/tsl open def 有界面说明宝箱定义没问题,问题在坐标配置。

按顺序检查:

1. 坐标格式对不对

看控制台有没有 无法解析坐标 location.xxx[N]='...'。

有的话就是格式错了。必须是五段:'世界名, X, Y, Z, 朝向'。最常见的是漏了朝向。

# 错
- 'world, 100, 65, 200'

# 对
- 'world, 100, 65, 200, north'

2. 组名对不对

看控制台有没有 宝箱 def 引用了不存在的坐标组 xxx。

有的话说明 generator.normal.treasure 里写的组名和 location 里定义的不一致。检查拼写和大小写。

3. 宝箱 ID 对不对

开 /tsl debug 后走到坐标附近,看有没有 以下宝箱 ID 未加载,相关坐标已跳过: xxx。

有的话说明 location.yml 里写的宝箱 ID 和 treasures/ 里的文件名不匹配。文件叫 daily.yml,ID 就得写 daily。

4. 距离够不够

默认只有 16 格内才显示。走近一点,或者调大 config.yml 里的 view.distance。

开 debug 后能看到 超出距离=N 的统计。

5. 世界名对不对

世界名要用文件夹名,不是显示名。多世界服务器容易配错。

开 debug 后能看到 世界不匹配=N 的统计。

6. 条件通不通过

    treasure:
def:
my_spots: "check player level > 10"

这样配的话等级不够就看不到。先改成 "true" 排除条件问题。

开 debug 后能看到 Checking xxx with condition '...' = true/false。

7. 强制刷一次

/tsl update

如果执行后能看到,说明配置是对的,只是刷新时机问题。看下一个症状。

症状:要手动 update 才显示,不会自动出现​

刚进服的情况:插件需要先算出这个玩家能看到哪些位置,算完之前不显示。进服后等 3 到 5 秒是正常的。

过了很久还是不显示:检查 config.yml

view:
refresh: 30000

填 0 或负数会关掉定时刷新。启动时控制台会输出 周期任务 view-refresh 已禁用。

确认周期任务在跑:启动时应该能看到类似这样的输出

[Treasure] 已启动周期任务 view-refresh: 30000ms (600 tick, sync)
[Treasure] 已启动周期任务 normal-refresh: 1800000ms (36000 tick, sync)

没有这些行说明任务没起来,检查对应的 period 是不是填了 0。

症状:宝箱右键没反应​

可能原因怎么解决
玩家看到的是残留的旧显示执行 /tsl update,插件会自动对账并恢复
宝箱定义加载失败看控制台有没有 加载 treasures/xxx.yml 失败
有其他插件拦截了右键试试在没有保护区的地方测试

开 /tsl debug 后右键宝箱,正常应该看到 右键点击了寻宝箱。

如果看到 右键点击了已换代的虚拟宝箱,正在恢复真实方块,说明这个宝箱已经过期了,插件正在清理,属于正常行为。

症状:右键后箱子消失了​

这通常发生在钥匙不足的情况下。当前版本已经处理了这个问题:钥匙不足时插件会立即重发宝箱、并在 1 tick 后再补发一次,箱子不应该消失。

如果还是消失了:

  1. 确认插件版本是 2.0.12 或更高
  2. 开 debug 看有没有 钥匙校验未通过后恢复宝箱失败或坐标已不再可见
  3. 执行 /tsl update 应该能恢复

症状:右键后箱子变成真实方块,界面没打开​

说明宝箱界面构建失败了。控制台会有 构建宝箱 XXX 的 GUI 失败,后面跟着具体原因。

常见原因:

控制台信息原因解决
claim.amount=N 超过布局中的可用奖励槽位 M奖励数量比槽位多减小 claim.amount 或者加大布局
claim.generator 缺失没写 generator补上奖励池
claim.generator.xxx.chance 必须大于 0权重写了 0改成正数
claim.amount=N 无法由 M 个 unique 生成器满足全是 unique 但数量要求太多减小 amount 或者加奖励种类
claim.generator.xxx.material 解析失败物品源或 ID 有问题见下一节
claim.generator.xxx.amount 必须在 1..2304 之间单个物品数量越界改到范围内
icons.xxx.material 无效装饰图标材质名错了检查材质拼写

症状:奖励物品出不来 / 报解析失败​

控制台出现 物品配置 'xxx' 解析失败 或 物品库不存在 ID。

这里的检查是严格的,缺任何一环都会导致整个宝箱打不开:

1. 前缀对应的插件装了吗

启动时控制台会打印挂钩成功的物品源:

已挂钩软依赖 MythicMobs 作为物品源
已挂钩软依赖 ItemsAdder 作为物品源

没有对应的行说明那个插件没装或者没加载成功,此时写 mm: xxx 会直接失败。

2. 物品 ID 存在吗

去对应插件里确认 ID 拼写。注意有些插件的 ID 区分大小写。

3. 原版材质名对吗

游戏里对着物品按 F3 + H 打开高级提示,能看到真实的物品 ID。

4. 格式对吗

material: "mm: my_item"      # 前缀 + 冒号 + 空格 + ID
material: "diamond" # 原版物品直接写

症状:钥匙识别不了​

按顺序排查:

1. 确认条件加载了

启动时应该看到 宝箱 X 已加载 N 个钥匙条件。如果 N 是 0,或者有 已跳过 的告警,说明配置格式有问题,具体对照表在 要钥匙才能开。

2. 确认拿在主手

副手不算。

3. 开 debug 看匹配细节

/tsl debug

然后右键宝箱,会看到 钥匙检查失败: 持有=1, 需要=10, 手持=PAPER 这样的信息,能直接看出是哪个条件不满足。

4. 检查 lore 条件

lore 是"你写的每一条都必须命中"。如果你写了三条,物品必须同时有这三条描述。删掉多余的条件试试。

5. 检查 custom_model_data

1.14 以下不支持。启动时会有告警 但当前服务端低于 1.14,该条件不会匹配。把这一行删掉或注释掉。

6. 检查名字里的颜色代码

匹配时会去掉颜色代码,所以 name: "钥匙" 能匹配 &6钥匙。但如果你在配置里写了颜色代码而物品没有,也能匹配(因为两边都去色)。这一项通常不是问题。

症状:随机宝箱数量不够​

控制台出现 随机宝箱 xxx 的规则生成数量不足,后面跟着统计。

对照统计里数字最大的那一项:

统计项原因解决
未加载区块那片区域没有玩家,区块没加载把范围缩小到玩家常去的地方
材质不匹配range 的材质过滤太严放宽材质列表,或改用 ground
未找到支撑ground 往下扫到底也没方块该区域可能是虚空,换位置
越界高度超出世界上下限检查 range 的高度范围
重复范围太小,随机总撞到同一个点扩大区域范围

未加载区块 是最常见的。随机生成必须读取方块信息才能判断,没加载的区块读不到。

症状:改了配置没生效​

1. 执行了 reload 吗

/tsl reload

config.yml 和 location.yml 支持自动重载,保存文件就会生效。但 treasures/ 下的宝箱文件需要手动 reload。

2. 改对文件了吗

确认改的是 plugins/TreasuresLite/ 下面的文件,不是 jar 包里的。

3. 改的是 type 还是 block

想换方块外观必须改 settings.block。settings.type 只在没有 block 的时候才生效。

默认 def.yml 两个都有,所以改 type 不会有任何效果。

4. events.spawn 里的东西不会执行

spawn 事件是预留的,当前版本不会执行。写在里面的脚本没有效果。

5. hologram 配置不会生效

全息文字是预留配置,插件没有调用它。

症状:控制台刷屏​

view.async 已停用:这条只在启动时出现一次。把 config.yml 里的 async 改成 false 就不再提示。

大量重复的调试信息:/tsl debug 忘记关了,再执行一次关掉。

数据包映射相关警告:2.0.13 已修复这个问题,升级版本即可。

症状:宝箱没有开合动画​

只有 CHEST、TRAPPED_CHEST、ENDER_CHEST 三种方块有开合动画。

配成头颅、木桶、潜影盒、CraftEngine 自定义方块时,开箱一切正常,但看不到盖子打开的效果。这是原版数据包的限制,不是配置问题。

症状:BungeeCord 子服里界面异常​

关掉虚拟化:

view:
virtualize_ui: false

这是已知的兼容性问题,默认就是关闭的。

还是解决不了​

收集这些信息后联系作者(QQ 1747484670):

  1. 服务端类型和版本(比如 Paper 1.12.2、Paper 1.20.4)
  2. 插件版本
  3. config.yml、location.yml 的完整内容
  4. 出问题的那个宝箱文件的完整内容
  5. 开启 /tsl debug 后复现问题的完整控制台日志
  6. 具体的操作步骤和你期望的结果

第 5 条最重要。调试日志里包含了插件每一步的判断依据,没有它基本只能靠猜。