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}