Fix server side loading, tweak mods command.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This commit is contained in:
parent
83a0dc2ef9
commit
256bd01e0c
|
@ -358,7 +358,7 @@ project(':forge') {
|
|||
installer 'cpw.mods:modlauncher:2.1.+'
|
||||
installer 'cpw.mods:grossjava9hacks:1.1.+'
|
||||
installer 'net.minecraftforge:accesstransformers:0.16.+:shadowed'
|
||||
installer 'net.minecraftforge:eventbus:0.9.+:service'
|
||||
installer 'net.minecraftforge:eventbus:0.10.+:service'
|
||||
installer 'net.minecraftforge:forgespi:0.13.+'
|
||||
installer 'net.minecraftforge:coremods:0.5.+'
|
||||
installer 'net.minecraftforge:unsafe:0.2.+'
|
||||
|
|
|
@ -38,7 +38,7 @@ public class MinecraftForge
|
|||
* ORE_GEN_BUS for ore gen events
|
||||
* EVENT_BUS for everything else
|
||||
*/
|
||||
public static final IEventBus EVENT_BUS = BusBuilder.builder().build();
|
||||
public static final IEventBus EVENT_BUS = BusBuilder.builder().startShutdown().build();
|
||||
|
||||
static final ForgeInternalHandler INTERNAL_HANDLER = new ForgeInternalHandler();
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
|
|
@ -40,6 +40,7 @@ import java.util.function.BiConsumer;
|
|||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static net.minecraftforge.fml.Logging.LOADING;
|
||||
|
||||
|
@ -187,4 +188,8 @@ public class ModList
|
|||
public void forEachModContainer(BiConsumer<String, ModContainer> modContainerConsumer) {
|
||||
indexedMods.forEach(modContainerConsumer);
|
||||
}
|
||||
|
||||
public <T> Stream<T> applyForEachModContainer(Function<ModContainer, T> function) {
|
||||
return indexedMods.values().stream().map(function);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,9 +61,7 @@ public class ClientModLoader
|
|||
try {
|
||||
ModLoader.get().gatherAndInitializeMods();
|
||||
} catch (LoadingFailedException e) {
|
||||
MinecraftForge.EVENT_BUS.shutdown();
|
||||
error = e;
|
||||
TEMP_printLoadingExceptions(e);
|
||||
}
|
||||
ResourcePackLoader.loadResourcePacks(defaultResourcePacks);
|
||||
mcResourceManager.addReloadListener(ClientModLoader::onreload);
|
||||
|
@ -126,6 +124,10 @@ public class ClientModLoader
|
|||
} else {
|
||||
ClientHooks.logMissingTextureErrors();
|
||||
}
|
||||
if (error != null) {
|
||||
// We can finally start the forge eventbus up
|
||||
MinecraftForge.EVENT_BUS.start();
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isLoading()
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
package net.minecraftforge.fml.server;
|
||||
|
||||
import net.minecraft.server.dedicated.DedicatedServer;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.LogicalSidedProvider;
|
||||
import net.minecraftforge.fml.ModLoader;
|
||||
import net.minecraftforge.fml.ModLoadingWarning;
|
||||
|
@ -41,6 +42,7 @@ public class ServerModLoader
|
|||
SidedProvider.setServer(()->dedicatedServer);
|
||||
LogicalSidedProvider.setServer(()->dedicatedServer);
|
||||
LanguageHook.loadForgeAndMCLangs();
|
||||
ModLoader.get().gatherAndInitializeMods();
|
||||
ModLoader.get().loadMods();
|
||||
}
|
||||
|
||||
|
@ -51,6 +53,7 @@ public class ServerModLoader
|
|||
LOGGER.warn(LOADING, "Mods loaded with {} warnings", warnings.size());
|
||||
warnings.forEach(warning -> LOGGER.warn(LOADING, warning.formatToString()));
|
||||
}
|
||||
MinecraftForge.EVENT_BUS.start();
|
||||
server.getServerStatusResponse().setForgeData(new FMLStatusPing()); //gathers NetworkRegistry data
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,7 +35,9 @@ public class CommandModList {
|
|||
.requires(cs->cs.hasPermissionLevel(0)) //permission
|
||||
.executes(ctx -> {
|
||||
ctx.getSource().sendFeedback(new TranslationTextComponent("commands.forge.mods.list",
|
||||
ModList.get().getMods().stream().map(ModInfo::getModId).collect(Collectors.joining(","))),
|
||||
ModList.get().applyForEachModContainer(
|
||||
mc->String.format("%s:%s(%s)", mc.getModId(), mc.getModInfo().getVersion().toString(), mc.getCurrentState())).
|
||||
collect(Collectors.joining(","))),
|
||||
true);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue