package net.minecraft.client.gui;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.util.StatCollector;
import net.minecraft.world.gen.FlatGeneratorInfo;
@SideOnly(Side.CLIENT)
public class GuiCreateFlatWorld extends GuiScreen
{
private static RenderItem theRenderItem = new RenderItem();
private final GuiCreateWorld createWorldGui;
private FlatGeneratorInfo theFlatGeneratorInfo = FlatGeneratorInfo.getDefaultFlatGenerator();
private String customizationTitle;
private String layerMaterialLabel;
private String heightLabel;
private GuiCreateFlatWorldListSlot createFlatWorldListSlotGui;
private GuiButton buttonAddLayer;
private GuiButton buttonEditLayer;
private GuiButton buttonRemoveLayer;
public GuiCreateFlatWorld(GuiCreateWorld par1, String par2Str)
{
this.createWorldGui = par1;
this.setFlatGeneratorInfo(par2Str);
}
public String getFlatGeneratorInfo()
{
return this.theFlatGeneratorInfo.toString();
}
public void setFlatGeneratorInfo(String par1Str)
{
this.theFlatGeneratorInfo = FlatGeneratorInfo.createFlatGeneratorFromString(par1Str);
}
/**
* Adds the buttons (and other controls) to the screen in question.
*/
public void initGui()
{
this.controlList.clear();
this.customizationTitle = StatCollector.translateToLocal("createWorld.customize.flat.title");
this.layerMaterialLabel = StatCollector.translateToLocal("createWorld.customize.flat.tile");
this.heightLabel = StatCollector.translateToLocal("createWorld.customize.flat.height");
this.createFlatWorldListSlotGui = new GuiCreateFlatWorldListSlot(this);
this.controlList.add(this.buttonAddLayer = new GuiButton(2, this.width / 2 - 154, this.height - 52, 100, 20, StatCollector.translateToLocal("createWorld.customize.flat.addLayer") + " (NYI)"));
this.controlList.add(this.buttonEditLayer = new GuiButton(3, this.width / 2 - 50, this.height - 52, 100, 20, StatCollector.translateToLocal("createWorld.customize.flat.editLayer") + " (NYI)"));
this.controlList.add(this.buttonRemoveLayer = new GuiButton(4, this.width / 2 - 155, this.height - 52, 150, 20, StatCollector.translateToLocal("createWorld.customize.flat.removeLayer")));
this.controlList.add(new GuiButton(0, this.width / 2 - 155, this.height - 28, 150, 20, StatCollector.translateToLocal("gui.done")));
this.controlList.add(new GuiButton(5, this.width / 2 + 5, this.height - 52, 150, 20, StatCollector.translateToLocal("createWorld.customize.presets")));
this.controlList.add(new GuiButton(1, this.width / 2 + 5, this.height - 28, 150, 20, StatCollector.translateToLocal("gui.cancel")));
this.buttonAddLayer.drawButton = this.buttonEditLayer.drawButton = false;
this.theFlatGeneratorInfo.func_82645_d();
this.func_82270_g();
}
/**
* Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
*/
protected void actionPerformed(GuiButton par1GuiButton)
{
int var2 = this.theFlatGeneratorInfo.getFlatLayers().size() - this.createFlatWorldListSlotGui.field_82454_a - 1;
if (par1GuiButton.id == 1)
{
this.mc.displayGuiScreen(this.createWorldGui);
}
else if (par1GuiButton.id == 0)
{
this.createWorldGui.field_82290_a = this.getFlatGeneratorInfo();
this.mc.displayGuiScreen(this.createWorldGui);
}
else if (par1GuiButton.id == 5)
{
this.mc.displayGuiScreen(new GuiFlatPresets(this));
}
else if (par1GuiButton.id == 4 && this.func_82272_i())
{
this.theFlatGeneratorInfo.getFlatLayers().remove(var2);
this.createFlatWorldListSlotGui.field_82454_a = Math.min(this.createFlatWorldListSlotGui.field_82454_a, this.theFlatGeneratorInfo.getFlatLayers().size() - 1);
}
this.theFlatGeneratorInfo.func_82645_d();
this.func_82270_g();
}
public void func_82270_g()
{
boolean var1 = this.func_82272_i();
this.buttonRemoveLayer.enabled = var1;
this.buttonEditLayer.enabled = var1;
this.buttonEditLayer.enabled = false;
this.buttonAddLayer.enabled = false;
}
private boolean func_82272_i()
{
return this.createFlatWorldListSlotGui.field_82454_a > -1 && this.createFlatWorldListSlotGui.field_82454_a < this.theFlatGeneratorInfo.getFlatLayers().size();
}
/**
* Draws the screen and all the components in it.
*/
public void drawScreen(int par1, int par2, float par3)
{
this.drawDefaultBackground();
this.createFlatWorldListSlotGui.drawScreen(par1, par2, par3);
this.drawCenteredString(this.fontRenderer, this.customizationTitle, this.width / 2, 8, 16777215);
int var4 = this.width / 2 - 92 - 16;
this.drawString(this.fontRenderer, this.layerMaterialLabel, var4, 32, 16777215);
this.drawString(this.fontRenderer, this.heightLabel, var4 + 2 + 213 - this.fontRenderer.getStringWidth(this.heightLabel), 32, 16777215);
super.drawScreen(par1, par2, par3);
}
static RenderItem getRenderItem()
{
return theRenderItem;
}
static FlatGeneratorInfo func_82271_a(GuiCreateFlatWorld par0GuiCreateFlatWorld)
{
return par0GuiCreateFlatWorld.theFlatGeneratorInfo;
}
}