001 package net.minecraft.network.packet;
002
003 import java.io.DataInputStream;
004 import java.io.DataOutputStream;
005 import java.io.IOException;
006
007 public class Packet201PlayerInfo extends Packet
008 {
009 /** The player's name. */
010 public String playerName;
011
012 /** Byte that tells whether the player is connected. */
013 public boolean isConnected;
014 public int ping;
015
016 public Packet201PlayerInfo() {}
017
018 public Packet201PlayerInfo(String par1Str, boolean par2, int par3)
019 {
020 this.playerName = par1Str;
021 this.isConnected = par2;
022 this.ping = par3;
023 }
024
025 /**
026 * Abstract. Reads the raw packet data from the data stream.
027 */
028 public void readPacketData(DataInputStream par1DataInputStream) throws IOException
029 {
030 this.playerName = readString(par1DataInputStream, 16);
031 this.isConnected = par1DataInputStream.readByte() != 0;
032 this.ping = par1DataInputStream.readShort();
033 }
034
035 /**
036 * Abstract. Writes the raw packet data to the data stream.
037 */
038 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
039 {
040 writeString(this.playerName, par1DataOutputStream);
041 par1DataOutputStream.writeByte(this.isConnected ? 1 : 0);
042 par1DataOutputStream.writeShort(this.ping);
043 }
044
045 /**
046 * Passes this Packet on to the NetHandler for processing.
047 */
048 public void processPacket(NetHandler par1NetHandler)
049 {
050 par1NetHandler.handlePlayerInfo(this);
051 }
052
053 /**
054 * Abstract. Return the size of the packet (not counting the header).
055 */
056 public int getPacketSize()
057 {
058 return this.playerName.length() + 2 + 1 + 2;
059 }
060 }