STEMMechanics / STEMCraft-Core

The core plugin that runs the STEMCraft Minecraft Server
https://www.stemcraft.com.au
MIT License
1 stars 1 forks source link

Error deserializing ItemMeta in GameModeInventories feature #11

Closed nomadjimbob closed 10 months ago

nomadjimbob commented 10 months ago

It is caused by the string display-map-color({alpha=-1, red=-1, green=0, blue=0}) not being able to be converted to the class org.bukkit.Color in the SMAdapterItemStack class.

Stacktrace

[org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static org.bukkit.inventory.meta.ItemMeta org.bukkit.craftbukkit.v1_20_R2.inventory.CraftMetaItem$SerializableMeta.deserialize(java.util.Map) throws java.lang.Throwable' of class org.bukkit.craftbukkit.v1_20_R2.inventory.CraftMetaItem$SerializableMeta for deserialization
java.lang.IllegalArgumentException: display-map-color({alpha=-1, red=-1, green=0, blue=0}) is not a valid class org.bukkit.Color
    at org.bukkit.craftbukkit.v1_20_R2.inventory.CraftMetaItem$SerializableMeta.getObject(CraftMetaItem.java:241) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at org.bukkit.craftbukkit.v1_20_R2.inventory.CraftMetaMap.<init>(CraftMetaMap.java:88) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
    at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
    at org.bukkit.craftbukkit.v1_20_R2.inventory.CraftMetaItem$SerializableMeta.deserialize(CraftMetaItem.java:205) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at jdk.internal.reflect.GeneratedMethodAccessor110.invoke(Unknown Source) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeViaMethod(ConfigurationSerialization.java:85) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.configuration.serialization.ConfigurationSerialization.deserialize(ConfigurationSerialization.java:127) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.configuration.serialization.ConfigurationSerialization.deserializeObject(ConfigurationSerialization.java:207) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at com.stemcraft.core.adapters.SMAdapterItemMeta.deserialize(SMAdapterItemMeta.java:27) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.core.adapters.SMAdapterItemMeta.deserialize(SMAdapterItemMeta.java:11) ~[STEMCraft-1.0.0.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1227) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1329) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1300) ~[gson-2.10.1.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:179) ~[gson-2.10.1.jar:?]
    at com.stemcraft.core.adapters.SMAdapterItemStack.deserialize(SMAdapterItemStack.java:43) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.core.adapters.SMAdapterItemStack.deserialize(SMAdapterItemStack.java:17) ~[STEMCraft-1.0.0.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1227) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1329) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1300) ~[gson-2.10.1.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:179) ~[gson-2.10.1.jar:?]
    at com.stemcraft.core.adapters.SMAdapterItemStackArray.deserialize(SMAdapterItemStackArray.java:28) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.core.adapters.SMAdapterItemStackArray.deserialize(SMAdapterItemStackArray.java:10) ~[STEMCraft-1.0.0.jar:?]
    at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:76) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1227) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1137) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:1047) ~[gson-2.10.1.jar:?]
    at com.google.gson.Gson.fromJson(Gson.java:982) ~[gson-2.10.1.jar:?]
    at com.stemcraft.core.SMJson.fromJson(SMJson.java:90) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.feature.SMGameModeInventories.LoadLastInventory(SMGameModeInventories.java:192) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.feature.SMGameModeInventories.LoadLastInventory(SMGameModeInventories.java:146) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.feature.SMGameModeInventories.lambda$onEnable$4(SMGameModeInventories.java:114) ~[STEMCraft-1.0.0.jar:?]
    at com.stemcraft.core.event.SMEvent.lambda$register$0(SMEvent.java:27) ~[STEMCraft-1.0.0.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:git-Purpur-2082]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.server.level.ServerPlayerGameMode.changeGameModeForPlayer(ServerPlayerGameMode.java:90) ~[?:?]
    at net.minecraft.server.level.ServerPlayer.setGameMode(ServerPlayer.java:2015) ~[?:?]
    at org.bukkit.craftbukkit.v1_20_R2.entity.CraftPlayer.setGameMode(CraftPlayer.java:1727) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at com.bergerkiller.bukkit.mw.WorldConfig.updateGamemode(WorldConfig.java:781) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.mw.WorldConfig.onPlayerEnter(WorldConfig.java:659) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.mw.MWListener.onPlayerChangedWorld(MWListener.java:433) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor304.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:git-Purpur-2082]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.server.players.PlayerList.respawn(PlayerList.java:970) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.server.players.PlayerList.respawn(PlayerList.java:800) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at org.bukkit.craftbukkit.v1_20_R2.entity.CraftPlayer.teleport(CraftPlayer.java:1406) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at org.bukkit.craftbukkit.v1_20_R2.entity.CraftPlayer.teleport(CraftPlayer.java:1267) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at com.bergerkiller.bukkit.common.entity.CommonEntity.teleport(CommonEntity.java:577) ~[BKCommonLib-1.20.2-v1-1634.jar:?]
    at com.bergerkiller.bukkit.common.entity.type.CommonPlayer.teleport(CommonPlayer.java:50) ~[BKCommonLib-1.20.2-v1-1634.jar:?]
    at com.bergerkiller.bukkit.common.bases.ExtendedEntity.teleport(ExtendedEntity.java:1182) ~[BKCommonLib-1.20.2-v1-1634.jar:?]
    at com.bergerkiller.bukkit.common.utils.EntityUtil.teleport(EntityUtil.java:146) ~[BKCommonLib-1.20.2-v1-1634.jar:?]
    at com.bergerkiller.bukkit.mw.WorldManager.teleportToExact(WorldManager.java:640) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.mw.WorldManager.teleportToWorld(WorldManager.java:665) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.mw.commands.TeleportPortal.execute(TeleportPortal.java:112) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.mw.commands.registry.MyWorldsCommands.execute(MyWorldsCommands.java:45) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.mw.MyWorlds.command(MyWorlds.java:412) ~[MyWorlds-1.20.2-v1-251.jar:?]
    at com.bergerkiller.bukkit.common.PluginBase.onCommand(PluginBase.java:1093) ~[BKCommonLib-1.20.2-v1-1634.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.craftbukkit.v1_20_R2.CraftServer.dispatchCommand(CraftServer.java:1003) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.goldtreeservers.worldguardextraflags.wg.handlers.ConsoleCommandOnEntryFlagHandler.onCrossBoundary(ConsoleCommandOnEntryFlagHandler.java:58) ~[WorldGuardExtraFlags-4.2.2.jar:?]
    at com.sk89q.worldguard.session.Session.testMoveTo(Session.java:235) ~[worldguard-bukkit-7.0.9-dist.jar:?]
    at com.sk89q.worldguard.session.Session.testMoveTo(Session.java:195) ~[worldguard-bukkit-7.0.9-dist.jar:?]
    at com.sk89q.worldguard.bukkit.listener.PlayerMoveListener.onPlayerMove(PlayerMoveListener.java:105) ~[worldguard-bukkit-7.0.9-dist.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor172.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:git-Purpur-2082]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:617) ~[purpur-api-1.20.2-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1588) ~[?:?]
    at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:29) ~[?:?]
    at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$PosRot.handle(ServerboundMovePlayerPacket.java:88) ~[?:?]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:53) ~[?:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.20.2.jar:git-Purpur-2082]
    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:1351) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:193) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1328) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1321) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1299) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1187) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~[purpur-1.20.2.jar:git-Purpur-2082]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
nomadjimbob commented 10 months ago

fixed in pull request