[1.18.2] MythicMobs 插件加载 RandomSpawner 后的 NoSuchMethodError
Opened this issue · 1 comments
NattoCB commented
运行环境
Minecraft版本(1.12.2/1.16.5/1.18.2): 1.18.2
构建版本(从/version指令获取): afe4633
相关模组/插件: MythicMobs 插件
描述这个BUG
在 MM 插件 RandomSpawner 文件夹内新建一个 spawner yml 写入:
test:
Type: GIANT
Chance: 100
Priority: 128
Action: ADD
Worlds: world
在服务器 /mm reload,会导致大量的报错提示:NoSuchMethodError: 'org.bukkit.Chunk org.bukkit.World.getChunkAt()
[21:51:11] [Craft Scheduler Thread - 24/ERROR]: [MythicMobs] [SCHEDULER] Exception thrown whilst executing task
[21:51:11] [Craft Scheduler Thread - 24/INFO]: java.lang.NoSuchMethodError: 'org.bukkit.Chunk org.bukkit.World.getChunkAt(int, int, boolean)'
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.core.spawning.random.PlayerGroup.<init>(PlayerGroup.java:49)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.core.spawning.random.generators.ClusterGenerator.lambda$getPlayerGroups$3(ClusterGenerator.java:98)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.core.spawning.random.generators.ClusterGenerator.getPlayerGroups(ClusterGenerator.java:94)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.core.spawning.random.generators.ClusterGenerator.tick(ClusterGenerator.java:38)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.core.spawning.random.RandomSpawnGenerator.run(RandomSpawnGenerator.java:29)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.bukkit.utils.Delegates$RunnableToConsumer.accept(Delegates.java:93)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at io.lumine.mythic.bukkit.utils.Schedulers$LumineTask.run(Schedulers.java:184)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at TRANSFORMER/forge@40.2.14/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:81)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at TRANSFORMER/forge@40.2.14/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[21:51:11] [Craft Scheduler Thread - 24/INFO]: at java.base/java.lang.Thread.run(Thread.java:833)
导致的问题
RandomSpawner 执行中断
可能的原因
MM 自己有个 WorldAdapter 适配各种框架下的 world,但它 BukkitAdapter 需要的
public Chunk getChunkAt(int x, int z, boolean flag);
在目前服务端中不包含:
public Chunk getChunkAt(int x, int z);
public Chunk getChunkAt(@NotNull Location location);
public Chunk getChunkAt(@NotNull Block block);
可能是它想一个插件兼容所有版本的 spigot,但使用了一个非 1.18.2 的 API
1.12.1:
===
更新:如果上述分析无误,感觉这个 issue 可以 close 了,有空我去那边问问
Kotori0629 commented
浅翻了一下Paper那边并没有 看起来我应该给它加上