001    package cpw.mods.fml.client;
002    
003    import net.minecraft.client.gui.GuiErrorScreen;
004    import cpw.mods.fml.common.MissingModsException;
005    import cpw.mods.fml.common.versioning.ArtifactVersion;
006    
007    public 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    }