package mods.mud.gui; import java.util.ArrayList; import java.util.Collection; import java.util.List; import mods.mud.UpdateEntry; import mods.mud.exceptions.UnknownVersionFormatException; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.resources.I18n; import cpw.mods.fml.client.GuiScrollingList; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.LoaderState; import cpw.mods.fml.common.ModContainer; public class GuiSlotModList extends GuiScrollingList { private GuiChangelogDownload parent; private List<UpdateEntry> entries; public GuiSlotModList(GuiChangelogDownload parent, Collection<UpdateEntry> entries, int listWidth) { super(parent.getMinecraftInstance(), listWidth, parent.height, 32, parent.height - 65 + 4, 10, 25); this.parent=parent; this.entries = new ArrayList<UpdateEntry>(entries); } @Override protected int getSize() { return entries.size(); } @Override protected void elementClicked(int var1, boolean var2) { this.parent.selectModIndex(var1); } @Override protected boolean isSelected(int var1) { return this.parent.modIndexSelected(var1); } @Override protected void drawBackground() { this.parent.drawDefaultBackground(); } @Override protected int getContentHeight() { return (this.getSize()) * 25 + 1; } @Override protected void drawSlot(int listIndex, int var2, int var3, int var4, Tessellator var5) { ModContainer mc=entries.get(listIndex).getMc(); if (Loader.instance().getModState(mc)== LoaderState.ModState.DISABLED) { this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(mc.getName(), listWidth - 10), this.left + 3 , var3 + 2, 0xFF2222); this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth("DISABLED", listWidth - 10), this.left + 3 , var3 + 12, 0xFF2222); } else { this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(mc.getName(), listWidth - 10), this.left + 3 , var3 + 2, 0xFFFFFF); try{ if(entries.get(listIndex).isUpToDate()){ this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(I18n.format("mud.version.latest"), listWidth - 10), this.left + 3 , var3 + 12, 0xFF00FF00); }else{ this.parent.getFontRenderer().drawString(this.parent.getFontRenderer().trimStringToWidth(I18n.format("mud.version.out"), listWidth - 10), this.left + 3 , var3 + 12, 0xFFFF0000); } }catch (UnknownVersionFormatException e){ }catch (NullPointerException e){ } } } }