BackroomsMod icon indicating copy to clipboard operation
BackroomsMod copied to clipboard

Server crashes on start 1.20.1 - NoClassDefFoundError: net/minecraft/class_437

Open noname9312 opened this issue 7 months ago • 0 comments

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:

  1. Install Fabric Loader 0.16.14 and Minecraft 1.20.1 server
  2. Place backrooms-0.2.2+1.20.1.jar in the mods/ folder
  3. Start the server
  4. Server crashes with a NoClassDefFoundError for net.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.

noname9312 avatar May 20 '25 15:05 noname9312