001package net.minecraft.client.gui; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005import net.minecraft.client.Minecraft; 006import net.minecraft.client.mco.McoServer; 007import net.minecraft.util.StringTranslate; 008import org.lwjgl.input.Keyboard; 009 010@SideOnly(Side.CLIENT) 011public class GuiScreenResetWorld extends GuiScreen 012{ 013 private GuiScreen field_96152_a; 014 private McoServer field_96150_b; 015 private GuiTextField field_96151_c; 016 private final int field_96149_d = 1; 017 private final int field_96153_n = 2; 018 private GuiButton field_96154_o; 019 020 public GuiScreenResetWorld(GuiScreen par1, McoServer par2) 021 { 022 this.field_96152_a = par1; 023 this.field_96150_b = par2; 024 } 025 026 /** 027 * Called from the main game loop to update the screen. 028 */ 029 public void updateScreen() 030 { 031 this.field_96151_c.updateCursorCounter(); 032 } 033 034 /** 035 * Adds the buttons (and other controls) to the screen in question. 036 */ 037 public void initGui() 038 { 039 StringTranslate stringtranslate = StringTranslate.getInstance(); 040 Keyboard.enableRepeatEvents(true); 041 this.buttonList.clear(); 042 this.buttonList.add(this.field_96154_o = new GuiButton(1, this.width / 2 - 100, this.height / 4 + 96 + 12, stringtranslate.translateKey("mco.configure.world.buttons.reset"))); 043 this.buttonList.add(new GuiButton(2, this.width / 2 - 100, this.height / 4 + 120 + 12, stringtranslate.translateKey("gui.cancel"))); 044 this.field_96151_c = new GuiTextField(this.fontRenderer, this.width / 2 - 100, 109, 200, 20); 045 this.field_96151_c.setFocused(true); 046 this.field_96151_c.setMaxStringLength(32); 047 this.field_96151_c.setText(""); 048 } 049 050 /** 051 * Called when the screen is unloaded. Used to disable keyboard repeat events 052 */ 053 public void onGuiClosed() 054 { 055 Keyboard.enableRepeatEvents(false); 056 } 057 058 /** 059 * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e). 060 */ 061 protected void keyTyped(char par1, int par2) 062 { 063 this.field_96151_c.textboxKeyTyped(par1, par2); 064 } 065 066 /** 067 * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e). 068 */ 069 protected void actionPerformed(GuiButton par1GuiButton) 070 { 071 if (par1GuiButton.enabled) 072 { 073 if (par1GuiButton.id == 2) 074 { 075 this.mc.displayGuiScreen(this.field_96152_a); 076 } 077 else if (par1GuiButton.id == 1) 078 { 079 TaskResetWorld taskresetworld = new TaskResetWorld(this, this.field_96150_b.field_96408_a); 080 GuiScreenLongRunningTask guiscreenlongrunningtask = new GuiScreenLongRunningTask(this.mc, this.field_96152_a, taskresetworld); 081 guiscreenlongrunningtask.func_98117_g(); 082 this.mc.displayGuiScreen(guiscreenlongrunningtask); 083 } 084 } 085 } 086 087 /** 088 * Called when the mouse is clicked. 089 */ 090 protected void mouseClicked(int par1, int par2, int par3) 091 { 092 super.mouseClicked(par1, par2, par3); 093 this.field_96151_c.mouseClicked(par1, par2, par3); 094 } 095 096 /** 097 * Draws the screen and all the components in it. 098 */ 099 public void drawScreen(int par1, int par2, float par3) 100 { 101 StringTranslate stringtranslate = StringTranslate.getInstance(); 102 this.drawDefaultBackground(); 103 this.drawCenteredString(this.fontRenderer, stringtranslate.translateKey("mco.reset.world.title"), this.width / 2, 17, 16777215); 104 this.drawCenteredString(this.fontRenderer, stringtranslate.translateKey("mco.reset.world.warning"), this.width / 2, 66, 16711680); 105 this.drawString(this.fontRenderer, stringtranslate.translateKey("mco.reset.world.seed"), this.width / 2 - 100, 96, 10526880); 106 this.field_96151_c.drawTextBox(); 107 super.drawScreen(par1, par2, par3); 108 } 109 110 static GuiScreen func_96148_a(GuiScreenResetWorld par0GuiScreenResetWorld) 111 { 112 return par0GuiScreenResetWorld.field_96152_a; 113 } 114 115 static Minecraft func_96147_b(GuiScreenResetWorld par0GuiScreenResetWorld) 116 { 117 return par0GuiScreenResetWorld.mc; 118 } 119}