diff --git a/src/fmllauncher/java/net/minecraftforge/fml/loading/FMLServerLaunchProvider.java b/src/fmllauncher/java/net/minecraftforge/fml/loading/FMLServerLaunchProvider.java index cbb719fdc..51277fd29 100644 --- a/src/fmllauncher/java/net/minecraftforge/fml/loading/FMLServerLaunchProvider.java +++ b/src/fmllauncher/java/net/minecraftforge/fml/loading/FMLServerLaunchProvider.java @@ -48,7 +48,7 @@ public class FMLServerLaunchProvider extends FMLCommonLaunchHandler implements I return () -> { super.beforeStart(launchClassLoader); launchClassLoader.addTargetPackageFilter(getPackagePredicate()); - Class.forName("net.minecraft.server.MinecraftServer", true, launchClassLoader.getInstance()).getMethod("main", String[].class).invoke(null, (Object)arguments); + Class.forName("net.minecraft.server.Main", true, launchClassLoader.getInstance()).getMethod("main", String[].class).invoke(null, (Object)arguments); return null; }; } diff --git a/src/main/java/net/minecraftforge/fml/server/ServerModLoader.java b/src/main/java/net/minecraftforge/fml/server/ServerModLoader.java index 1c0ade68a..07d773d4b 100644 --- a/src/main/java/net/minecraftforge/fml/server/ServerModLoader.java +++ b/src/main/java/net/minecraftforge/fml/server/ServerModLoader.java @@ -37,6 +37,13 @@ public class ServerModLoader private static boolean hasErrors = false; public static void gatherAndInit() { + LanguageHook.loadForgeAndMCLangs(); + SidedProvider.setServer(()-> { + throw new IllegalStateException("Unable to access server yet"); + }); + LogicalSidedProvider.setServer(()-> { + throw new IllegalStateException("Unable to access server yet"); + }); try { ModLoader.get().gatherAndInitializeMods(() -> {}); } catch (LoadingFailedException e) { @@ -47,9 +54,8 @@ public class ServerModLoader public static void begin(DedicatedServer dedicatedServer) { ServerModLoader.server = dedicatedServer; - SidedProvider.setServer(()->dedicatedServer); - LogicalSidedProvider.setServer(()->dedicatedServer); - LanguageHook.loadForgeAndMCLangs(); + SidedProvider.setServer(()->ServerModLoader.server); + LogicalSidedProvider.setServer(()->ServerModLoader.server); try { ModLoader.get().loadMods(Runnable::run, (a)->{}, (a)->{}); } catch (LoadingFailedException e) { @@ -65,7 +71,6 @@ public class ServerModLoader } catch (LoadingFailedException e) { ServerModLoader.hasErrors = true; throw e; - } List warnings = ModLoader.get().getWarnings(); if (!warnings.isEmpty()) { diff --git a/src/userdev/java/net/minecraftforge/userdev/FMLUserdevServerLaunchProvider.java b/src/userdev/java/net/minecraftforge/userdev/FMLUserdevServerLaunchProvider.java index 5d729319b..b20b084a6 100644 --- a/src/userdev/java/net/minecraftforge/userdev/FMLUserdevServerLaunchProvider.java +++ b/src/userdev/java/net/minecraftforge/userdev/FMLUserdevServerLaunchProvider.java @@ -51,7 +51,7 @@ public class FMLUserdevServerLaunchProvider extends FMLUserdevLaunchProvider imp super.beforeStart(launchClassLoader); launchClassLoader.addTargetPackageFilter(getPackagePredicate()); Thread.currentThread().setContextClassLoader(launchClassLoader.getInstance()); - Class.forName("net.minecraft.server.MinecraftServer", true, launchClassLoader.getInstance()).getMethod("main", String[].class).invoke(null, (Object)arguments); + Class.forName("net.minecraft.server.Main", true, launchClassLoader.getInstance()).getMethod("main", String[].class).invoke(null, (Object)arguments); return null; }; }