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 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    }