    001    package net.minecraft.network.packet;
    002
    003    import java.io.DataInputStream;
    004    import java.io.DataOutputStream;
    005    import java.io.IOException;
    006
    007    public class Packet30Entity extends Packet
    008    {
    009        /** The ID of this entity. */
    010        public int entityId;
    011
    012        /** The X axis relative movement. */
    013        public byte xPosition;
    014
    015        /** The Y axis relative movement. */
    016        public byte yPosition;
    017
    018        /** The Z axis relative movement. */
    019        public byte zPosition;
    020
    021        /** The X axis rotation. */
    022        public byte yaw;
    023
    024        /** The Y axis rotation. */
    025        public byte pitch;
    026
    027        /** Boolean set to true if the entity is rotating. */
    028        public boolean rotating = false;
    029
    030        public Packet30Entity() {}
    031
    032        public Packet30Entity(int par1)
    033        {
    034            this.entityId = par1;
    035        }
    036
    037        /**
    038         * Abstract. Reads the raw packet data from the data stream.
    039         */
    040        public void readPacketData(DataInputStream par1DataInputStream) throws IOException
    041        {
    042            this.entityId = par1DataInputStream.readInt();
    043        }
    044
    045        /**
    046         * Abstract. Writes the raw packet data to the data stream.
    047         */
    048        public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
    049        {
    050            par1DataOutputStream.writeInt(this.entityId);
    051        }
    052
    053        /**
    054         * Passes this Packet on to the NetHandler for processing.
    055         */
    056        public void processPacket(NetHandler par1NetHandler)
    057        {
    058            par1NetHandler.handleEntity(this);
    059        }
    060
    061        /**
    062         * Abstract. Return the size of the packet (not counting the header).
    063         */
    064        public int getPacketSize()
    065        {
    066            return 4;
    067        }
    068
    069        public String toString()
    070        {
    071            return "Entity_" + super.toString();
    072        }
    073
    074        /**
    075         * only false for the abstract Packet class, all real packets return true
    076         */
    077        public boolean isRealPacket()
    078        {
    079            return true;
    080        }
    081
    082        /**
    083         * eg return packet30entity.entityId == entityId; WARNING : will throw if you compare a packet to a different packet
    084         * class
    085         */
    086        public boolean containsSameEntityIDAs(Packet par1Packet)
    087        {
    088            Packet30Entity var2 = (Packet30Entity)par1Packet;
    089            return var2.entityId == this.entityId;
    090        }
    091    }