package crazypants.enderio.machine.generator.combustion; import io.netty.buffer.ByteBuf; import net.minecraft.nbt.NBTTagCompound; import com.enderio.core.common.network.MessageTileEntity; import com.enderio.core.common.network.NetworkUtil; import cpw.mods.fml.common.network.simpleimpl.IMessage; import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import crazypants.util.ClientUtil; public class PacketCombustionTank extends MessageTileEntity<TileCombustionGenerator> implements IMessageHandler<PacketCombustionTank, IMessage> { public NBTTagCompound nbtRoot; public PacketCombustionTank() { } public PacketCombustionTank(TileCombustionGenerator tile) { super(tile); nbtRoot = new NBTTagCompound(); if(tile.getCoolantTank().getFluidAmount() > 0) { NBTTagCompound tankRoot = new NBTTagCompound(); tile.getCoolantTank().writeToNBT(tankRoot); nbtRoot.setTag("coolantTank", tankRoot); } if(tile.getFuelTank().getFluidAmount() > 0) { NBTTagCompound tankRoot = new NBTTagCompound(); tile.getFuelTank().writeToNBT(tankRoot); nbtRoot.setTag("fuelTank", tankRoot); } } @Override public void toBytes(ByteBuf buf) { super.toBytes(buf); NetworkUtil.writeNBTTagCompound(nbtRoot, buf); } @Override public void fromBytes(ByteBuf buf) { super.fromBytes(buf); nbtRoot = NetworkUtil.readNBTTagCompound(buf); } @Override public IMessage onMessage(PacketCombustionTank message, MessageContext ctx) { ClientUtil.setTankNBT(message, message.x, message.y, message.z); return null; } }