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.MessageContext; import crazypants.enderio.machine.RedstoneControlMode; import crazypants.enderio.machine.capbank.TileCapBank; import crazypants.enderio.machine.capbank.network.ICapBankNetwork; public class PacketGuiChange extends PacketCapBank<PacketGuiChange, IMessage> { private int maxSend; private int maxRec; private RedstoneControlMode inputMode; private RedstoneControlMode outputMode; public PacketGuiChange() { } public PacketGuiChange(TileCapBank capBank) { super(capBank); ICapBankNetwork network = capBank.getNetwork(); maxSend = network.getMaxOutput(); maxRec = network.getMaxInput(); inputMode = network.getInputControlMode(); outputMode = network.getOutputControlMode(); } @Override public void toBytes(ByteBuf buf) { super.toBytes(buf); buf.writeInt(maxSend); buf.writeInt(maxRec); buf.writeShort(inputMode.ordinal()); buf.writeShort(outputMode.ordinal()); } @Override public void fromBytes(ByteBuf buf) { super.fromBytes(buf); maxSend = buf.readInt(); maxRec = buf.readInt(); inputMode = RedstoneControlMode.values()[buf.readShort()]; outputMode = RedstoneControlMode.values()[buf.readShort()]; } @Override protected IMessage handleMessage(TileCapBank te, PacketGuiChange message, MessageContext ctx) { ICapBankNetwork net = te.getNetwork(); if(net == null) { return null; } net.setMaxOutput(message.maxSend); net.setMaxInput(message.maxRec); net.setInputControlMode(message.inputMode); net.setOutputControlMode(message.outputMode); return null; } }