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