GabrielOlvH / Industrial-Revolution

An Industrial mod made for Fabric.
Apache License 2.0
193 stars 56 forks source link

[BUG] Industrial Revolution crashes dedicated server on startup with NoSuchFieldError #596

Open Moire9 opened 2 weeks ago

Moire9 commented 2 weeks ago

Description: It's not possible to start a server with Industrial Revolution, due to a NoSuchFieldError in the MachineRegistry object initializer (MachineRegistry#<init>), trying to find the field MachineRegistry#modelProvider of type Map. Such a field does exist on line 59, but is marked as a client-side only field with an annotation. Thus it cannot be found on the server. I tried to clone the repo to try removing the annotation to see if it would fix the bug, but I can't get the mod to build.

Steps to Reproduce:

Technical Information:

Logs: server log

Details: Full stack trace so you don't have to look at the log:

[22:40:49] [main/ERROR]: Failed to start the minecraft server
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'indrev'!
        at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:388) ~[fabric-loader-0.15.11.jar:?]
        at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.15.11.jar:?]
        at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:386) ~[fabric-loader-0.15.11.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.15.11.jar:?]
        at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.15.11.jar:?]
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.15.11.jar:?]
Caused by: java.lang.NoSuchFieldError: Class me.steven.indrev.registry.MachineRegistry does not have member field 'java.util.Map modelProvider'
        at me.steven.indrev.registry.MachineRegistry.<init>(MachineRegistry.kt:59) ~[indrev-1.16.5-BETA.jar:?]
        at me.steven.indrev.registry.MachineRegistry.<clinit>(MachineRegistry.kt:188) ~[indrev-1.16.5-BETA.jar:?]
        at me.steven.indrev.IndustrialRevolution.onInitialize(IndustrialRevolution.kt:67) ~[indrev-1.16.5-BETA.jar:?]
        at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384) ~[fabric-loader-0.15.11.jar:?]
        ... 6 more