package net.minecraft.client.gui; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.Date; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; import net.minecraft.world.storage.SaveFormatComparator; @SideOnly(Side.CLIENT) class GuiWorldSlot extends GuiSlot { final GuiSelectWorld parentWorldGui; public GuiWorldSlot(GuiSelectWorld par1GuiSelectWorld) { super(par1GuiSelectWorld.mc, par1GuiSelectWorld.width, par1GuiSelectWorld.height, 32, par1GuiSelectWorld.height - 64, 36); this.parentWorldGui = par1GuiSelectWorld; } /** * Gets the size of the current slot list. */ protected int getSize() { return GuiSelectWorld.getSize(this.parentWorldGui).size(); } /** * the element in the slot that was clicked, boolean for wether it was double clicked or not */ protected void elementClicked(int par1, boolean par2) { GuiSelectWorld.onElementSelected(this.parentWorldGui, par1); boolean flag1 = GuiSelectWorld.getSelectedWorld(this.parentWorldGui) >= 0 && GuiSelectWorld.getSelectedWorld(this.parentWorldGui) < this.getSize(); GuiSelectWorld.getSelectButton(this.parentWorldGui).enabled = flag1; GuiSelectWorld.getRenameButton(this.parentWorldGui).enabled = flag1; GuiSelectWorld.getDeleteButton(this.parentWorldGui).enabled = flag1; GuiSelectWorld.func_82312_f(this.parentWorldGui).enabled = flag1; if (par2 && flag1) { this.parentWorldGui.selectWorld(par1); } } /** * returns true if the element passed in is currently selected */ protected boolean isSelected(int par1) { return par1 == GuiSelectWorld.getSelectedWorld(this.parentWorldGui); } /** * return the height of the content being scrolled */ protected int getContentHeight() { return GuiSelectWorld.getSize(this.parentWorldGui).size() * 36; } protected void drawBackground() { this.parentWorldGui.drawDefaultBackground(); } protected void drawSlot(int par1, int par2, int par3, int par4, Tessellator par5Tessellator) { SaveFormatComparator saveformatcomparator = (SaveFormatComparator)GuiSelectWorld.getSize(this.parentWorldGui).get(par1); String s = saveformatcomparator.getDisplayName(); if (s == null || MathHelper.stringNullOrLengthZero(s)) { s = GuiSelectWorld.func_82313_g(this.parentWorldGui) + " " + (par1 + 1); } String s1 = saveformatcomparator.getFileName(); s1 = s1 + " (" + GuiSelectWorld.func_82315_h(this.parentWorldGui).format(new Date(saveformatcomparator.getLastTimePlayed())); s1 = s1 + ")"; String s2 = ""; if (saveformatcomparator.requiresConversion()) { s2 = GuiSelectWorld.func_82311_i(this.parentWorldGui) + " " + s2; } else { s2 = GuiSelectWorld.func_82314_j(this.parentWorldGui)[saveformatcomparator.getEnumGameType().getID()]; if (saveformatcomparator.isHardcoreModeEnabled()) { s2 = EnumChatFormatting.DARK_RED + StatCollector.translateToLocal("gameMode.hardcore") + EnumChatFormatting.RESET; } if (saveformatcomparator.getCheatsEnabled()) { s2 = s2 + ", " + StatCollector.translateToLocal("selectWorld.cheats"); } } this.parentWorldGui.drawString(this.parentWorldGui.fontRenderer, s, par2 + 2, par3 + 1, 16777215); this.parentWorldGui.drawString(this.parentWorldGui.fontRenderer, s1, par2 + 2, par3 + 12, 8421504); this.parentWorldGui.drawString(this.parentWorldGui.fontRenderer, s2, par2 + 2, par3 + 12 + 10, 8421504); } }