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 Packet41EntityEffect extends Packet 008 { 009 public int entityId; 010 public byte effectId; 011 012 /** The effect's amplifier. */ 013 public byte effectAmplifier; 014 public short duration; 015 016 public Packet41EntityEffect() {} 017 018 public Packet41EntityEffect(int par1, PotionEffect par2PotionEffect) 019 { 020 this.entityId = par1; 021 this.effectId = (byte)(par2PotionEffect.getPotionID() & 255); 022 this.effectAmplifier = (byte)(par2PotionEffect.getAmplifier() & 255); 023 this.duration = (short)par2PotionEffect.getDuration(); 024 } 025 026 /** 027 * Abstract. Reads the raw packet data from the data stream. 028 */ 029 public void readPacketData(DataInputStream par1DataInputStream) throws IOException 030 { 031 this.entityId = par1DataInputStream.readInt(); 032 this.effectId = par1DataInputStream.readByte(); 033 this.effectAmplifier = par1DataInputStream.readByte(); 034 this.duration = par1DataInputStream.readShort(); 035 } 036 037 /** 038 * Abstract. Writes the raw packet data to the data stream. 039 */ 040 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException 041 { 042 par1DataOutputStream.writeInt(this.entityId); 043 par1DataOutputStream.writeByte(this.effectId); 044 par1DataOutputStream.writeByte(this.effectAmplifier); 045 par1DataOutputStream.writeShort(this.duration); 046 } 047 048 /** 049 * Passes this Packet on to the NetHandler for processing. 050 */ 051 public void processPacket(NetHandler par1NetHandler) 052 { 053 par1NetHandler.handleEntityEffect(this); 054 } 055 056 /** 057 * Abstract. Return the size of the packet (not counting the header). 058 */ 059 public int getPacketSize() 060 { 061 return 8; 062 } 063 064 /** 065 * only false for the abstract Packet class, all real packets return true 066 */ 067 public boolean isRealPacket() 068 { 069 return true; 070 } 071 072 /** 073 * eg return packet30entity.entityId == entityId; WARNING : will throw if you compare a packet to a different packet 074 * class 075 */ 076 public boolean containsSameEntityIDAs(Packet par1Packet) 077 { 078 Packet41EntityEffect var2 = (Packet41EntityEffect)par1Packet; 079 return var2.entityId == this.entityId && var2.effectId == this.effectId; 080 } 081 }