    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}