Budschie / BudschieMorphMod

This is a port of the morph mod to forge 1.16.5
MIT License
11 stars 9 forks source link

Player data corruption #59

Open Ultraxime opened 2 years ago

Ultraxime commented 2 years ago

Hello, I am hosting a Minecraft server in 1.18.1 with several mods including bmorph. And some of my players had a PlayerData corruption which seems to come from bmorph. It seems to appear randomly but the two times it occurred, they left while morphed but when trying to rejoin they could not. It happened when morphs in vanilla phantom and a modded mob, leviathan. At the same time that the player morphed in phantom could not join, another player tried to morph in phantom and could not. I join you the output of the console when the player tried to join

[21:47:47] [Server thread/INFO]: LinuxFr joined the game
[21:47:47] [Server thread/ERROR]: Exception caught during firing event: Modifier is already applied on this attribute!
    Index: 2
    Listeners:
        0: NORMAL
        1: ASM: class mcp.mobius.waila.forge.ForgeWaila$Subscriber playerJoin(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        2: ASM: class de.budschie.bmorph.events.Events onPlayerJoined(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        3: ASM: sereneseasons.handler.season.SeasonHandler@120767bf onPlayerLogin(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        4: net.minecraftforge.eventbus.EventBus$$Lambda$3867/0x00000008015b2060@4c10eaac
        5: ASM: class com.mrcrayfish.backpacked.common.UnlockTracker onPlayerLoggedIn(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        6: net.minecraftforge.eventbus.EventBus$$Lambda$3867/0x00000008015b2060@4f289fdb
        7: ASM: stepsword.mahoutsukai.handlers.ServerHandler@2454ab2e playerLoggedIn(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        8: ASM: net.minecraftforge.common.ForgeInternalHandler@1d327671 playerLogin(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        9: ASM: class net.valhelsia.valhelsia_core.common.event.PlayerEvents onPlayerJoinWorld(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        10: ASM: de.erdbeerbaerlp.dcintegration.forge.DiscordIntegration@7971149a playerJoin(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        11: ASM: class com.github.alexthe666.alexsmobs.event.ServerEvents onPlayerLoggedIn(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        12: ASM: class mod.chiselsandbits.forge.events.PlayerLoggedInEventHandler onPlayerLoggedIn(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        13: ASM: class vazkii.quark.base.handler.ContributorRewardHandler onPlayerJoin(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        14: ASM: vazkii.quark.content.tweaks.module.AutomaticRecipeUnlockModule@2552b123 onPlayerLoggedIn(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
        15: ASM: tschipp.carryon.common.event.ItemEvents@7d4d817a onPlayerLogin(Lnet/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent;)V
java.lang.IllegalArgumentException: Modifier is already applied on this attribute!
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.world.entity.ai.attributes.AttributeInstance.m_22133_(AttributeInstance.java:73)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.world.entity.ai.attributes.AttributeInstance.m_22118_(AttributeInstance.java:81)
    at TRANSFORMER/bmorph@1.18.1-1.0.0/de.budschie.bmorph.morph.functionality.configurable.AttributeModifierAbility.enableAbility(AttributeModifierAbility.java:52)
    at TRANSFORMER/bmorph@1.18.1-1.0.0/de.budschie.bmorph.capabilities.DefaultMorphCapability.lambda$applyAbilities$5(DefaultMorphCapability.java:277)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
    at TRANSFORMER/bmorph@1.18.1-1.0.0/de.budschie.bmorph.capabilities.DefaultMorphCapability.applyAbilities(DefaultMorphCapability.java:277)
    at TRANSFORMER/bmorph@1.18.1-1.0.0/de.budschie.bmorph.events.Events.onPlayerJoined(Events.java:107)
    at net.minecraftforge.eventbus.ASMEventHandler_58_Events_onPlayerJoined_PlayerLoggedInEvent.invoke(.dynamic)
    at MC-BOOTSTRAP/eventbus@5.0.3/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85)
    at MC-BOOTSTRAP/eventbus@5.0.3/net.minecraftforge.eventbus.EventBus.post(EventBus.java:302)
    at MC-BOOTSTRAP/eventbus@5.0.3/net.minecraftforge.eventbus.EventBus.post(EventBus.java:283)
    at TRANSFORMER/forge@39.0.16/net.minecraftforge.event.ForgeEventFactory.firePlayerLoggedIn(ForgeEventFactory.java:810)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.players.PlayerList.m_11261_(PlayerList.java:237)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.network.ServerLoginPacketListenerImpl.m_143699_(ServerLoginPacketListenerImpl.java:138)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10055_(ServerLoginPacketListenerImpl.java:125)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10050_(ServerLoginPacketListenerImpl.java:69)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.network.Connection.m_129483_(Connection.java:229)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:142)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:882)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:328)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:808)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:668)
    at TRANSFORMER/minecraft@1.18.1/net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:258)
    at java.base/java.lang.Thread.run(Thread.java:833)

[21:47:47] [Server thread/ERROR]: Couldn't place player in world
java.lang.IllegalArgumentException: Modifier is already applied on this attribute!
    at net.minecraft.world.entity.ai.attributes.AttributeInstance.m_22133_(AttributeInstance.java:73) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.world.entity.ai.attributes.AttributeInstance.m_22118_(AttributeInstance.java:81) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at de.budschie.bmorph.morph.functionality.configurable.AttributeModifierAbility.enableAbility(AttributeModifierAbility.java:52) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.capabilities.DefaultMorphCapability.lambda$applyAbilities$5(DefaultMorphCapability.java:277) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    at de.budschie.bmorph.capabilities.DefaultMorphCapability.applyAbilities(DefaultMorphCapability.java:277) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.events.Events.onPlayerJoined(Events.java:107) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at net.minecraftforge.eventbus.ASMEventHandler_58_Events_onPlayerJoined_PlayerLoggedInEvent.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.event.ForgeEventFactory.firePlayerLoggedIn(ForgeEventFactory.java:810) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at net.minecraft.server.players.PlayerList.m_11261_(PlayerList.java:237) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_143699_(ServerLoginPacketListenerImpl.java:138) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10055_(ServerLoginPacketListenerImpl.java:125) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.network.ServerLoginPacketListenerImpl.m_10050_(ServerLoginPacketListenerImpl.java:69) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.network.Connection.m_129483_(Connection.java:229) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.network.ServerConnectionListener.m_9721_(ServerConnectionListener.java:142) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:882) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:328) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:808) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:668) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:258) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at java.lang.Thread.run(Thread.java:833) [?:?]
