mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 16:27:47 +00:00
Fix server side loading, tweak mods command.
Signed-off-by: cpw <cpw+github@weeksfamily.ca>
This commit is contained in:
6 files changed
+17
-5
No files matched your search
@@ -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;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user