    001package cpw.mods.fml.client;
    002
    003import net.minecraft.client.gui.GuiErrorScreen;
    004import cpw.mods.fml.common.MissingModsException;
    005import cpw.mods.fml.common.versioning.ArtifactVersion;
    006
    007public class GuiModsMissing extends GuiErrorScreen
    008{
    009
    010    private MissingModsException modsMissing;
    011
    012    public GuiModsMissing(MissingModsException modsMissing)
    013    {
    014        this.modsMissing = modsMissing;
    015    }
    016
    017    @Override
    018
    019    /**
    020     * Adds the buttons (and other controls) to the screen in question.
    021     */
    022    public void initGui()
    023    {
    024        super.initGui();
    025    }
    026    @Override
    027
    028    /**
    029     * Draws the screen and all the components in it.
    030     */
    031    public void drawScreen(int par1, int par2, float par3)
    032    {
    033        this.drawDefaultBackground();
    034        int offset = Math.max(85 - modsMissing.missingMods.size() * 10, 10);
    035        this.drawCenteredString(this.fontRenderer, "Forge Mod Loader has found a problem with your minecraft installation", this.width / 2, offset, 0xFFFFFF);
    036        offset+=10;
    037        this.drawCenteredString(this.fontRenderer, "The mods and versions listed below could not be found", this.width / 2, offset, 0xFFFFFF);
    038        offset+=5;
    039        for (ArtifactVersion v : modsMissing.missingMods)
    040        {
    041            offset+=10;
    042            this.drawCenteredString(this.fontRenderer, String.format("%s : %s", v.getLabel(), v.getRangeString()), this.width / 2, offset, 0xEEEEEE);
    043        }
    044        offset+=20;
    045        this.drawCenteredString(this.fontRenderer, "The file 'ForgeModLoader-client-0.log' contains more information", this.width / 2, offset, 0xFFFFFF);
    046    }
    047}