package net.minecraft.client.gui.achievement;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiSlot;
import net.minecraft.client.gui.IProgressMeter;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.EntityList;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.play.client.C16PacketClientStatus;
import net.minecraft.stats.StatBase;
import net.minecraft.stats.StatCrafting;
import net.minecraft.stats.StatFileWriter;
import net.minecraft.stats.StatList;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
@SideOnly(Side.CLIENT)
public class GuiStats extends GuiScreen implements IProgressMeter
{
private static RenderItem renderItem = new RenderItem();
protected GuiScreen parentScreen;
protected String screenTitle = "Select world";
private GuiStats.StatsGeneral generalStats;
private GuiStats.StatsItem itemStats;
private GuiStats.StatsBlock blockStats;
private GuiStats.StatsMobsList mobStats;
private StatFileWriter field_146546_t;
private GuiSlot displaySlot;
/** When true, the game will be paused when the gui is shown */
private boolean doesGuiPauseGame = true;
private static final String __OBFID = "CL_00000723";
public GuiStats(GuiScreen p_i1071_1_, StatFileWriter p_i1071_2_)
{
this.parentScreen = p_i1071_1_;
this.field_146546_t = p_i1071_2_;
}
/**
* Adds the buttons (and other controls) to the screen in question.
*/
public void initGui()
{
this.screenTitle = I18n.format("gui.stats", new Object[0]);
this.mc.getNetHandler().addToSendQueue(new C16PacketClientStatus(C16PacketClientStatus.EnumState.REQUEST_STATS));
}
public void createButtons()
{
this.buttonList.add(new GuiButton(0, this.width / 2 + 4, this.height - 28, 150, 20, I18n.format("gui.done", new Object[0])));
this.buttonList.add(new GuiButton(1, this.width / 2 - 160, this.height - 52, 80, 20, I18n.format("stat.generalButton", new Object[0])));
GuiButton guibutton;
GuiButton guibutton1;
GuiButton guibutton2;
this.buttonList.add(guibutton = new GuiButton(2, this.width / 2 - 80, this.height - 52, 80, 20, I18n.format("stat.blocksButton", new Object[0])));
this.buttonList.add(guibutton1 = new GuiButton(3, this.width / 2, this.height - 52, 80, 20, I18n.format("stat.itemsButton", new Object[0])));
this.buttonList.add(guibutton2 = new GuiButton(4, this.width / 2 + 80, this.height - 52, 80, 20, I18n.format("stat.mobsButton", new Object[0])));
if (this.blockStats.getSize() == 0)
{
guibutton.enabled = false;
}
if (this.itemStats.getSize() == 0)
{
guibutton1.enabled = false;
}
if (this.mobStats.getSize() == 0)
{
guibutton2.enabled = false;
}
}
protected void actionPerformed(GuiButton button)
{
if (button.enabled)
{
if (button.id == 0)
{
this.mc.displayGuiScreen(this.parentScreen);
}
else if (button.id == 1)
{
this.displaySlot = this.generalStats;
}
else if (button.id == 3)
{
this.displaySlot = this.itemStats;
}
else if (button.id == 2)
{
this.displaySlot = this.blockStats;
}
else if (button.id == 4)
{
this.displaySlot = this.mobStats;
}
else
{
this.displaySlot.actionPerformed(button);
}
}
}
/**
* Draws the screen and all the components in it. Args : mouseX, mouseY, renderPartialTicks
*/
public void drawScreen(int mouseX, int mouseY, float partialTicks)
{
if (this.doesGuiPauseGame)
{
this.drawDefaultBackground();
this.drawCenteredString(this.fontRendererObj, I18n.format("multiplayer.downloadingStats", new Object[0]), this.width / 2, this.height / 2, 16777215);
this.drawCenteredString(this.fontRendererObj, lanSearchStates[(int)(Minecraft.getSystemTime() / 150L % (long)lanSearchStates.length)], this.width / 2, this.height / 2 + this.fontRendererObj.FONT_HEIGHT * 2, 16777215);
}
else
{
this.displaySlot.drawScreen(mouseX, mouseY, partialTicks);
this.drawCenteredString(this.fontRendererObj, this.screenTitle, this.width / 2, 20, 16777215);
super.drawScreen(mouseX, mouseY, partialTicks);
}
}
public void doneLoading()
{
if (this.doesGuiPauseGame)
{
this.generalStats = new GuiStats.StatsGeneral();
this.generalStats.registerScrollButtons(1, 1);
this.itemStats = new GuiStats.StatsItem();
this.itemStats.registerScrollButtons(1, 1);
this.blockStats = new GuiStats.StatsBlock();
this.blockStats.registerScrollButtons(1, 1);
this.mobStats = new GuiStats.StatsMobsList();
this.mobStats.registerScrollButtons(1, 1);
this.displaySlot = this.generalStats;
this.createButtons();
this.doesGuiPauseGame = false;
}
}
/**
* Returns true if this GUI should pause the game when it is displayed in single-player
*/
public boolean doesGuiPauseGame()
{
return !this.doesGuiPauseGame;
}
private void drawStatsScreen(int p_146521_1_, int p_146521_2_, Item p_146521_3_)
{
this.drawButtonBackground(p_146521_1_ + 1, p_146521_2_ + 1);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
RenderHelper.enableGUIStandardItemLighting();
renderItem.renderItemIntoGUI(this.fontRendererObj, this.mc.getTextureManager(), new ItemStack(p_146521_3_, 1, 0), p_146521_1_ + 2, p_146521_2_ + 2);
RenderHelper.disableStandardItemLighting();
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
}
/**
* Draws a gray box that serves as a button background.
*/
private void drawButtonBackground(int p_146531_1_, int p_146531_2_)
{
this.drawSprite(p_146531_1_, p_146531_2_, 0, 0);
}
/**
* Draws a sprite from assets/textures/gui/container/stats_icons.png
*/
private void drawSprite(int p_146527_1_, int p_146527_2_, int p_146527_3_, int p_146527_4_)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.getTextureManager().bindTexture(statIcons);
float f = 0.0078125F;
float f1 = 0.0078125F;
boolean flag = true;
boolean flag1 = true;
Tessellator tessellator = Tessellator.instance;
tessellator.startDrawingQuads();
tessellator.addVertexWithUV((double)(p_146527_1_ + 0), (double)(p_146527_2_ + 18), (double)this.zLevel, (double)((float)(p_146527_3_ + 0) * 0.0078125F), (double)((float)(p_146527_4_ + 18) * 0.0078125F));
tessellator.addVertexWithUV((double)(p_146527_1_ + 18), (double)(p_146527_2_ + 18), (double)this.zLevel, (double)((float)(p_146527_3_ + 18) * 0.0078125F), (double)((float)(p_146527_4_ + 18) * 0.0078125F));
tessellator.addVertexWithUV((double)(p_146527_1_ + 18), (double)(p_146527_2_ + 0), (double)this.zLevel, (double)((float)(p_146527_3_ + 18) * 0.0078125F), (double)((float)(p_146527_4_ + 0) * 0.0078125F));
tessellator.addVertexWithUV((double)(p_146527_1_ + 0), (double)(p_146527_2_ + 0), (double)this.zLevel, (double)((float)(p_146527_3_ + 0) * 0.0078125F), (double)((float)(p_146527_4_ + 0) * 0.0078125F));
tessellator.draw();
}
@SideOnly(Side.CLIENT)
abstract class Stats extends GuiSlot
{
protected int field_148218_l = -1;
protected List statsHolder;
protected Comparator statSorter;
protected int field_148217_o = -1;
protected int field_148215_p;
private static final String __OBFID = "CL_00000730";
protected Stats()
{
super(GuiStats.this.mc, GuiStats.this.width, GuiStats.this.height, 32, GuiStats.this.height - 64, 20);
this.setShowSelectionBox(false);
this.setHasListHeader(true, 20);
}
/**
* The element in the slot that was clicked, boolean for whether it was double clicked or not
*/
protected void elementClicked(int p_148144_1_, boolean p_148144_2_, int p_148144_3_, int p_148144_4_) {}
/**
* Returns true if the element passed in is currently selected
*/
protected boolean isSelected(int p_148131_1_)
{
return false;
}
protected void drawBackground()
{
GuiStats.this.drawDefaultBackground();
}
/**
* Handles drawing a list's header row.
*/
protected void drawListHeader(int p_148129_1_, int p_148129_2_, Tessellator p_148129_3_)
{
if (!Mouse.isButtonDown(0))
{
this.field_148218_l = -1;
}
if (this.field_148218_l == 0)
{
GuiStats.this.drawSprite(p_148129_1_ + 115 - 18, p_148129_2_ + 1, 0, 0);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 115 - 18, p_148129_2_ + 1, 0, 18);
}
if (this.field_148218_l == 1)
{
GuiStats.this.drawSprite(p_148129_1_ + 165 - 18, p_148129_2_ + 1, 0, 0);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 165 - 18, p_148129_2_ + 1, 0, 18);
}
if (this.field_148218_l == 2)
{
GuiStats.this.drawSprite(p_148129_1_ + 215 - 18, p_148129_2_ + 1, 0, 0);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 215 - 18, p_148129_2_ + 1, 0, 18);
}
if (this.field_148217_o != -1)
{
short short1 = 79;
byte b0 = 18;
if (this.field_148217_o == 1)
{
short1 = 129;
}
else if (this.field_148217_o == 2)
{
short1 = 179;
}
if (this.field_148215_p == 1)
{
b0 = 36;
}
GuiStats.this.drawSprite(p_148129_1_ + short1, p_148129_2_ + 1, b0, 0);
}
}
protected void func_148132_a(int p_148132_1_, int p_148132_2_)
{
this.field_148218_l = -1;
if (p_148132_1_ >= 79 && p_148132_1_ < 115)
{
this.field_148218_l = 0;
}
else if (p_148132_1_ >= 129 && p_148132_1_ < 165)
{
this.field_148218_l = 1;
}
else if (p_148132_1_ >= 179 && p_148132_1_ < 215)
{
this.field_148218_l = 2;
}
if (this.field_148218_l >= 0)
{
this.func_148212_h(this.field_148218_l);
GuiStats.this.mc.getSoundHandler().playSound(PositionedSoundRecord.createPositionedSoundRecord(new ResourceLocation("gui.button.press"), 1.0F));
}
}
protected final int getSize()
{
return this.statsHolder.size();
}
protected final StatCrafting func_148211_c(int p_148211_1_)
{
return (StatCrafting)this.statsHolder.get(p_148211_1_);
}
protected abstract String func_148210_b(int p_148210_1_);
protected void func_148209_a(StatBase p_148209_1_, int p_148209_2_, int p_148209_3_, boolean p_148209_4_)
{
String s;
if (p_148209_1_ != null)
{
s = p_148209_1_.func_75968_a(GuiStats.this.field_146546_t.writeStat(p_148209_1_));
GuiStats.this.drawString(GuiStats.this.fontRendererObj, s, p_148209_2_ - GuiStats.this.fontRendererObj.getStringWidth(s), p_148209_3_ + 5, p_148209_4_ ? 16777215 : 9474192);
}
else
{
s = "-";
GuiStats.this.drawString(GuiStats.this.fontRendererObj, s, p_148209_2_ - GuiStats.this.fontRendererObj.getStringWidth(s), p_148209_3_ + 5, p_148209_4_ ? 16777215 : 9474192);
}
}
protected void func_148142_b(int p_148142_1_, int p_148142_2_)
{
if (p_148142_2_ >= this.top && p_148142_2_ <= this.bottom)
{
int k = this.getSlotIndexFromScreenCoords(p_148142_1_, p_148142_2_);
int l = this.width / 2 - 92 - 16;
if (k >= 0)
{
if (p_148142_1_ < l + 40 || p_148142_1_ > l + 40 + 20)
{
return;
}
StatCrafting statcrafting = this.func_148211_c(k);
this.func_148213_a(statcrafting, p_148142_1_, p_148142_2_);
}
else
{
String s = "";
if (p_148142_1_ >= l + 115 - 18 && p_148142_1_ <= l + 115)
{
s = this.func_148210_b(0);
}
else if (p_148142_1_ >= l + 165 - 18 && p_148142_1_ <= l + 165)
{
s = this.func_148210_b(1);
}
else
{
if (p_148142_1_ < l + 215 - 18 || p_148142_1_ > l + 215)
{
return;
}
s = this.func_148210_b(2);
}
s = ("" + I18n.format(s, new Object[0])).trim();
if (s.length() > 0)
{
int i1 = p_148142_1_ + 12;
int j1 = p_148142_2_ - 12;
int k1 = GuiStats.this.fontRendererObj.getStringWidth(s);
GuiStats.this.drawGradientRect(i1 - 3, j1 - 3, i1 + k1 + 3, j1 + 8 + 3, -1073741824, -1073741824);
GuiStats.this.fontRendererObj.drawStringWithShadow(s, i1, j1, -1);
}
}
}
}
protected void func_148213_a(StatCrafting p_148213_1_, int p_148213_2_, int p_148213_3_)
{
if (p_148213_1_ != null)
{
Item item = p_148213_1_.func_150959_a();
String s = ("" + I18n.format(item.getUnlocalizedName() + ".name", new Object[0])).trim();
if (s.length() > 0)
{
int k = p_148213_2_ + 12;
int l = p_148213_3_ - 12;
int i1 = GuiStats.this.fontRendererObj.getStringWidth(s);
GuiStats.this.drawGradientRect(k - 3, l - 3, k + i1 + 3, l + 8 + 3, -1073741824, -1073741824);
GuiStats.this.fontRendererObj.drawStringWithShadow(s, k, l, -1);
}
}
}
protected void func_148212_h(int p_148212_1_)
{
if (p_148212_1_ != this.field_148217_o)
{
this.field_148217_o = p_148212_1_;
this.field_148215_p = -1;
}
else if (this.field_148215_p == -1)
{
this.field_148215_p = 1;
}
else
{
this.field_148217_o = -1;
this.field_148215_p = 0;
}
Collections.sort(this.statsHolder, this.statSorter);
}
}
@SideOnly(Side.CLIENT)
class StatsBlock extends GuiStats.Stats
{
private static final String __OBFID = "CL_00000724";
public StatsBlock()
{
this.statsHolder = new ArrayList();
Iterator iterator = StatList.objectMineStats.iterator();
while (iterator.hasNext())
{
StatCrafting statcrafting = (StatCrafting)iterator.next();
boolean flag = false;
int i = Item.getIdFromItem(statcrafting.func_150959_a());
if (GuiStats.this.field_146546_t.writeStat(statcrafting) > 0)
{
flag = true;
}
else if (StatList.objectUseStats[i] != null && GuiStats.this.field_146546_t.writeStat(StatList.objectUseStats[i]) > 0)
{
flag = true;
}
else if (StatList.objectCraftStats[i] != null && GuiStats.this.field_146546_t.writeStat(StatList.objectCraftStats[i]) > 0)
{
flag = true;
}
if (flag)
{
this.statsHolder.add(statcrafting);
}
}
this.statSorter = new Comparator()
{
private static final String __OBFID = "CL_00000725";
public int compare(StatCrafting p_compare_1_, StatCrafting p_compare_2_)
{
int j = Item.getIdFromItem(p_compare_1_.func_150959_a());
int k = Item.getIdFromItem(p_compare_2_.func_150959_a());
StatBase statbase = null;
StatBase statbase1 = null;
if (StatsBlock.this.field_148217_o == 2)
{
statbase = StatList.mineBlockStatArray[j];
statbase1 = StatList.mineBlockStatArray[k];
}
else if (StatsBlock.this.field_148217_o == 0)
{
statbase = StatList.objectCraftStats[j];
statbase1 = StatList.objectCraftStats[k];
}
else if (StatsBlock.this.field_148217_o == 1)
{
statbase = StatList.objectUseStats[j];
statbase1 = StatList.objectUseStats[k];
}
if (statbase != null || statbase1 != null)
{
if (statbase == null)
{
return 1;
}
if (statbase1 == null)
{
return -1;
}
int l = GuiStats.this.field_146546_t.writeStat(statbase);
int i1 = GuiStats.this.field_146546_t.writeStat(statbase1);
if (l != i1)
{
return (l - i1) * StatsBlock.this.field_148215_p;
}
}
return j - k;
}
public int compare(Object p_compare_1_, Object p_compare_2_)
{
return this.compare((StatCrafting)p_compare_1_, (StatCrafting)p_compare_2_);
}
};
}
/**
* Handles drawing a list's header row.
*/
protected void drawListHeader(int p_148129_1_, int p_148129_2_, Tessellator p_148129_3_)
{
super.drawListHeader(p_148129_1_, p_148129_2_, p_148129_3_);
if (this.field_148218_l == 0)
{
GuiStats.this.drawSprite(p_148129_1_ + 115 - 18 + 1, p_148129_2_ + 1 + 1, 18, 18);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 115 - 18, p_148129_2_ + 1, 18, 18);
}
if (this.field_148218_l == 1)
{
GuiStats.this.drawSprite(p_148129_1_ + 165 - 18 + 1, p_148129_2_ + 1 + 1, 36, 18);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 165 - 18, p_148129_2_ + 1, 36, 18);
}
if (this.field_148218_l == 2)
{
GuiStats.this.drawSprite(p_148129_1_ + 215 - 18 + 1, p_148129_2_ + 1 + 1, 54, 18);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 215 - 18, p_148129_2_ + 1, 54, 18);
}
}
protected void drawSlot(int p_148126_1_, int p_148126_2_, int p_148126_3_, int p_148126_4_, Tessellator p_148126_5_, int p_148126_6_, int p_148126_7_)
{
StatCrafting statcrafting = this.func_148211_c(p_148126_1_);
Item item = statcrafting.func_150959_a();
GuiStats.this.drawStatsScreen(p_148126_2_ + 40, p_148126_3_, item);
int k1 = Item.getIdFromItem(item);
this.func_148209_a(StatList.objectCraftStats[k1], p_148126_2_ + 115, p_148126_3_, p_148126_1_ % 2 == 0);
this.func_148209_a(StatList.objectUseStats[k1], p_148126_2_ + 165, p_148126_3_, p_148126_1_ % 2 == 0);
this.func_148209_a(statcrafting, p_148126_2_ + 215, p_148126_3_, p_148126_1_ % 2 == 0);
}
protected String func_148210_b(int p_148210_1_)
{
return p_148210_1_ == 0 ? "stat.crafted" : (p_148210_1_ == 1 ? "stat.used" : "stat.mined");
}
}
@SideOnly(Side.CLIENT)
class StatsGeneral extends GuiSlot
{
private static final String __OBFID = "CL_00000726";
public StatsGeneral()
{
super(GuiStats.this.mc, GuiStats.this.width, GuiStats.this.height, 32, GuiStats.this.height - 64, 10);
this.setShowSelectionBox(false);
}
protected int getSize()
{
return StatList.generalStats.size();
}
/**
* The element in the slot that was clicked, boolean for whether it was double clicked or not
*/
protected void elementClicked(int p_148144_1_, boolean p_148144_2_, int p_148144_3_, int p_148144_4_) {}
/**
* Returns true if the element passed in is currently selected
*/
protected boolean isSelected(int p_148131_1_)
{
return false;
}
/**
* Return the height of the content being scrolled
*/
protected int getContentHeight()
{
return this.getSize() * 10;
}
protected void drawBackground()
{
GuiStats.this.drawDefaultBackground();
}
protected void drawSlot(int p_148126_1_, int p_148126_2_, int p_148126_3_, int p_148126_4_, Tessellator p_148126_5_, int p_148126_6_, int p_148126_7_)
{
StatBase statbase = (StatBase)StatList.generalStats.get(p_148126_1_);
GuiStats.this.drawString(GuiStats.this.fontRendererObj, statbase.getStatName().getUnformattedText(), p_148126_2_ + 2, p_148126_3_ + 1, p_148126_1_ % 2 == 0 ? 16777215 : 9474192);
String s = statbase.func_75968_a(GuiStats.this.field_146546_t.writeStat(statbase));
GuiStats.this.drawString(GuiStats.this.fontRendererObj, s, p_148126_2_ + 2 + 213 - GuiStats.this.fontRendererObj.getStringWidth(s), p_148126_3_ + 1, p_148126_1_ % 2 == 0 ? 16777215 : 9474192);
}
}
@SideOnly(Side.CLIENT)
class StatsItem extends GuiStats.Stats
{
private static final String __OBFID = "CL_00000727";
public StatsItem()
{
this.statsHolder = new ArrayList();
Iterator iterator = StatList.itemStats.iterator();
while (iterator.hasNext())
{
StatCrafting statcrafting = (StatCrafting)iterator.next();
boolean flag = false;
int i = Item.getIdFromItem(statcrafting.func_150959_a());
if (GuiStats.this.field_146546_t.writeStat(statcrafting) > 0)
{
flag = true;
}
else if (StatList.objectBreakStats[i] != null && GuiStats.this.field_146546_t.writeStat(StatList.objectBreakStats[i]) > 0)
{
flag = true;
}
else if (StatList.objectCraftStats[i] != null && GuiStats.this.field_146546_t.writeStat(StatList.objectCraftStats[i]) > 0)
{
flag = true;
}
if (flag)
{
this.statsHolder.add(statcrafting);
}
}
this.statSorter = new Comparator()
{
private static final String __OBFID = "CL_00000728";
public int compare(StatCrafting p_compare_1_, StatCrafting p_compare_2_)
{
int j = Item.getIdFromItem(p_compare_1_.func_150959_a());
int k = Item.getIdFromItem(p_compare_2_.func_150959_a());
StatBase statbase = null;
StatBase statbase1 = null;
if (StatsItem.this.field_148217_o == 0)
{
statbase = StatList.objectBreakStats[j];
statbase1 = StatList.objectBreakStats[k];
}
else if (StatsItem.this.field_148217_o == 1)
{
statbase = StatList.objectCraftStats[j];
statbase1 = StatList.objectCraftStats[k];
}
else if (StatsItem.this.field_148217_o == 2)
{
statbase = StatList.objectUseStats[j];
statbase1 = StatList.objectUseStats[k];
}
if (statbase != null || statbase1 != null)
{
if (statbase == null)
{
return 1;
}
if (statbase1 == null)
{
return -1;
}
int l = GuiStats.this.field_146546_t.writeStat(statbase);
int i1 = GuiStats.this.field_146546_t.writeStat(statbase1);
if (l != i1)
{
return (l - i1) * StatsItem.this.field_148215_p;
}
}
return j - k;
}
public int compare(Object p_compare_1_, Object p_compare_2_)
{
return this.compare((StatCrafting)p_compare_1_, (StatCrafting)p_compare_2_);
}
};
}
/**
* Handles drawing a list's header row.
*/
protected void drawListHeader(int p_148129_1_, int p_148129_2_, Tessellator p_148129_3_)
{
super.drawListHeader(p_148129_1_, p_148129_2_, p_148129_3_);
if (this.field_148218_l == 0)
{
GuiStats.this.drawSprite(p_148129_1_ + 115 - 18 + 1, p_148129_2_ + 1 + 1, 72, 18);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 115 - 18, p_148129_2_ + 1, 72, 18);
}
if (this.field_148218_l == 1)
{
GuiStats.this.drawSprite(p_148129_1_ + 165 - 18 + 1, p_148129_2_ + 1 + 1, 18, 18);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 165 - 18, p_148129_2_ + 1, 18, 18);
}
if (this.field_148218_l == 2)
{
GuiStats.this.drawSprite(p_148129_1_ + 215 - 18 + 1, p_148129_2_ + 1 + 1, 36, 18);
}
else
{
GuiStats.this.drawSprite(p_148129_1_ + 215 - 18, p_148129_2_ + 1, 36, 18);
}
}
protected void drawSlot(int p_148126_1_, int p_148126_2_, int p_148126_3_, int p_148126_4_, Tessellator p_148126_5_, int p_148126_6_, int p_148126_7_)
{
StatCrafting statcrafting = this.func_148211_c(p_148126_1_);
Item item = statcrafting.func_150959_a();
GuiStats.this.drawStatsScreen(p_148126_2_ + 40, p_148126_3_, item);
int k1 = Item.getIdFromItem(item);
this.func_148209_a(StatList.objectBreakStats[k1], p_148126_2_ + 115, p_148126_3_, p_148126_1_ % 2 == 0);
this.func_148209_a(StatList.objectCraftStats[k1], p_148126_2_ + 165, p_148126_3_, p_148126_1_ % 2 == 0);
this.func_148209_a(statcrafting, p_148126_2_ + 215, p_148126_3_, p_148126_1_ % 2 == 0);
}
protected String func_148210_b(int p_148210_1_)
{
return p_148210_1_ == 1 ? "stat.crafted" : (p_148210_1_ == 2 ? "stat.used" : "stat.depleted");
}
}
@SideOnly(Side.CLIENT)
class StatsMobsList extends GuiSlot
{
private final List field_148222_l = new ArrayList();
private static final String __OBFID = "CL_00000729";
public StatsMobsList()
{
super(GuiStats.this.mc, GuiStats.this.width, GuiStats.this.height, 32, GuiStats.this.height - 64, GuiStats.this.fontRendererObj.FONT_HEIGHT * 4);
this.setShowSelectionBox(false);
Iterator iterator = EntityList.entityEggs.values().iterator();
while (iterator.hasNext())
{
EntityList.EntityEggInfo entityegginfo = (EntityList.EntityEggInfo)iterator.next();
if (GuiStats.this.field_146546_t.writeStat(entityegginfo.field_151512_d) > 0 || GuiStats.this.field_146546_t.writeStat(entityegginfo.field_151513_e) > 0)
{
this.field_148222_l.add(entityegginfo);
}
}
}
protected int getSize()
{
return this.field_148222_l.size();
}
/**
* The element in the slot that was clicked, boolean for whether it was double clicked or not
*/
protected void elementClicked(int p_148144_1_, boolean p_148144_2_, int p_148144_3_, int p_148144_4_) {}
/**
* Returns true if the element passed in is currently selected
*/
protected boolean isSelected(int p_148131_1_)
{
return false;
}
/**
* Return the height of the content being scrolled
*/
protected int getContentHeight()
{
return this.getSize() * GuiStats.this.fontRendererObj.FONT_HEIGHT * 4;
}
protected void drawBackground()
{
GuiStats.this.drawDefaultBackground();
}
protected void drawSlot(int p_148126_1_, int p_148126_2_, int p_148126_3_, int p_148126_4_, Tessellator p_148126_5_, int p_148126_6_, int p_148126_7_)
{
EntityList.EntityEggInfo entityegginfo = (EntityList.EntityEggInfo)this.field_148222_l.get(p_148126_1_);
String s = I18n.format("entity." + EntityList.getStringFromID(entityegginfo.spawnedID) + ".name", new Object[0]);
int k1 = GuiStats.this.field_146546_t.writeStat(entityegginfo.field_151512_d);
int l1 = GuiStats.this.field_146546_t.writeStat(entityegginfo.field_151513_e);
String s1 = I18n.format("stat.entityKills", new Object[] {Integer.valueOf(k1), s});
String s2 = I18n.format("stat.entityKilledBy", new Object[] {s, Integer.valueOf(l1)});
if (k1 == 0)
{
s1 = I18n.format("stat.entityKills.none", new Object[] {s});
}
if (l1 == 0)
{
s2 = I18n.format("stat.entityKilledBy.none", new Object[] {s});
}
GuiStats.this.drawString(GuiStats.this.fontRendererObj, s, p_148126_2_ + 2 - 10, p_148126_3_ + 1, 16777215);
GuiStats.this.drawString(GuiStats.this.fontRendererObj, s1, p_148126_2_ + 2, p_148126_3_ + 1 + GuiStats.this.fontRendererObj.FONT_HEIGHT, k1 == 0 ? 6316128 : 9474192);
GuiStats.this.drawString(GuiStats.this.fontRendererObj, s2, p_148126_2_ + 2, p_148126_3_ + 1 + GuiStats.this.fontRendererObj.FONT_HEIGHT * 2, l1 == 0 ? 6316128 : 9474192);
}
}
}