    001    package net.minecraft.src;
    002
    003    import java.io.DataInputStream;
    004    import java.io.DataOutputStream;
    005    import java.io.IOException;
    006
    007    public class Packet71Weather extends Packet
    008    {
    009        public int entityID;
    010        public int posX;
    011        public int posY;
    012        public int posZ;
    013        public int isLightningBolt;
    014
    015        public Packet71Weather() {}
    016
    017        public Packet71Weather(Entity par1Entity)
    018        {
    019            this.entityID = par1Entity.entityId;
    020            this.posX = MathHelper.floor_double(par1Entity.posX * 32.0D);
    021            this.posY = MathHelper.floor_double(par1Entity.posY * 32.0D);
    022            this.posZ = MathHelper.floor_double(par1Entity.posZ * 32.0D);
    023
    024            if (par1Entity instanceof EntityLightningBolt)
    025            {
    026                this.isLightningBolt = 1;
    027            }
    028        }
    029
    030        /**
    031         * Abstract. Reads the raw packet data from the data stream.
    032         */
    033        public void readPacketData(DataInputStream par1DataInputStream) throws IOException
    034        {
    035            this.entityID = par1DataInputStream.readInt();
    036            this.isLightningBolt = par1DataInputStream.readByte();
    037            this.posX = par1DataInputStream.readInt();
    038            this.posY = par1DataInputStream.readInt();
    039            this.posZ = par1DataInputStream.readInt();
    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.entityID);
    048            par1DataOutputStream.writeByte(this.isLightningBolt);
    049            par1DataOutputStream.writeInt(this.posX);
    050            par1DataOutputStream.writeInt(this.posY);
    051            par1DataOutputStream.writeInt(this.posZ);
    052        }
    053
    054        /**
    055         * Passes this Packet on to the NetHandler for processing.
    056         */
    057        public void processPacket(NetHandler par1NetHandler)
    058        {
    059            par1NetHandler.handleWeather(this);
    060        }
    061
    062        /**
    063         * Abstract. Return the size of the packet (not counting the header).
    064         */
    065        public int getPacketSize()
    066        {
    067            return 17;
    068        }
    069    }