Slimefun4
Slimefun4 copied to clipboard
1.21在使用最新Insider版本的爆炸工具(包括爆炸搞等)时报错
问题描述
rt,一挖就错
java.lang.NoSuchMethodError: 'void org.bukkit.event.block.BlockExplodeEvent.<init>(org.bukkit.block.Block, java.util.List, float)'
at Slimefun4-dev-RC-7-g14602eb-8067.jar/io.github.thebusybiscuit.slimefun4.implementation.items.tools.ExplosiveTool.breakBlocks(ExplosiveTool.java:82) ~[Slimefun4-dev-RC-7-g14602eb-8067.jar:?]
at Slimefun4-dev-RC-7-g14602eb-8067.jar/io.github.thebusybiscuit.slimefun4.implementation.items.tools.ExplosiveTool.lambda$getItemHandler$0(ExplosiveTool.java:71) ~[Slimefun4-dev-RC-7-g14602eb-8067.jar:?]
at Slimefun4-dev-RC-7-g14602eb-8067.jar/io.github.thebusybiscuit.slimefun4.implementation.listeners.BlockListener.lambda$callToolHandler$2(BlockListener.java:249) ~[Slimefun4-dev-RC-7-g14602eb-8067.jar:?]
at Slimefun4-dev-RC-7-g14602eb-8067.jar/io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem.callItemHandler(SlimefunItem.java:1003) ~[Slimefun4-dev-RC-7-g14602eb-8067.jar:?]
at Slimefun4-dev-RC-7-g14602eb-8067.jar/io.github.thebusybiscuit.slimefun4.implementation.listeners.BlockListener.callToolHandler(BlockListener.java:249) ~[Slimefun4-dev-RC-7-g14602eb-8067.jar:?]
at Slimefun4-dev-RC-7-g14602eb-8067.jar/io.github.thebusybiscuit.slimefun4.implementation.listeners.BlockListener.onBlockBreak(BlockListener.java:198) ~[Slimefun4-dev-RC-7-g14602eb-8067.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor20.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:84) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:1.21-109-5a5035b]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.jar:1.21-109-5a5035b]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.jar:1.21-109-5a5035b]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.level.ServerPlayerGameMode.destroyBlock(ServerPlayerGameMode.java:383) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.level.ServerPlayerGameMode.destroyAndAck(ServerPlayerGameMode.java:342) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.level.ServerPlayerGameMode.handleBlockBreakAction(ServerPlayerGameMode.java:215) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handlePlayerAction(ServerGamePacketListenerImpl.java:1785) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.handle(ServerboundPlayerActionPacket.java:51) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.network.protocol.game.ServerboundPlayerActionPacket.handle(ServerboundPlayerActionPacket.java:20) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:56) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1536) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1513) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1506) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1465) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1472) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1317) ~[paper-1.21.jar:1.21-109-5a5035b]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:330) ~[paper-1.21.jar:1.21-109-5a5035b]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
问题复现率
必现
复现步骤
- 先将items.yml里的EXPLOSIVE_PICKAXE.call-explosion-event打开(或其他爆炸工具的相应配置)
- 使用
- 报错
服务端类型
Paper
Minecraft 版本
1.20.x
Slimefun 版本
14602eb-Insider
其他插件信息
No response
补充信息
bukkit在1.21改变了BlockExplodeEvent的构造函数
由BlockExplodeEvent(@NotNull final Block what, @NotNull final List<Block> blocks, final float yield) 变为 BlockExplodeEvent(@NotNull final Block what, @NotNull final BlockState blockState, @NotNull final List<Block> blocks, final float yield, @NotNull final ExplosionResult result)(甚至把1.20.6那个刚添加的4参构造函数直接移除了)