    001package net.minecraft.network.packet;
    002
    003import java.io.DataInputStream;
    004import java.io.DataOutputStream;
    005import java.io.IOException;
    006
    007public 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}