mcMMO-Dev / mcMMO

The RPG Lover's Mod!
https://mcmmo.org
GNU General Public License v3.0
1.01k stars 862 forks source link

The Glitch With The [shift+left click] to Brewing Ingredient #5046

Closed Jiejue233 closed 3 months ago

Jiejue233 commented 3 months ago

There is a glitch that happens when a player trying to use a short-cut to add the ingredients to a brewing stand

How to trigger:

  1. open the GUI of a brewing stand
  2. add a water bottle and powder and ready for brewing (doesn't matter how they were added)
  3. use the shortcut (shift + left click) to add the ingredient to the slot
  4. an error report like this
    [08:36:33 ERROR]: Could not pass event InventoryClickEvent to mcMMO v2.2.016
    java.lang.IncompatibleClassChangeError: Found class org.bukkit.inventory.InventoryView, but interface was expected
        at mcMMO.jar/com.gmail.nossr50.skills.alchemy.AlchemyPotionBrewer.transferItems(AlchemyPotionBrewer.java:287) ~[mcMMO.jar:?]
        at mcMMO.jar/com.gmail.nossr50.skills.alchemy.AlchemyPotionBrewer.transferItems(AlchemyPotionBrewer.java:244) ~[mcMMO.jar:?]
        at mcMMO.jar/com.gmail.nossr50.listeners.InventoryListener.onInventoryClickEventNormal(InventoryListener.java:229) ~[mcMMO.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor77.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-148-20f5165]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3177) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:69) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:33) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1511) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1488) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1377) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1238) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-148-20f5165]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

    pops on the console, and the brewing process will be back to vanilla and gain no alchemy experience

using version: mcmmo 2.2.016 minecraft paper - 1.20.6

complementary note:

I only found this glitch after a plugin update made in recent, and the last time updating the plugin (the stable one) was May 30th, 2024

JHarris12345 commented 3 months ago

Can confirm this exists

nossr50 commented 3 months ago

Thanks for the reports, will look into this.

nossr50 commented 3 months ago

I can't seem to replicate this

I've tried shift clicking ingredients, the water bottles, the blaze powder, nothing shows up in console. @JHarris12345 @Jiejue233 can I get more information?

Using latest paper version in my tests

[14:08:34 INFO]: Checking version, please wait...
[14:08:34 INFO]: This server is running Paper version 1.21-63-master@2288e13 (2024-07-13T18:51:26Z) (Implementing API version 1.21-R0.1-SNAPSHOT)
You are running the latest version
Previous version: 1.21-49-b0ef3ca (MC: 1.21)
nossr50 commented 3 months ago

I got it replicated, working on potential fixes now.