oddlama / vane

Immersive and lore friendly enhancements for vanilla Minecraft
MIT License
274 stars 34 forks source link

Cannot open Pouch or Backpack #175

Closed jacklollz2 closed 1 year ago

jacklollz2 commented 1 year ago

git-Purpur-1834 (MC: 1.19.2)

[17:03:27 ERROR]: Could not pass event PlayerInteractEvent to vane-trifles v1.10.1
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 33 path $.translate
        at com.google.gson.Gson.fromJson(Gson.java:978) ~[gson-2.8.9.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:928) ~[gson-2.8.9.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:877) ~[gson-2.8.9.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:848) ~[gson-2.8.9.jar:?]
        at net.kyori.adventure.text.serializer.gson.GsonComponentSerializerImpl.deserialize(GsonComponentSerializerImpl.java:84) ~[adventure-text-serializer-gson-4.11.0.jar:?]
        at net.kyori.adventure.text.serializer.gson.GsonComponentSerializerImpl.deserialize(GsonComponentSerializerImpl.java:37) ~[adventure-text-serializer-gson-4.11.0.jar:?]
        at org.bukkit.craftbukkit.v1_19_R1.inventory.CraftMetaItem.displayName(CraftMetaItem.java:863) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at org.bukkit.craftbukkit.v1_19_R1.inventory.CraftMetaBlockState.displayName(CraftMetaBlockState.java:20) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at org.oddlama.vane.trifles.StorageGroup.open_block_state_inventory(StorageGroup.java:197) ~[vane-trifles-1.10.1.jar:?]
        at org.oddlama.vane.trifles.items.storage.Backpack.on_player_right_click(Backpack.java:62) ~[vane-trifles-1.10.1.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1132.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[purpur-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[purpur-api-1.19.2-R0.1-SNAPSHOT.jar:git-Purpur-1834]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:678) ~[purpur-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:545) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.server.level.ServerPlayerGameMode.useItemOn(ServerPlayerGameMode.java:528) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItemOn(ServerGamePacketListenerImpl.java:2051) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.handle(ServerboundUseItemOnPacket.java:37) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.a(ServerboundUseItemOnPacket.java:9) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1368) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1345) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1338) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1316) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1204) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:310) ~[purpur-1.19.2.jar:git-Purpur-1834]
        at java.lang.Thread.run(Unknown Source) ~[?:?]
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 33 path $.translate
        at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1562) ~[gson-2.8.9.jar:?]
        at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1030) ~[gson-2.8.9.jar:?]
        at com.google.gson.stream.JsonReader.nextString(JsonReader.java:814) ~[gson-2.8.9.jar:?]
        at net.kyori.adventure.text.serializer.gson.ComponentSerializerImpl.read(ComponentSerializerImpl.java:137) ~[adventure-text-serializer-gson-4.11.0.jar:?]
        at net.kyori.adventure.text.serializer.gson.ComponentSerializerImpl.read(ComponentSerializerImpl.java:56) ~[adventure-text-serializer-gson-4.11.0.jar:?]
        at com.google.gson.TypeAdapter$1.read(TypeAdapter.java:199) ~[gson-2.8.9.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:963) ~[gson-2.8.9.jar:?]
        ... 33 more
oddlama commented 1 year ago

How did this happen? The error message suggests that there's a corrupt item name involved.

It's very unlikely that this is caused by vane - vane only provides a texturepack that makes a shulkerbox look like backpack and opens the inventory on rightclick. The opening fails because the container seems to have an invalid name. Does this happen with all backpacks or only specific ones?

jacklollz2 commented 1 year ago

It's with every Backpack or Pouch that Vane uses I use another plugin, Minepacks, and that does not have a problem for example

oddlama commented 1 year ago

Could it be related to purpur? I didn't manage to reproduce this on my testserver..

Are the shulkerboxes named in some particular way? If not, maybe try to name them in an anvil and retry. If that changes something this would give me some insight into what might be happening.

jacklollz2 commented 1 year ago

It's a very strange bug for sure. I was using Vane for a very very long time on Purpur, I haven't changed any setting, just shut the server down and started it up and boom, every Backpack and Pouch doesn't work anymore, even newly created ones

