    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 Packet43Experience extends Packet
    008    {
    009        /** The current experience bar points. */
    010        public float experience;
    011
    012        /** The total experience points. */
    013        public int experienceTotal;
    014
    015        /** The experience level. */
    016        public int experienceLevel;
    017
    018        public Packet43Experience() {}
    019
    020        public Packet43Experience(float par1, int par2, int par3)
    021        {
    022            this.experience = par1;
    023            this.experienceTotal = par2;
    024            this.experienceLevel = par3;
    025        }
    026
    027        /**
    028         * Abstract. Reads the raw packet data from the data stream.
    029         */
    030        public void readPacketData(DataInputStream par1DataInputStream) throws IOException
    031        {
    032            this.experience = par1DataInputStream.readFloat();
    033            this.experienceLevel = par1DataInputStream.readShort();
    034            this.experienceTotal = par1DataInputStream.readShort();
    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.writeFloat(this.experience);
    043            par1DataOutputStream.writeShort(this.experienceLevel);
    044            par1DataOutputStream.writeShort(this.experienceTotal);
    045        }
    046
    047        /**
    048         * Passes this Packet on to the NetHandler for processing.
    049         */
    050        public void processPacket(NetHandler par1NetHandler)
    051        {
    052            par1NetHandler.handleExperience(this);
    053        }
    054
    055        /**
    056         * Abstract. Return the size of the packet (not counting the header).
    057         */
    058        public int getPacketSize()
    059        {
    060            return 4;
    061        }
    062
    063        /**
    064         * only false for the abstract Packet class, all real packets return true
    065         */
    066        public boolean isRealPacket()
    067        {
    068            return true;
    069        }
    070
    071        /**
    072         * eg return packet30entity.entityId == entityId; WARNING : will throw if you compare a packet to a different packet
    073         * class
    074         */
    075        public boolean containsSameEntityIDAs(Packet par1Packet)
    076        {
    077            return true;
    078        }
    079    }