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