[21:47:47] [Server thread/INFO]: LinuxFr lost connection: Invalid player data

And when another player tried to morph into a phantom

[22:25:55] [Server thread/FATAL]: Error executing task on Server
java.lang.IllegalArgumentException: Modifier is already applied on this attribute!
    at net.minecraft.world.entity.ai.attributes.AttributeInstance.m_22133_(AttributeInstance.java:73) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.world.entity.ai.attributes.AttributeInstance.m_22118_(AttributeInstance.java:81) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at de.budschie.bmorph.morph.functionality.configurable.AttributeModifierAbility.enableAbility(AttributeModifierAbility.java:52) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.capabilities.DefaultMorphCapability.lambda$applyAbilities$5(DefaultMorphCapability.java:277) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    at de.budschie.bmorph.capabilities.DefaultMorphCapability.applyAbilities(DefaultMorphCapability.java:277) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.morph.MorphUtil.morphToServer(MorphUtil.java:90) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.morph.MorphUtil.morphToServer(MorphUtil.java:31) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.network.MorphRequestMorphIndexChange.lambda$handle$0(MorphRequestMorphIndexChange.java:59) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at net.minecraftforge.network.NetworkEvent$Context.enqueueWork(NetworkEvent.java:222) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at de.budschie.bmorph.network.MorphRequestMorphIndexChange.handle(MorphRequestMorphIndexChange.java:37) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at de.budschie.bmorph.network.MorphRequestMorphIndexChange.handle(MorphRequestMorphIndexChange.java:20) ~[bmorph-1.18.1-1.0.0.jar%2345!:1.18.1-1.0.0]
    at net.minecraftforge.network.simple.IndexedMessageCodec.lambda$tryDecode$3(IndexedMessageCodec.java:128) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at java.util.Optional.ifPresent(Optional.java:178) ~[?:?]
    at net.minecraftforge.network.simple.IndexedMessageCodec.tryDecode(IndexedMessageCodec.java:128) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at net.minecraftforge.network.simple.IndexedMessageCodec.consume(IndexedMessageCodec.java:162) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at net.minecraftforge.network.simple.SimpleChannel.networkEventListener(SimpleChannel.java:82) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-5.0.3.jar%232!:?]
    at net.minecraftforge.network.NetworkInstance.dispatch(NetworkInstance.java:82) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at net.minecraftforge.network.NetworkHooks.lambda$onCustomPayload$1(NetworkHooks.java:89) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at java.util.Optional.map(Optional.java:260) ~[?:?]
    at net.minecraftforge.network.NetworkHooks.onCustomPayload(NetworkHooks.java:89) ~[forge-1.18.1-39.0.16-universal.jar%2387!:?]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.m_7423_(ServerGamePacketListenerImpl.java:1416) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.m_5797_(ServerboundCustomPayloadPacket.java:35) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket.m_5797_(ServerboundCustomPayloadPacket.java:8) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:21) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:151) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:765) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:161) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:125) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:748) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:742) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:110) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:727) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:672) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:258) ~[server-1.18.1-20211210.034407-srg.jar%2383!:?]
    at java.lang.Thread.run(Thread.java:833) [?:?]

I hope we can find a solution because erasing my players' playerdata is not my joy.

Thank you for any answer.

franseyer commented 1 year ago

It is solved by removing the optifine but I don't know what the problem is between the two