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