JSJBDEV / PlatosTransporters

a "spiritual successor" to Archemides Ships/ Da Vincis Vessels, completely rewritten for fabric 1.16, supporting fabric and forge 1.16 and 1.15
https://www.curseforge.com/minecraft/mc-mods/platos-transporters
MIT License
13 stars 14 forks source link

[1.16.5/Forge] Server crashes on disassembly/lift jack #38

Closed Antollo closed 3 years ago

Antollo commented 3 years ago

Forge version 36.0.1

Server crashes when using Lift Jack from outside the ship.

[12:47:21] [Server thread/INFO] [minecraft/DedicatedServer]: [Antollo: Set own game mode to Creative Mode]
[12:47:29] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 2274ms or 45 ticks behind
[12:47:55] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 11177ms or 223 ticks behind
[12:48:21] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 11189ms or 223 ticks behind
[12:49:24] [Server thread/INFO] [STDOUT/]: [gd.rf.acro.platos.blocks.BlockControlWheel:func_225533_a_:179]: blocks: 15
[12:49:24] [Server thread/INFO] [STDOUT/]: [gd.rf.acro.platos.blocks.BlockControlWheel:func_225533_a_:180]: balances: 80
[12:49:48] [Server thread/FATAL] [minecraft/ThreadTaskExecutor]: Error executing task on Server
java.lang.NullPointerException: null
        at gd.rf.acro.platos.entity.BlockShipEntity.func_184199_a(BlockShipEntity.java:233) ~[platos:1.4.5] {re:classloading}
        at net.minecraft.network.play.ServerPlayNetHandler.func_147340_a(ServerPlayNetHandler.java:1197) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CUseEntityPacket.func_148833_a(SourceFile:74) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CUseEntityPacket.func_148833_a(SourceFile:13) ~[?:?] {re:classloading}
        at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:classloading}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:696) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_281] {}
[12:49:48] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
java.lang.NoSuchMethodError: gd.rf.acro.platos.PlatosTransporters.givePlayerStartBook(Lnet/minecraft/entity/player/PlayerEntity;)V
        at gd.rf.acro.platos.items.LiftJackItem.func_195939_a(LiftJackItem.java:55) ~[platos:1.4.5] {re:classloading}
        at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:613) ~[forge:?] {re:classloading}
        at net.minecraft.item.ItemStack.func_196084_a(ItemStack.java:184) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
        at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:350) ~[?:?] {re:classloading}
        at net.minecraft.network.play.ServerPlayNetHandler.func_184337_a(ServerPlayNetHandler.java:958) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:36) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:10) ~[?:?] {re:classloading}
        at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:classloading}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:696) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_281] {}
[12:49:48] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID cb57e452-c40b-46af-9358-ee81b774b610

Server crashes when using Disassembly Wrench from outside the ship.

[12:52:04] [Server thread/INFO] [minecraft/DedicatedServer]: Antollo joined the game
[12:52:29] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 2105ms or 42 ticks behind
[12:52:44] [Server thread/INFO] [STDOUT/]: [gd.rf.acro.platos.blocks.BlockControlWheel:func_225533_a_:179]: blocks: 15
[12:52:44] [Server thread/INFO] [STDOUT/]: [gd.rf.acro.platos.blocks.BlockControlWheel:func_225533_a_:180]: balances: 80
[12:52:59] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
java.lang.NoSuchMethodError: gd.rf.acro.platos.PlatosTransporters.givePlayerStartBook(Lnet/minecraft/entity/player/PlayerEntity;)V
        at gd.rf.acro.platos.items.WrenchItem.func_77659_a(WrenchItem.java:31) ~[platos:1.4.5] {re:classloading}
        at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:214) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
        at net.minecraft.server.management.PlayerInteractionManager.func_187250_a(PlayerInteractionManager.java:287) ~[?:?] {re:classloading}
        at net.minecraft.network.play.ServerPlayNetHandler.func_147346_a(ServerPlayNetHandler.java:982) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CPlayerTryUseItemPacket.func_148833_a(SourceFile:31) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CPlayerTryUseItemPacket.func_148833_a(SourceFile:9) ~[?:?] {re:classloading}
        at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:classloading}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:695) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_281] {}
[12:52:59] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID 35c84afc-3e74-4f1b-8535-8c56902a9145

Server crashes when using Lift Jack on board.

[13:12:01] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 2114ms or 42 ticks behind
[13:12:17] [Server thread/INFO] [STDOUT/]: [gd.rf.acro.platos.blocks.BlockControlWheel:func_225533_a_:179]: blocks: 27
[13:12:17] [Server thread/INFO] [STDOUT/]: [gd.rf.acro.platos.blocks.BlockControlWheel:func_225533_a_:180]: balances: 80
[13:12:17] [Server thread/WARN] [minecraft/ServerPlayNetHandler]: entity.platos.block_ship (vehicle of Antollo) moved too quickly! 72.63680037339772,-62.731006043844175,114.57321721892396
[13:12:21] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
java.lang.NoSuchMethodError: gd.rf.acro.platos.PlatosTransporters.givePlayerStartBook(Lnet/minecraft/entity/player/PlayerEntity;)V
        at gd.rf.acro.platos.items.LiftJackItem.func_195939_a(LiftJackItem.java:55) ~[platos:1.4.5] {re:classloading}
        at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:613) ~[forge:?] {re:classloading}
        at net.minecraft.item.ItemStack.func_196084_a(ItemStack.java:184) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
        at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:350) ~[?:?] {re:classloading}
        at net.minecraft.network.play.ServerPlayNetHandler.func_184337_a(ServerPlayNetHandler.java:958) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:36) ~[?:?] {re:classloading}
        at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:10) ~[?:?] {re:classloading}
        at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {re:classloading}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:classloading}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] {re:classloading,pl:accesstransformer:B}
        at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:695) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_281] {}
[13:12:21] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID 394cceec-235a-412c-bbe5-b77a141a57b5
JSJBDEV commented 3 years ago

which version of platos are you using?

Antollo commented 3 years ago

1.4.5

Pfahli commented 3 years ago

I have the same error on Forge Version 1.6.4 both with Platos 1.4.5 and 1.4.6. 1.4.3 worked fine (But I prefer the latest version handlingwise).

It seems that the method givePlayerStartBook is called as soon as the Lift Jack is used.

Heres the most recent crash report: crash-2021-03-02_22.46.31-server.txt

Edit: I was curious, so I looked a little deeper into it. When I checked the "PlatosTransporters.java" inside the .jar file I found an @OnlyIn(Dist.Client) in front of the definition of the method "givePlayerStartBook". I assume this means that the method will only be available on the client side of minecraft, not on the server-side.

@OnlyIn(Dist.CLIENT)
    public static void givePlayerStartBook(final PlayerEntity playerEntity) {
        [...]
        }
    }

So that might cause the crash as the method is called in "LiftJackItem.java", "WrenchItem.java" and "ControlKeyItem.java".

I'm not that deep in java, so its only a guess, but I hope it helps a little bit.

JSJBDEV commented 3 years ago

I think ive just fixed it, check 1.4.7 when its verified

Pfahli commented 3 years ago

Nice, I'll check it out right away :-)

Thanks for the quick reaction.

Edit: Seems to work perfectly for me! Great job, thanks for the quick fix!

JSJBDEV commented 3 years ago

thanks for the quick response back again, I think that officially means I can close the issue