001 package net.minecraft.src;
002
003 import cpw.mods.fml.common.Side;
004 import cpw.mods.fml.common.asm.SideOnly;
005
006 @SideOnly(Side.CLIENT)
007 public class GuiSleepMP extends GuiChat
008 {
009 /**
010 * Adds the buttons (and other controls) to the screen in question.
011 */
012 public void initGui()
013 {
014 super.initGui();
015 StringTranslate var1 = StringTranslate.getInstance();
016 this.controlList.add(new GuiButton(1, this.width / 2 - 100, this.height - 40, var1.translateKey("multiplayer.stopSleeping")));
017 }
018
019 /**
020 * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
021 */
022 protected void keyTyped(char par1, int par2)
023 {
024 if (par2 == 1)
025 {
026 this.wakeEntity();
027 }
028 else if (par2 == 28)
029 {
030 String var3 = this.inputField.getText().trim();
031
032 if (var3.length() > 0)
033 {
034 this.mc.thePlayer.sendChatMessage(var3);
035 }
036
037 this.inputField.setText("");
038 this.mc.ingameGUI.getChatGUI().resetScroll();
039 }
040 else
041 {
042 super.keyTyped(par1, par2);
043 }
044 }
045
046 /**
047 * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
048 */
049 protected void actionPerformed(GuiButton par1GuiButton)
050 {
051 if (par1GuiButton.id == 1)
052 {
053 this.wakeEntity();
054 }
055 else
056 {
057 super.actionPerformed(par1GuiButton);
058 }
059 }
060
061 /**
062 * Wakes the entity from the bed
063 */
064 private void wakeEntity()
065 {
066 NetClientHandler var1 = this.mc.thePlayer.sendQueue;
067 var1.addToSendQueue(new Packet19EntityAction(this.mc.thePlayer, 3));
068 }
069 }