package crazypants.enderio.machine.capbank.packet; import io.netty.buffer.ByteBuf; 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.enderio.machine.capbank.network.ClientNetworkManager; import crazypants.enderio.machine.capbank.network.ICapBankNetwork; public class PacketNetworkEnergyResponse implements IMessage, IMessageHandler<PacketNetworkEnergyResponse, IMessage> { private int id; private long energyStored; private float avgInput; private float avgOutput; public PacketNetworkEnergyResponse() { } public PacketNetworkEnergyResponse(ICapBankNetwork network) { id = network.getId(); energyStored = network.getEnergyStoredL(); avgInput = network.getAverageInputPerTick(); avgOutput = network.getAverageOutputPerTick(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(id); buf.writeLong(energyStored); buf.writeFloat(avgInput); buf.writeFloat(avgOutput); } @Override public void fromBytes(ByteBuf buf) { id = buf.readInt(); energyStored = buf.readLong(); avgInput = buf.readFloat(); avgOutput = buf.readFloat(); } @Override public IMessage onMessage(PacketNetworkEnergyResponse message, MessageContext ctx) { ClientNetworkManager.getInstance().updateEnergy(message.id, message.energyStored, message.avgInput, message.avgOutput); return null; } }