package minefantasy.mf2.network.packet; import io.netty.buffer.ByteBuf; import minefantasy.mf2.MineFantasyII; import minefantasy.mf2.block.tileentity.TileEntityChimney; import minefantasy.mf2.util.MFLogUtil; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import cpw.mods.fml.common.network.ByteBufUtils; public class ChimneyPacket extends PacketMF { public static final String packetName = "MF2_ChimneyPacket"; private int[] coords = new int[3]; private int block, meta; public ChimneyPacket(TileEntityChimney tile) { coords = new int[]{tile.xCoord, tile.yCoord, tile.zCoord}; block = Block.getIdFromBlock(tile.maskBlock); meta = tile.blockMetadata; } public ChimneyPacket() { } @Override public void process(ByteBuf packet, EntityPlayer player) { coords = new int[]{packet.readInt(), packet.readInt(), packet.readInt()}; TileEntity entity = player.worldObj.getTileEntity(coords[0], coords[1], coords[2]); if(entity != null && entity instanceof TileEntityChimney) { TileEntityChimney tile = (TileEntityChimney)entity; int blockID = packet.readInt(); int blockMetadata = packet.readInt(); if(Block.getIdFromBlock(tile.maskBlock) != blockID || tile.maskMeta != blockMetadata) { MFLogUtil.logDebug("Chimney Texture Change Found"); } tile.setBlock(blockID, blockMetadata); } } @Override public String getChannel() { return packetName; } @Override public void write(ByteBuf packet) { for(int a = 0; a < coords.length; a++) { packet.writeInt(coords[a]); } packet.writeInt(block); packet.writeInt(meta); } }