Package buildcraft.api.power

Examples of buildcraft.api.power.IPowerReceptor


      if(te == null || !(te instanceof IPowerReceptor))
      {
        continue;
      }
     
      IPowerReceptor ipr = ((IPowerReceptor)te);
      IPowerProvider pp = ipr.getPowerProvider();
      if(pp != null && pp.preConditions(ipr) && pp.getMinEnergyReceived() <= mj)
      {
        int mjUsed = Math.min(Math.min(pp.getMaxEnergyReceived(), mj), pp.getMaxEnergyStored() - (int)Math.floor(pp.getEnergyStored()));
        pp.receiveEnergy(mjUsed, bp.orientation);
       
View Full Code Here


public class ModuleBuildCraft extends CompatibilityModule
{
  @Override
  public long doReceiveEnergy(Object handler, ForgeDirection direction, long energy, boolean doReceive)
  {
    IPowerReceptor receptor = ((IPowerReceptor) handler);
    PowerReceiver receiver = receptor.getPowerReceiver(direction);

    if (receiver != null && energy > 0)
    {
        float bc = (float) (energy * CompatibilityType.BUILDCRAFT.ratio);
      if (doReceive)
View Full Code Here

  @Method(iname = "MJ5")
  public IBatteryObject provider(final TileEntity te, final ForgeDirection side)
  {
    if ( te instanceof IPowerReceptor )
    {
      final IPowerReceptor receptor = (IPowerReceptor) te;
      final PowerReceiver ph = receptor.getPowerReceiver( side );

      if ( ph == null )
        return null;

      return new IBatteryObject() {
View Full Code Here

        return TickRateModulation.IDLE;
      }

      for (PartP2PBCPower o : tunnels)
      {
        IPowerReceptor target = o.getPowerTarget();
        if ( target != null )
        {
          PowerReceiver tp = target.getPowerReceiver( side.getOpposite() );
          if ( tp != null )
          {
            double request = tp.powerRequest();

            if ( request > tp.getMaxEnergyReceived() )
              request = tp.getMaxEnergyReceived();

            if ( request > 0.01 && request > tp.getMinEnergyReceived() )
            {
              totalRequiredPower += request;
            }
          }
        }
      }

      if ( totalRequiredPower < 0.1 )
        return TickRateModulation.SLOWER;

      double currentTotal = pp.getPowerReceiver().getEnergyStored();
      if ( currentTotal < 0.01 )
        return TickRateModulation.SLOWER;

      for (PartP2PBCPower o : tunnels)
      {
        IPowerReceptor target = o.getPowerTarget();
        if ( target != null )
        {
          PowerReceiver tp = target.getPowerReceiver( side.getOpposite() );
          if ( tp != null )
          {
            double request = tp.powerRequest();

            if ( request > tp.getMaxEnergyReceived() )
View Full Code Here

                pistonStage = 2;

                TileEntity tile = WorldPlugin.getTileEntityOnSide(worldObj, xCoord, yCoord, zCoord, direction);

                if (EngineTools.isPoweredTile(tile, direction.getOpposite())) {
                    IPowerReceptor receptor = (IPowerReceptor) tile;

                    PowerReceiver recProv = receptor.getPowerReceiver(direction.getOpposite());

                    double extracted = extractEnergy(recProv.getMinEnergyReceived(), recProv.getMaxEnergyReceived(), true);

                    if (extracted > 0)
                        recProv.receiveEnergy(PowerHandler.Type.ENGINE, extracted, direction.getOpposite());
                }
            } else if (pistonProgress >= 1) {
                pistonProgress = 0;
                pistonStage = 0;
            }
        } else if (powered) {
            TileEntity tile = WorldPlugin.getTileEntityOnSide(worldObj, xCoord, yCoord, zCoord, direction);

            if (EngineTools.isPoweredTile(tile, direction.getOpposite())) {
                IPowerReceptor receptor = (IPowerReceptor) tile;

                PowerReceiver recProv = receptor.getPowerReceiver(direction.getOpposite());

                if (extractEnergy(recProv.getMinEnergyReceived(), recProv.getMaxEnergyReceived(), false) > 0) {
                    pistonStage = 1;
                    setActive(true);
                } else
View Full Code Here

*/
public class EngineTools {

    public static boolean isPoweredTile(TileEntity tile, ForgeDirection side) {
        if (tile instanceof IPowerReceptor) {
            IPowerReceptor receptor = (IPowerReceptor) tile;
            PowerReceiver provider = receptor.getPowerReceiver(side);

            return provider instanceof PowerReceiver;
        }

        return false;
View Full Code Here

      initialize();
      init = true;
    }

    if (this instanceof IPowerReceptor) {
      IPowerReceptor receptor = (IPowerReceptor) this;
      receptor.getPowerReceiver(null).update();
    }
  }
View Full Code Here

      }
      return true;
    }

    if (tile instanceof IPowerReceptor) {
      IPowerReceptor receptor = (IPowerReceptor) tile;
      PowerReceiver receiver = receptor.getPowerReceiver(side.getOpposite());
      if (receiver != null && receiver.getType().canReceiveFromPipes()) {
        return true;
      }
    }
View Full Code Here

  private PowerReceiver getReceiverOnSide(ForgeDirection side) {
    TileEntity tile = tiles[side.ordinal()];
    if (!(tile instanceof IPowerReceptor)) {
      return null;
    }
    IPowerReceptor receptor = (IPowerReceptor) tile;
    PowerReceiver receiver = receptor.getPowerReceiver(side.getOpposite());
    if (receiver == null) {
      return null;
    }
    if (!receiver.getType().canReceiveFromPipes()) {
      return null;
View Full Code Here

TOP

Related Classes of buildcraft.api.power.IPowerReceptor

Copyright © 2018 www.massapicom. 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.