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    }