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 () -> {
|
return () -> {
|
||||||
super.beforeStart(launchClassLoader);
|
super.beforeStart(launchClassLoader);
|
||||||
launchClassLoader.addTargetPackageFilter(getPackagePredicate());
|
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;
|
return null;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,13 @@ public class ServerModLoader
|
||||||
private static boolean hasErrors = false;
|
private static boolean hasErrors = false;
|
||||||
|
|
||||||
public static void gatherAndInit() {
|
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 {
|
try {
|
||||||
ModLoader.get().gatherAndInitializeMods(() -> {});
|
ModLoader.get().gatherAndInitializeMods(() -> {});
|
||||||
} catch (LoadingFailedException e) {
|
} catch (LoadingFailedException e) {
|
||||||
|
@ -47,9 +54,8 @@ public class ServerModLoader
|
||||||
|
|
||||||
public static void begin(DedicatedServer dedicatedServer) {
|
public static void begin(DedicatedServer dedicatedServer) {
|
||||||
ServerModLoader.server = dedicatedServer;
|
ServerModLoader.server = dedicatedServer;
|
||||||
SidedProvider.setServer(()->dedicatedServer);
|
SidedProvider.setServer(()->ServerModLoader.server);
|
||||||
LogicalSidedProvider.setServer(()->dedicatedServer);
|
LogicalSidedProvider.setServer(()->ServerModLoader.server);
|
||||||
LanguageHook.loadForgeAndMCLangs();
|
|
||||||
try {
|
try {
|
||||||
ModLoader.get().loadMods(Runnable::run, (a)->{}, (a)->{});
|
ModLoader.get().loadMods(Runnable::run, (a)->{}, (a)->{});
|
||||||
} catch (LoadingFailedException e) {
|
} catch (LoadingFailedException e) {
|
||||||
|
@ -65,7 +71,6 @@ public class ServerModLoader
|
||||||
} catch (LoadingFailedException e) {
|
} catch (LoadingFailedException e) {
|
||||||
ServerModLoader.hasErrors = true;
|
ServerModLoader.hasErrors = true;
|
||||||
throw e;
|
throw e;
|
||||||
|
|
||||||
}
|
}
|
||||||
List<ModLoadingWarning> warnings = ModLoader.get().getWarnings();
|
List<ModLoadingWarning> warnings = ModLoader.get().getWarnings();
|
||||||
if (!warnings.isEmpty()) {
|
if (!warnings.isEmpty()) {
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class FMLUserdevServerLaunchProvider extends FMLUserdevLaunchProvider imp
|
||||||
super.beforeStart(launchClassLoader);
|
super.beforeStart(launchClassLoader);
|
||||||
launchClassLoader.addTargetPackageFilter(getPackagePredicate());
|
launchClassLoader.addTargetPackageFilter(getPackagePredicate());
|
||||||
Thread.currentThread().setContextClassLoader(launchClassLoader.getInstance());
|
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;
|
return null;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue