package net.minecraft.client.gui;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.network.NetHandlerPlayClient;
import net.minecraft.client.resources.I18n;
import net.minecraft.network.play.client.C0BPacketEntityAction;
@SideOnly(Side.CLIENT)
public class GuiSleepMP extends GuiChat
{
private static final String __OBFID = "CL_00000697";
/**
* Adds the buttons (and other controls) to the screen in question.
*/
public void initGui()
{
super.initGui();
this.buttonList.add(new GuiButton(1, this.width / 2 - 100, this.height - 40, I18n.format("multiplayer.stopSleeping", new Object[0])));
}
/**
* Fired when a key is typed (except F11 who toggle full screen). This is the equivalent of
* KeyListener.keyTyped(KeyEvent e). Args : character (character on the key), keyCode (lwjgl Keyboard key code)
*/
protected void keyTyped(char typedChar, int keyCode)
{
if (keyCode == 1)
{
this.wakeFromSleep();
}
else if (keyCode != 28 && keyCode != 156)
{
super.keyTyped(typedChar, keyCode);
}
else
{
String s = this.inputField.getText().trim();
if (!s.isEmpty())
{
this.submitChatMessage(s); // Forge: fix vanilla not adding messages to the sent list while sleeping
}
this.inputField.setText("");
this.mc.ingameGUI.getChatGUI().resetScroll();
}
}
protected void actionPerformed(GuiButton button)
{
if (button.id == 1)
{
this.wakeFromSleep();
}
else
{
super.actionPerformed(button);
}
}
private void wakeFromSleep()
{
NetHandlerPlayClient nethandlerplayclient = this.mc.thePlayer.sendQueue;
nethandlerplayclient.addToSendQueue(new C0BPacketEntityAction(this.mc.thePlayer, 3));
}
}