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.nbt.NBTTagCompound; 007 008 public class Packet132TileEntityData extends Packet 009 { 010 /** The X position of the tile entity to update. */ 011 public int xPosition; 012 013 /** The Y position of the tile entity to update. */ 014 public int yPosition; 015 016 /** The Z position of the tile entity to update. */ 017 public int zPosition; 018 019 /** The type of update to perform on the tile entity. */ 020 public int actionType; 021 022 /** Custom parameter 1 passed to the tile entity on update. */ 023 public NBTTagCompound customParam1; 024 025 public Packet132TileEntityData() 026 { 027 this.isChunkDataPacket = true; 028 } 029 030 public Packet132TileEntityData(int par1, int par2, int par3, int par4, NBTTagCompound par5NBTTagCompound) 031 { 032 this.isChunkDataPacket = true; 033 this.xPosition = par1; 034 this.yPosition = par2; 035 this.zPosition = par3; 036 this.actionType = par4; 037 this.customParam1 = par5NBTTagCompound; 038 } 039 040 /** 041 * Abstract. Reads the raw packet data from the data stream. 042 */ 043 public void readPacketData(DataInputStream par1DataInputStream) throws IOException 044 { 045 this.xPosition = par1DataInputStream.readInt(); 046 this.yPosition = par1DataInputStream.readShort(); 047 this.zPosition = par1DataInputStream.readInt(); 048 this.actionType = par1DataInputStream.readByte(); 049 this.customParam1 = readNBTTagCompound(par1DataInputStream); 050 } 051 052 /** 053 * Abstract. Writes the raw packet data to the data stream. 054 */ 055 public void writePacketData(DataOutputStream par1DataOutputStream) throws IOException 056 { 057 par1DataOutputStream.writeInt(this.xPosition); 058 par1DataOutputStream.writeShort(this.yPosition); 059 par1DataOutputStream.writeInt(this.zPosition); 060 par1DataOutputStream.writeByte((byte)this.actionType); 061 writeNBTTagCompound(this.customParam1, par1DataOutputStream); 062 } 063 064 /** 065 * Passes this Packet on to the NetHandler for processing. 066 */ 067 public void processPacket(NetHandler par1NetHandler) 068 { 069 par1NetHandler.handleTileEntityData(this); 070 } 071 072 /** 073 * Abstract. Return the size of the packet (not counting the header). 074 */ 075 public int getPacketSize() 076 { 077 return 25; 078 } 079 }