CoreProtect

CoreProtect

1M Downloads

v23.0 - Release Candidate 1

agoniaprivat opened this issue ยท 3 comments

commented
[23:31:46 ERROR]: Could not pass event InventoryDragEvent to CoreProtect v23.0-rc1 -- 2 | java.lang.IncompatibleClassChangeError: Found class org.bukkit.inventory.InventoryView, but interface was expected 3 | at CoreProtect-Edge-23.0-rc1.jar/net.coreprotect.listener.player.InventoryChangeListener.onInventoryDragEvent(InventoryChangeListener.java:293) ~[CoreProtect-Edge-23.0-rc1.jar:?] 4 | at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?] 5 | at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-2230-eac4198] 6 | at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?] 7 | at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 8 | at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 9 | at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?] 10 | at net.minecraft.world.inventory.AbstractContainerMenu.doClick(AbstractContainerMenu.java:481) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 11 | at net.minecraft.world.inventory.AbstractContainerMenu.clicked(AbstractContainerMenu.java:383) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 12 | at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3197) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 13 | at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:69) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 14 | at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:33) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 15 | at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 16 | at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 17 | at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 18 | at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 19 | at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1546) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 20 | at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 21 | at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 22 | at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1523) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 23 | at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1446) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 24 | at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 25 | at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1412) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 26 | at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1273) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 27 | at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] 28 | at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] [23:31:46 ERROR]: Could not pass event InventoryDragEvent to CoreProtect v23.0-rc1 java.lang.IncompatibleClassChangeError: Found class org.bukkit.inventory.InventoryView, but interface was expected at CoreProtect-Edge-[2](https://mclo.gs/vmsjwak#L2)3.0-rc1.jar/net.coreprotect.listener.player.InventoryChangeListener.onInventoryDragEvent(InventoryChangeListener.java:29[3](https://mclo.gs/vmsjwak#L3)) ~[CoreProtect-Edge-23.0-rc1.jar:?] at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-2230-eac[4](https://mclo.gs/vmsjwak#L4)198] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:[5](https://mclo.gs/vmsjwak#L5)4) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.20.[6](https://mclo.gs/vmsjwak#L6).jar:1.20.6-2230-eac4198] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[purpur-api-1.20.6-R0.1-SNAPSHOT.jar:?] at net.minecraft.world.inventory.AbstractContainerMenu.doClick(AbstractContainerMenu.java:481) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.world.inventory.AbstractContainerMenu.clicked(AbstractContainerMenu.java:383) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:319[7](https://mclo.gs/vmsjwak#L7)) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:69) ~[purpur-1.20.6.jar:1.20.6-2230-eac419[8](https://mclo.gs/vmsjwak#L8)] at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:33) ~[purpur-1.20.6.jar:1.20.6-2230-eac41[9](https://mclo.gs/vmsjwak#L9)8] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1546) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:[12](https://mclo.gs/vmsjwak#L12)5) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1523) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1446) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:[13](https://mclo.gs/vmsjwak#L13)5) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1412) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1273) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[purpur-1.20.6.jar:1.20.6-2230-eac4198] at java.base/java.lang.Thread.run(Thread.java:[15](https://mclo.gs/vmsjwak#L15)83) ~[?:?]

Full log:
https://mclo.gs/9IzShGE

Backround

  • Issue started to happen when switching from previous build of CoreProtect
  • Tested on both Paper and Purpur 1.20.6, both on the newest builds, older builds
commented

;-; you rejected #567 as invalid but alright

commented

;-; you rejected #567 as invalid but alright

It isn't a CoreProtect issue, but it seems upstream providers (Paper, PurPur) won't be resolving this, so I attempted to mitigate the error for older server software to maintain backwards compatibility.

commented

Yeahh - what I was trying to get across in the other issue was that the change is not backwards-compatible on their end, so if your project is built against 1.21's API (which switches from abstract class to interface) then your project won't be remapped (and therefore won't work) for older versions, whereas if you built against an older API (1.20.6, for example's sake) the server would remap the code on 1.21 for the breaking change. Thanks for actually fixing it though - I realise I didn't actually thank you when I did the ";-;"