use of net.minecraftforge.fml.common.MissingModsException in project MinecraftForge by MinecraftForge.
the class FMLClientHandler method beginMinecraftLoading.
/**
* Called to start the whole game off
*
* @param minecraft The minecraft instance being launched
* @param resourcePackList The resource pack list we will populate with mods
* @param resourceManager The resource manager
*/
@SuppressWarnings("unchecked")
public void beginMinecraftLoading(Minecraft minecraft, List<IResourcePack> resourcePackList, IReloadableResourceManager resourceManager, MetadataSerializer metaSerializer) {
detectOptifine();
SplashProgress.start();
client = minecraft;
this.resourcePackList = resourcePackList;
this.metaSerializer = metaSerializer;
this.resourcePackMap = Maps.newHashMap();
if (minecraft.isDemo()) {
FMLLog.severe("DEMO MODE DETECTED, FML will not work. Finishing now.");
haltGame("FML will not run in demo mode", new RuntimeException());
return;
}
List<String> injectedModContainers = FMLCommonHandler.instance().beginLoading(this);
try {
Loader.instance().loadMods(injectedModContainers);
} catch (WrongMinecraftVersionException wrong) {
wrongMC = wrong;
} catch (DuplicateModsFoundException dupes) {
dupesFound = dupes;
} catch (Java8VersionException j8mods) {
j8onlymods = j8mods;
} catch (MissingModsException missing) {
modsMissing = missing;
} catch (ModSortingException sorting) {
modSorting = sorting;
} catch (CustomModLoadingErrorDisplayException custom) {
FMLLog.log(Level.ERROR, custom, "A custom exception was thrown by a mod, the game will now halt");
customError = custom;
} catch (MultipleModsErrored multiple) {
multipleModsErrored = multiple;
} catch (LoaderException le) {
haltGame("There was a severe problem during mod loading that has caused the game to fail", le);
return;
} finally {
client.refreshResources();
}
try {
Loader.instance().preinitializeMods();
} catch (CustomModLoadingErrorDisplayException custom) {
FMLLog.log(Level.ERROR, custom, "A custom exception was thrown by a mod, the game will now halt");
customError = custom;
} catch (LoaderException le) {
haltGame("There was a severe problem during mod loading that has caused the game to fail", le);
return;
}
Map<String, Map<String, String>> sharedModList = (Map<String, Map<String, String>>) Launch.blackboard.get("modList");
if (sharedModList == null) {
sharedModList = Maps.newHashMap();
Launch.blackboard.put("modList", sharedModList);
}
for (ModContainer mc : Loader.instance().getActiveModList()) {
Map<String, String> sharedModDescriptor = mc.getSharedModDescriptor();
if (sharedModDescriptor != null) {
String sharedModId = "fml:" + mc.getModId();
sharedModList.put(sharedModId, sharedModDescriptor);
}
}
}
use of net.minecraftforge.fml.common.MissingModsException in project BaseMetals by MinecraftModDevelopmentMods.
the class CommonProxy method preInit.
/**
* @param event
*/
public void preInit(final FMLPreInitializationEvent event) {
Config.init();
if ((Options.requireMMDOreSpawn()) && (!Loader.isModLoaded(SharedStrings.ORESPAWN_MODID))) {
if (Options.fallbackOrespawn()) {
GameRegistry.registerWorldGenerator(new FallbackGenerator(), 0);
} else {
final HashSet<ArtifactVersion> orespawnMod = new HashSet<>();
orespawnMod.add(new DefaultArtifactVersion(SharedStrings.ORESPAWN_VERSION));
throw new MissingModsException(orespawnMod, SharedStrings.ORESPAWN_MODID, SharedStrings.ORESPAWN_MISSING_TEXT);
}
}
com.mcmoddev.lib.init.Materials.init();
Materials.init();
Fluids.init();
ItemGroups.init();
com.mcmoddev.lib.init.Blocks.init();
Blocks.init();
com.mcmoddev.lib.init.Items.init();
Items.init();
// icons have to be setup after the blocks and items are initialized
VillagerTrades.init();
MinecraftForge.EVENT_BUS.register(new EventHandler());
IntegrationManager.INSTANCE.preInit(event);
IntegrationManager.INSTANCE.runCallbacks("preInit");
allsGood = true;
}
use of net.minecraftforge.fml.common.MissingModsException in project MinecraftForge by MinecraftForge.
the class GuiMultipleModsErrored method initGui.
@Override
public void initGui() {
super.initGui();
int additionalSize = missingModsExceptions.isEmpty() || wrongMinecraftExceptions.isEmpty() ? 20 : 55;
for (MissingModsException exception : missingModsExceptions) {
additionalSize += exception.missingMods.size() * 10;
}
list = new GuiList(wrongMinecraftExceptions.size() * 10 + missingModsExceptions.size() * 15 + additionalSize);
}
Aggregations