FelipeRos19 / PowerfulBackpacks

Best Backpack plugin for your Server!
https://modrinth.com/plugin/powerfulbackpacks
4 stars 1 forks source link

Items disappear when placed in backpack #10

Open HyperLives opened 2 months ago

HyperLives commented 2 months ago

I had a bug when I was putting things inside a backpack and close it with Esc then reopen the backpack the item would disappear OR I would accidently dupe a item

FelipeRos19 commented 2 months ago

Hello, could you explain to me better how the bug happens, so that I can investigate. So you do these actions too quickly and then the items disappear or duplicate?

HyperLives commented 2 months ago

Hi there, It happened again just now, this is the error code I got, the server didnt lag at all, not sure what happened but this time my backpack got deleted and lost everything inside that backpack.

If I was to try to retrace my steps I guess it would I am moving things to fast/ doing things to fast. so the current bugs I found are the backpack can sometimes disappear (not accidently dropped) just removed back inventory and also it can sometimes duplicate items when doing actions too quickly I would assume.

[15:16:57 ERROR]: Could not pass event InventoryCloseEvent to PowerfulBackpacks v1.2.0-SNAPSHOT
java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.meta.ItemMeta.getPersistentDataContainer()" because "meta" is null
    at PowerfulBackpacks-1.2.0.jar/fun.felipe.powerfulbackpacks.utils.items.PersistentDataUtils.addStringData(PersistentDataUtils.java:13) ~[PowerfulBackpacks-1.2.0.jar:?]
    at PowerfulBackpacks-1.2.0.jar/fun.felipe.powerfulbackpacks.events.PlayerInventoryListener.onPlayerCloseInventory(PlayerInventoryListener.java:33) ~[PowerfulBackpacks-1.2.0.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor50.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-137-bd5867a]
    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-137-bd5867a]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.event.CraftEventFactory.handleInventoryCloseEvent(CraftEventFactory.java:1621) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClose(ServerGamePacketListenerImpl.java:2929) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClose(ServerGamePacketListenerImpl.java:2922) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.network.protocol.game.ServerboundContainerClosePacket.handle(ServerboundContainerClosePacket.java:33) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.network.protocol.game.ServerboundContainerClosePacket.handle(ServerboundContainerClosePacket.java:15) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1511) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1488) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1411) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1377) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1238) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-137-bd5867a]
    at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
FelipeRos19 commented 2 months ago

Hello, firstly I apologize for what happened and thank you for coming to report the problem. I will investigate the problem and look for solutions, the problem presented was when saving the information from your backpack within the "ItemMeta" system of the "ItemStack". I will make some changes to prevent this type of problem, again thank you for taking the time to come here and report the problem.

HyperLives commented 2 months ago

Dont mention it, Glad to help to fix this issue I am fellow programmer / game dev myself just not with Java. looked forward to seeing the fix live.

FelipeRos19 commented 2 months ago

Hi, a little update on the situation. I'm working on fixing this bug and making some small changes but I've had less time to develop so this may take a few more days, I apologize for the delay.