Package erogenousbeef.bigreactors.net.message

Source Code of erogenousbeef.bigreactors.net.message.ControlRodChangeInsertionMessage$Handler

package erogenousbeef.bigreactors.net.message;

import io.netty.buffer.ByteBuf;
import net.minecraft.tileentity.TileEntity;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityReactorControlRod;
import erogenousbeef.bigreactors.net.message.base.WorldMessageServer;

public class ControlRodChangeInsertionMessage extends WorldMessageServer {
  protected int amount;
  protected boolean changeAll;
 
  public ControlRodChangeInsertionMessage() { super(); amount = 0; changeAll = false; }
  public ControlRodChangeInsertionMessage(int x, int y, int z, int amount, boolean all) {
    super(x, y, z);
    this.amount = amount;
    this.changeAll = all;
  }
 
  @Override
  public void fromBytes(ByteBuf buf) {
    super.fromBytes(buf);
    amount = buf.readInt();
    changeAll = buf.readBoolean();
  }
 
  @Override
  public void toBytes(ByteBuf buf) {
    super.toBytes(buf);
    buf.writeInt(amount);
    buf.writeBoolean(changeAll);
  }

  public static class Handler extends WorldMessageServer.Handler<ControlRodChangeInsertionMessage> {
    @Override
    protected IMessage handleMessage(ControlRodChangeInsertionMessage message,
                    MessageContext ctx, TileEntity te) {
      if(te instanceof TileEntityReactorControlRod) {
        TileEntityReactorControlRod rod = (TileEntityReactorControlRod)te;
        int newInsertion = rod.getControlRodInsertion() + (short)message.amount;
        if(message.changeAll && rod.getReactorController() != null)
        {
          rod.getReactorController().setAllControlRodInsertionValues(newInsertion);
        }
        else {
          rod.setControlRodInsertion((short)newInsertion);
        }
      }
      return null;
    }
  }
}
TOP

Related Classes of erogenousbeef.bigreactors.net.message.ControlRodChangeInsertionMessage$Handler

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.