-
Notifications
You must be signed in to change notification settings - Fork 8
Server crashes on start 1.20.1 - NoClassDefFoundError: net/minecraft/class_437 #34
Description
Bug
The server crashes on startup due to a NoClassDefFoundError caused by the backrooms mod attempting to load a client-only class (net.minecraft.class_437) which does not exist in the server environment.
How to reproduce
Steps to reproduce the behavior:
- Install Fabric Loader 0.16.14 and Minecraft 1.20.1 server
- Place
backrooms-0.2.2+1.20.1.jarin themods/folder - Start the server
- Server crashes with a
NoClassDefFoundErrorfornet.minecraft.class_437
Expected behavior
The mod should separate client-only code from server code using proper @Environment(EnvType.CLIENT) checks, and avoid trying to load GUI-related classes on the server.
Informations
- OS: Debian 12 (running in Docker)
- Mod Version:
backrooms-0.2.2+1.20.1.jar - Minecraft Version:
1.20.1 - Logs:
Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_437 at org.vfast.backrooms.items.BackroomsItems.<clinit>(BackroomsItems.java:21) at org.vfast.backrooms.BackroomsMod.onInitialize(BackroomsMod.java:69) at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ...
May 20 15:36:16 minecraft java[13486]: java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'backrooms' at 'org.vfast.backrooms.BackroomsMod'!
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:403) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:401) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) ~[fabric-server-mc.1.20.1-loader.0.16.14-launcher.1.0.3.jar:1.0.3]
May 20 15:36:16 minecraft java[13486]: Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_437
May 20 15:36:16 minecraft java[13486]: at org.vfast.backrooms.items.BackroomsItems.<clinit>(BackroomsItems.java:21) ~[backrooms-0.2.2+1.20.1.jar:?]
May 20 15:36:16 minecraft java[13486]: at org.vfast.backrooms.BackroomsMod.onInitialize(BackroomsMod.java:69) ~[backrooms-0.2.2+1.20.1.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: ... 7 more
May 20 15:36:16 minecraft java[13486]: Caused by: java.lang.ClassNotFoundException: net.minecraft.class_437
May 20 15:36:16 minecraft java[13486]: at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
May 20 15:36:16 minecraft java[13486]: at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
May 20 15:36:16 minecraft java[13486]: at org.vfast.backrooms.items.BackroomsItems.<clinit>(BackroomsItems.java:21) ~[backrooms-0.2.2+1.20.1.jar:?]
May 20 15:36:16 minecraft java[13486]: at org.vfast.backrooms.BackroomsMod.onInitialize(BackroomsMod.java:69) ~[backrooms-0.2.2+1.20.1.jar:?]
May 20 15:36:16 minecraft java[13486]: at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399) ~[fabric-loader-0.16.14.jar:?]
May 20 15:36:16 minecraft java[13486]: ... 7 more
Additional context
This issue seems to be caused by the mod referencing the Minecraft Screen class (class_437), which only exists on the client. This makes the mod incompatible with dedicated servers unless corrected. The issue could be resolved by ensuring that any GUI-related code is only loaded in a client environment using @Environment(EnvType.CLIENT) annotations or Fabric's EnvironmentType.