package net.minecraft.client.gui;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.StatCollector;
import net.minecraft.util.StringTranslate;
import net.minecraft.world.EnumGameType;
@SideOnly(Side.CLIENT)
public class GuiShareToLan extends GuiScreen
{
/**
* A reference to the screen object that created this. Used for navigating between screens.
*/
private final GuiScreen parentScreen;
private GuiButton buttonAllowCommandsToggle;
private GuiButton buttonGameMode;
/**
* The currently selected game mode. One of 'survival', 'creative', or 'adventure'
*/
private String gameMode = "survival";
/** True if 'Allow Cheats' is currently enabled */
private boolean allowCommands = false;
public GuiShareToLan(GuiScreen par1GuiScreen)
{
this.parentScreen = par1GuiScreen;
}
/**
* Adds the buttons (and other controls) to the screen in question.
*/
public void initGui()
{
this.buttonList.clear();
this.buttonList.add(new GuiButton(101, this.width / 2 - 155, this.height - 28, 150, 20, StatCollector.translateToLocal("lanServer.start")));
this.buttonList.add(new GuiButton(102, this.width / 2 + 5, this.height - 28, 150, 20, StatCollector.translateToLocal("gui.cancel")));
this.buttonList.add(this.buttonGameMode = new GuiButton(104, this.width / 2 - 155, 100, 150, 20, StatCollector.translateToLocal("selectWorld.gameMode")));
this.buttonList.add(this.buttonAllowCommandsToggle = new GuiButton(103, this.width / 2 + 5, 100, 150, 20, StatCollector.translateToLocal("selectWorld.allowCommands")));
this.func_74088_g();
}
private void func_74088_g()
{
StringTranslate stringtranslate = StringTranslate.getInstance();
this.buttonGameMode.displayString = stringtranslate.translateKey("selectWorld.gameMode") + " " + stringtranslate.translateKey("selectWorld.gameMode." + this.gameMode);
this.buttonAllowCommandsToggle.displayString = stringtranslate.translateKey("selectWorld.allowCommands") + " ";
if (this.allowCommands)
{
this.buttonAllowCommandsToggle.displayString = this.buttonAllowCommandsToggle.displayString + stringtranslate.translateKey("options.on");
}
else
{
this.buttonAllowCommandsToggle.displayString = this.buttonAllowCommandsToggle.displayString + stringtranslate.translateKey("options.off");
}
}
/**
* Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
*/
protected void actionPerformed(GuiButton par1GuiButton)
{
if (par1GuiButton.id == 102)
{
this.mc.displayGuiScreen(this.parentScreen);
}
else if (par1GuiButton.id == 104)
{
if (this.gameMode.equals("survival"))
{
this.gameMode = "creative";
}
else if (this.gameMode.equals("creative"))
{
this.gameMode = "adventure";
}
else
{
this.gameMode = "survival";
}
this.func_74088_g();
}
else if (par1GuiButton.id == 103)
{
this.allowCommands = !this.allowCommands;
this.func_74088_g();
}
else if (par1GuiButton.id == 101)
{
this.mc.displayGuiScreen((GuiScreen)null);
String s = this.mc.getIntegratedServer().shareToLAN(EnumGameType.getByName(this.gameMode), this.allowCommands);
String s1 = "";
if (s != null)
{
s1 = this.mc.thePlayer.translateString("commands.publish.started", new Object[] {s});
}
else
{
s1 = this.mc.thePlayer.translateString("commands.publish.failed", new Object[0]);
}
this.mc.ingameGUI.getChatGUI().printChatMessage(s1);
}
}
/**
* Draws the screen and all the components in it.
*/
public void drawScreen(int par1, int par2, float par3)
{
this.drawDefaultBackground();
this.drawCenteredString(this.fontRenderer, StatCollector.translateToLocal("lanServer.title"), this.width / 2, 50, 16777215);
this.drawCenteredString(this.fontRenderer, StatCollector.translateToLocal("lanServer.otherPlayers"), this.width / 2, 82, 16777215);
super.drawScreen(par1, par2, par3);
}
}