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}