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.item.EntityXPOrb; 007 import net.minecraft.util.MathHelper; 008 009 public class Packet26EntityExpOrb extends Packet 010 { 011 /** Entity ID for the XP Orb */ 012 public int entityId; 013 public int posX; 014 public int posY; 015 public int posZ; 016 017 /** The Orbs Experience points value. */ 018 public int xpValue; 019 020 public Packet26EntityExpOrb() {} 021 022 public Packet26EntityExpOrb(EntityXPOrb par1EntityXPOrb) 023 { 024 this.entityId = par1EntityXPOrb.entityId; 025 this.posX = MathHelper.floor_double(par1EntityXPOrb.posX * 32.0D); 026 this.posY = MathHelper.floor_double(par1EntityXPOrb.posY * 32.0D); 027 this.posZ = MathHelper.floor_double(par1EntityXPOrb.posZ * 32.0D); 028 this.xpValue = par1EntityXPOrb.getXpValue(); 029 } 030 031 /** 032 * Abstract. Reads the raw packet data from the data stream. 033 */ 034 public void readPacketData(DataInputStream par1DataInputStream) throws IOException 035 { 036 this.entityId = par1DataInputStream.readInt(); 037 this.posX = par1DataInputStream.readInt(); 038 this.posY = par1DataInputStream.readInt(); 039 this.posZ = par1DataInputStream.readInt(); 040 this.xpValue = par1DataInputStream.readShort(); 041 } 042 043 /** 044 * Abstract. Writes the raw packet data to the data stream. 045 */ 046 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException 047 { 048 par1DataOutputStream.writeInt(this.entityId); 049 par1DataOutputStream.writeInt(this.posX); 050 par1DataOutputStream.writeInt(this.posY); 051 par1DataOutputStream.writeInt(this.posZ); 052 par1DataOutputStream.writeShort(this.xpValue); 053 } 054 055 /** 056 * Passes this Packet on to the NetHandler for processing. 057 */ 058 public void processPacket(NetHandler par1NetHandler) 059 { 060 par1NetHandler.handleEntityExpOrb(this); 061 } 062 063 /** 064 * Abstract. Return the size of the packet (not counting the header). 065 */ 066 public int getPacketSize() 067 { 068 return 18; 069 } 070 }