001    package net.minecraft.network.packet;
002    
003    import cpw.mods.fml.relauncher.Side;
004    import cpw.mods.fml.relauncher.SideOnly;
005    import java.io.DataInputStream;
006    import java.io.DataOutputStream;
007    import java.io.IOException;
008    
009    public class Packet10Flying extends Packet
010    {
011        /** The player's X position. */
012        public double xPosition;
013    
014        /** The player's Y position. */
015        public double yPosition;
016    
017        /** The player's Z position. */
018        public double zPosition;
019    
020        /** The player's stance. (boundingBox.minY) */
021        public double stance;
022    
023        /** The player's yaw rotation. */
024        public float yaw;
025    
026        /** The player's pitch rotation. */
027        public float pitch;
028    
029        /** True if the client is on the ground. */
030        public boolean onGround;
031    
032        /** Boolean set to true if the player is moving. */
033        public boolean moving;
034    
035        /** Boolean set to true if the player is rotating. */
036        public boolean rotating;
037    
038        public Packet10Flying() {}
039    
040        @SideOnly(Side.CLIENT)
041        public Packet10Flying(boolean par1)
042        {
043            this.onGround = par1;
044        }
045    
046        /**
047         * Passes this Packet on to the NetHandler for processing.
048         */
049        public void processPacket(NetHandler par1NetHandler)
050        {
051            par1NetHandler.handleFlying(this);
052        }
053    
054        /**
055         * Abstract. Reads the raw packet data from the data stream.
056         */
057        public void readPacketData(DataInputStream par1DataInputStream) throws IOException
058        {
059            this.onGround = par1DataInputStream.read() != 0;
060        }
061    
062        /**
063         * Abstract. Writes the raw packet data to the data stream.
064         */
065        public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException
066        {
067            par1DataOutputStream.write(this.onGround ? 1 : 0);
068        }
069    
070        /**
071         * Abstract. Return the size of the packet (not counting the header).
072         */
073        public int getPacketSize()
074        {
075            return 1;
076        }
077    
078        /**
079         * only false for the abstract Packet class, all real packets return true
080         */
081        public boolean isRealPacket()
082        {
083            return true;
084        }
085    
086        /**
087         * eg return packet30entity.entityId == entityId; WARNING : will throw if you compare a packet to a different packet
088         * class
089         */
090        public boolean containsSameEntityIDAs(Packet par1Packet)
091        {
092            return true;
093        }
094    }