    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}