Tweak the server startup a bit, make sure methods that can't work because they run before a server exists explode saying so.
Also fix other launch profiles. Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This commit is contained in:
parent
99917e569c
commit
41a6d70aee
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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<ModLoadingWarning> warnings = ModLoader.get().getWarnings();
|
||||
if (!warnings.isEmpty()) {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue