    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    }