Skip loading models if there is a fatal mod dependency error (#3772) Close #3768

This commit is contained in:
mezz 2017-04-07 16:48:00 -07:00 committed by LexManos
parent 901df8345c
commit 15aee5b18a
2 changed files with 11 additions and 1 deletions

View file

@ -94,6 +94,7 @@ import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidUtil;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fml.client.FMLClientHandler;
import net.minecraftforge.fml.common.FMLLog;
import net.minecraftforge.fml.common.ProgressManager;
import net.minecraftforge.fml.common.ProgressManager.ProgressBar;
@ -151,6 +152,9 @@ public final class ModelLoader extends ModelBakery
@Override
public IRegistry<ModelResourceLocation, IBakedModel> setupModelRegistry()
{
if (FMLClientHandler.instance().hasError()) // skip loading models if we're just going to show a fatal error screen
return bakedRegistry;
isLoading = true;
loadBlocks();
loadVariantItemModels();

View file

@ -333,6 +333,12 @@ public class FMLClientHandler implements IFMLSidedHandler
client.displayCrashReport(new CrashReport(message, t));
throw Throwables.propagate(t);
}
public boolean hasError()
{
return modsMissing != null || wrongMC != null || customError != null || dupesFound != null || modSorting != null || j8onlymods != null || multipleModsErrored != null;
}
/**
* Called a bit later on during initialization to finish loading mods
* Also initializes key bindings
@ -340,7 +346,7 @@ public class FMLClientHandler implements IFMLSidedHandler
*/
public void finishMinecraftLoading()
{
if (modsMissing != null || wrongMC != null || customError!=null || dupesFound!=null || modSorting!=null || j8onlymods!=null || multipleModsErrored !=null)
if (hasError())
{
SplashProgress.finish();
return;