Package erogenousbeef.bigreactors.net.message.base

Source Code of erogenousbeef.bigreactors.net.message.base.TurbineMessageClient$Handler

package erogenousbeef.bigreactors.net.message.base;

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.BRLog;
import erogenousbeef.bigreactors.common.multiblock.MultiblockTurbine;
import erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityTurbinePartBase;
import erogenousbeef.core.common.CoordTriplet;

public class TurbineMessageClient extends WorldMessageClient {
  protected MultiblockTurbine turbine;
 
  protected TurbineMessageClient() { super(); turbine = null; }
  protected TurbineMessageClient(MultiblockTurbine turbine, CoordTriplet referenceCoord) {
    super(referenceCoord.x, referenceCoord.y, referenceCoord.z);
    this.turbine = turbine;
  }
  protected TurbineMessageClient(MultiblockTurbine turbine) {
    this(turbine, turbine.getReferenceCoord());
  }
 
  public static abstract class Handler<M extends TurbineMessageClient> extends WorldMessageClient.Handler<M> {
    protected abstract IMessage handleMessage(M message, MessageContext ctx, MultiblockTurbine turbine);

    @Override
    protected IMessage handleMessage(M message, MessageContext ctx, TileEntity te) {
      if(te instanceof TileEntityTurbinePartBase) {
        MultiblockTurbine reactor = ((TileEntityTurbinePartBase)te).getTurbine();
        if(reactor != null) {
          return handleMessage(message, ctx, reactor);
        }
        else {
          BRLog.error("Received TurbineMessageClient for a turbine part @ %d, %d, %d which has no attached turbine", te.xCoord, te.yCoord, te.zCoord);
        }
      }
      else {
        BRLog.error("Received TurbineMessageClient for a non-turbine-part block @ %d, %d, %d", message.x, message.y, message.z);
      }
      return null;
    }
  }
}
TOP

Related Classes of erogenousbeef.bigreactors.net.message.base.TurbineMessageClient$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.