oddlama commented 1 year ago

No updates? And what about this:

Are the shulkerboxes named in some particular way? If not, maybe try to name them in an anvil and retry. If that changes something this would give me some insight into what might be happening.

jacklollz2 commented 1 year ago

Renaming it didn't change anything, oddly enough it restored back to "Backpack" even when renamed...

jacklollz2 commented 1 year ago

Just deleted the config file of Vane, and recreated it. The problem continues, however, renaming it on an anvil made the item work.

oddlama commented 1 year ago

The problem continues, however, renaming it on an anvil made the item work.

I suspected that much, this indicates that the error originates in the container using a translated string. This should be perfectly fine though...

The only way I can see this happening right now is that it is caused by kyori's adventure module emitting invalid json:

at net.kyori.adventure.text.serializer.gson.GsonComponentSerializerImpl.deserialize(GsonComponentSerializerImpl.java:84) > ~[adventure-text-serializer-gson-4.11.0.jar:?]
at net.kyori.adventure.text.serializer.gson.GsonComponentSerializerImpl.deserialize(GsonComponentSerializerImpl.java:37) ~[adventure-text-serializer-gson-4.11.0.jar:?]

But this would mean that something had to get updated in your restart, otherwise the theory doesn't check out. I'm not sure what else could be causing this.

jacklollz2 commented 1 year ago

I've been able to diagnose the issue. It's apparently caused by Essentials of all things. Deleting the config folder for essentials and regenerating it fixed the names

oddlama commented 1 year ago

Wow awesome find! I never would have thought of that. This seems like a severe bug in essentials to me, it must mean that they edit the NBT tag of items in some way that is not intended by minecraft. Did you report it to them?

jacklollz2 commented 1 year ago

Will be, building a report right now

jacklollz2 commented 1 year ago

After digging further, it appears to be my servers installation. Certain plugins are triggering this bug, not just essentials. Resetting the config folder of essentials fixed the bug for essentials, but there's other plugins triggering it now. I am beyond confused. Hey, at least we're making progress on solving the problem.

jacklollz2 commented 1 year ago
[20:11:41 INFO]: [vane-core] Loading head library...
[20:11:42 ERROR]: Could not load 'plugins\vane-core-1.10.1.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_19_R1/inventory/CraftItemStack
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:159) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:419) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:327) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R2.CraftServer.loadPlugins(CraftServer.java:481) ~[purpur-1.19.3.jar:git-Purpur-1861]
        at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:307) ~[purpur-1.19.3.jar:git-Purpur-1861]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1115) ~[purpur-1.19.3.jar:git-Purpur-1861]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[purpur-1.19.3.jar:git-Purpur-1861]
        at java.lang.Thread.run(Unknown Source) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_19_R1/inventory/CraftItemStack
        at org.oddlama.vane.core.Core.<init>(Core.java:132) ~[vane-core-1.10.1.jar:?]
        at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(Unknown Source) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source) ~[?:?]
        at java.lang.reflect.ReflectAccess.newInstance(Unknown Source) ~[?:?]
        at jdk.internal.reflect.ReflectionFactory.newInstance(Unknown Source) ~[?:?]
        at java.lang.Class.newInstance(Unknown Source) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:83) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:155) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        ... 7 more
Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack
        at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:177) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:124) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
        at org.oddlama.vane.core.Core.<init>(Core.java:132) ~[vane-core-1.10.1.jar:?]
        at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(Unknown Source) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source) ~[?:?]
        at java.lang.reflect.ReflectAccess.newInstance(Unknown Source) ~[?:?]
        at jdk.internal.reflect.ReflectionFactory.newInstance(Unknown Source) ~[?:?]
        at java.lang.Class.newInstance(Unknown Source) ~[?:?]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:83) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:155) ~[purpur-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        ... 7 more
jacklollz2 commented 1 year ago

Does this tell you anything?

oddlama commented 1 year ago

Yes, you seem to be using 1.19.3 while the plugin is only compatible with 1.19.2.

jacklollz2 commented 1 year ago

Yes, you seem to be using 1.19.3 while the plugin is only compatible with 1.19.2.

This error occurred after updating. I was just wondering if it was useful to you.