001package net.minecraft.network.packet;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import java.io.DataInputStream;
006import java.io.DataOutputStream;
007import java.io.IOException;
008
009public class Packet7UseEntity extends Packet
010{
011    /** The entity of the player (ignored by the server) */
012    public int playerEntityId;
013
014    /** The entity the player is interacting with */
015    public int targetEntity;
016
017    /**
018     * Seems to be true when the player is pointing at an entity and left-clicking and false when right-clicking.
019     */
020    public int isLeftClick;
021
022    public Packet7UseEntity() {}
023
024    @SideOnly(Side.CLIENT)
025    public Packet7UseEntity(int par1, int par2, int par3)
026    {
027        this.playerEntityId = par1;
028        this.targetEntity = par2;
029        this.isLeftClick = par3;
030    }
031
032    /**
033     * Abstract. Reads the raw packet data from the data stream.
034     */
035    public void readPacketData(DataInputStream par1DataInputStream) throws IOException
036    {
037        this.playerEntityId = par1DataInputStream.readInt();
038        this.targetEntity = par1DataInputStream.readInt();
039        this.isLeftClick = par1DataInputStream.readByte();
040    }
041
042    /**
043     * Abstract. Writes the raw packet data to the data stream.
044     */
045    public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
046    {
047        par1DataOutputStream.writeInt(this.playerEntityId);
048        par1DataOutputStream.writeInt(this.targetEntity);
049        par1DataOutputStream.writeByte(this.isLeftClick);
050    }
051
052    /**
053     * Passes this Packet on to the NetHandler for processing.
054     */
055    public void processPacket(NetHandler par1NetHandler)
056    {
057        par1NetHandler.handleUseEntity(this);
058    }
059
060    /**
061     * Abstract. Return the size of the packet (not counting the header).
062     */
063    public int getPacketSize()
064    {
065        return 9;
066    }
067}