mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 08:17:35 +00:00
Only add sorted/deduplicated mods to the classpath.
Fixes some mods causing the Forge error displays to break. Closes #9833
This commit is contained in:
6 files changed
+50
-38
No files matched your search
@@ -469,7 +469,7 @@ public class ForgeHooksClient {
|
||||
// TODO Do we need this?
|
||||
public static void fillNormal(int[] faceData, Direction facing, boolean calculateNormals) {
|
||||
Vector3f v2;
|
||||
if (calculateNormals || ForgeConfig.CLIENT.calculateAllNormals.get()) {
|
||||
if (calculateNormals || ForgeConfig.CLIENT.calculateAllNormals()) {
|
||||
Vector3f v1 = getVertexPos(faceData, 3);
|
||||
Vector3f t1 = getVertexPos(faceData, 1);
|
||||
v2 = getVertexPos(faceData, 2);
|
||||
|
||||
@@ -5,24 +5,12 @@
|
||||
|
||||
package net.minecraftforge.client.loading;
|
||||
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.*;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.packs.repository.RepositorySource;
|
||||
import net.minecraft.server.packs.repository.Pack.Info;
|
||||
import net.minecraft.server.packs.resources.PreparableReloadListener;
|
||||
import net.minecraft.server.packs.repository.PackSource;
|
||||
import net.minecraft.server.packs.resources.ReloadableResourceManager;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
import net.minecraft.server.packs.repository.Pack;
|
||||
import net.minecraft.server.packs.repository.PackRepository;
|
||||
import net.minecraft.world.level.DataPackConfig;
|
||||
import net.minecraftforge.event.AddPackFindersEvent;
|
||||
@@ -31,26 +19,19 @@ import net.minecraftforge.fml.loading.ImmediateWindowHandler;
|
||||
import net.minecraftforge.internal.BrandingControl;
|
||||
import net.minecraftforge.logging.CrashReportExtender;
|
||||
import net.minecraftforge.common.util.LogicalSidedProvider;
|
||||
import net.minecraftforge.forgespi.locating.IModFile;
|
||||
import net.minecraftforge.resource.PathPackResources;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import net.minecraft.SharedConstants;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.profiling.ProfilerFiller;
|
||||
import net.minecraft.server.packs.PackResources;
|
||||
import net.minecraft.server.packs.PackType;
|
||||
import net.minecraft.server.packs.metadata.pack.PackMetadataSection;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.common.ForgeConfig;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.client.gui.LoadingErrorScreen;
|
||||
import net.minecraftforge.resource.DelegatingPackResources;
|
||||
import net.minecraftforge.resource.ResourcePackLoader;
|
||||
import net.minecraftforge.server.LanguageHook;
|
||||
import net.minecraftforge.forgespi.language.IModInfo;
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public class ClientModLoader {
|
||||
@@ -117,12 +98,7 @@ public class ClientModLoader {
|
||||
|
||||
public static boolean completeModLoading() {
|
||||
var warnings = ModLoader.get().getWarnings();
|
||||
boolean showWarnings = true;
|
||||
try {
|
||||
showWarnings = ForgeConfig.CLIENT.showLoadWarnings.get();
|
||||
} catch (NullPointerException | IllegalStateException e) {
|
||||
// We're in an early error state, config is not available. Assume true.
|
||||
}
|
||||
boolean showWarnings = ForgeConfig.CLIENT.showLoadWarnings();
|
||||
|
||||
if (!showWarnings) {
|
||||
//User disabled warning screen, as least log them
|
||||
|
||||
@@ -158,6 +158,16 @@ public class ForgeConfig {
|
||||
|
||||
builder.pop();
|
||||
}
|
||||
|
||||
// Allow these to be called before the config is loaded because its used before loading the error screens.
|
||||
// Prevents a ton of spam when an error screen is displayed.
|
||||
public final boolean calculateAllNormals() {
|
||||
return clientSpec.isLoaded() ? calculateAllNormals.get() : calculateAllNormals.getDefault();
|
||||
}
|
||||
|
||||
public final boolean showLoadWarnings() {
|
||||
return clientSpec.isLoaded() ? showLoadWarnings.get() : showLoadWarnings.getDefault();
|
||||
}
|
||||
}
|
||||
|
||||
static final ForgeConfigSpec clientSpec;
|
||||
|
||||
Reference in new issue
Block a user