001package net.minecraft.network.packet;
002
003import java.io.DataInputStream;
004import java.io.DataOutputStream;
005import java.io.IOException;
006import net.minecraft.potion.PotionEffect;
007
008public class Packet42RemoveEntityEffect extends Packet
009{
010    /** The ID of the entity which an effect is being removed from. */
011    public int entityId;
012
013    /** The ID of the effect which is being removed from an entity. */
014    public byte effectId;
015
016    public Packet42RemoveEntityEffect() {}
017
018    public Packet42RemoveEntityEffect(int par1, PotionEffect par2PotionEffect)
019    {
020        this.entityId = par1;
021        this.effectId = (byte)(par2PotionEffect.getPotionID() & 255);
022    }
023
024    /**
025     * Abstract. Reads the raw packet data from the data stream.
026     */
027    public void readPacketData(DataInputStream par1DataInputStream) throws IOException
028    {
029        this.entityId = par1DataInputStream.readInt();
030        this.effectId = par1DataInputStream.readByte();
031    }
032
033    /**
034     * Abstract. Writes the raw packet data to the data stream.
035     */
036    public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
037    {
038        par1DataOutputStream.writeInt(this.entityId);
039        par1DataOutputStream.writeByte(this.effectId);
040    }
041
042    /**
043     * Passes this Packet on to the NetHandler for processing.
044     */
045    public void processPacket(NetHandler par1NetHandler)
046    {
047        par1NetHandler.handleRemoveEntityEffect(this);
048    }
049
050    /**
051     * Abstract. Return the size of the packet (not counting the header).
052     */
053    public int getPacketSize()
054    {
055        return 5;
056    }
057}