001package net.minecraft.network.packet;
002
003import java.io.DataInputStream;
004import java.io.DataOutputStream;
005import java.io.IOException;
006
007public class Packet200Statistic extends Packet
008{
009    public int statisticId;
010    public int amount;
011
012    public Packet200Statistic() {}
013
014    public Packet200Statistic(int par1, int par2)
015    {
016        this.statisticId = par1;
017        this.amount = par2;
018    }
019
020    /**
021     * Passes this Packet on to the NetHandler for processing.
022     */
023    public void processPacket(NetHandler par1NetHandler)
024    {
025        par1NetHandler.handleStatistic(this);
026    }
027
028    /**
029     * Abstract. Reads the raw packet data from the data stream.
030     */
031    public void readPacketData(DataInputStream par1DataInputStream) throws IOException
032    {
033        this.statisticId = par1DataInputStream.readInt();
034        this.amount = par1DataInputStream.readByte();
035    }
036
037    /**
038     * Abstract. Writes the raw packet data to the data stream.
039     */
040    public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
041    {
042        par1DataOutputStream.writeInt(this.statisticId);
043        par1DataOutputStream.writeByte(this.amount);
044    }
045
046    /**
047     * Abstract. Return the size of the packet (not counting the header).
048     */
049    public int getPacketSize()
050    {
051        return 6;
052    }
053
054    /**
055     * If this returns true, the packet may be processed on any thread; otherwise it is queued for the main thread to
056     * handle.
057     */
058    public boolean canProcessAsync()
059    {
060        return true;
061    }
062}