@Override public double extractAEPower( final double amt, final Actionable mode, final PowerMultiplier usePowerMultiplier ) { if( this.node.isActive() ) { return this.realSrc.extractAEPower( amt, mode, usePowerMultiplier ); } return 0.0; } }
final double availablePower = energy.extractAEPower( retrieved / energyFactor, Actionable.SIMULATE, PowerMultiplier.CONFIG ); final long itemToExtract = Math.min( (long) ( ( availablePower * energyFactor ) + 0.9 ), retrieved ); energy.extractAEPower( retrieved / energyFactor, Actionable.MODULATE, PowerMultiplier.CONFIG ); possible.setStackSize( itemToExtract ); final T ret = cell.extractItems( possible, Actionable.MODULATE, src );
final double availablePower = energy.extractAEPower( stored / energyFactor, Actionable.SIMULATE, PowerMultiplier.CONFIG ); final long itemToAdd = Math.min( (long) ( ( availablePower * energyFactor ) + 0.9 ), stored ); energy.extractAEPower( stored / energyFactor, Actionable.MODULATE, PowerMultiplier.CONFIG ); if( itemToAdd < input.getStackSize() )
protected void updatePowerStatus() { try { if( this.networkNode != null ) { this.setPowered( this.networkNode.isActive() ); } else if( this.getPowerSource() instanceof IEnergyGrid ) { this.setPowered( ( (IEnergyGrid) this.getPowerSource() ).isNetworkPowered() ); } else { this.setPowered( this.getPowerSource().extractAEPower( 1, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > 0.8 ); } } catch( final Exception ignore ) { // :P } }
protected void updatePowerStatus() { try { if( this.networkNode != null ) { this.setPowered( this.networkNode.isActive() ); } else if( this.getPowerSource() instanceof IEnergyGrid ) { this.setPowered( ( (IEnergyGrid) this.getPowerSource() ).isNetworkPowered() ); } else { this.setPowered( this.getPowerSource().extractAEPower( 1, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > 0.8 ); } } catch( final Throwable t ) { // :P } }
public static ItemStack extractItemsByRecipe( final IEnergySource energySrc, final IActionSource mySrc, final IMEMonitor<IAEItemStack> src, final World w, final IRecipe r, final ItemStack output, final InventoryCrafting ci, final ItemStack providedTemplate, final int slot, final IItemList<IAEItemStack> items, final Actionable realForFake, final IPartitionList<IAEItemStack> filter ) if( energySrc.extractAEPower( 1, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > 0.9 ) if( !extracted.isEmpty() ) energySrc.extractAEPower( 1, realForFake, PowerMultiplier.CONFIG ); return extracted; if( ex != null ) energySrc.extractAEPower( 1, realForFake, PowerMultiplier.CONFIG ); return ex.createItemStack();
public static <T extends IAEStack<T>> T inventoryExtract(T input, IMEInventory<T> inv, IActionSource src, IEnergySource energy, Actionable mode) { Preconditions.checkNotNull(input); Preconditions.checkNotNull(inv); Preconditions.checkNotNull(src); Preconditions.checkNotNull(mode); T canExtract = inv.extractItems(input.copy(), Actionable.SIMULATE, src); if (canExtract == null) // There is no item return null; long toExtract = canExtract.getStackSize(); double energyFactor = 0; if (energy != null) { // We need to factor in power available energyFactor = Math.max(1.0, inv.getChannel().transferFactor()); double availablePower = energy.extractAEPower(toExtract / energyFactor, Actionable.SIMULATE, PowerMultiplier.CONFIG); toExtract = Math.min((long) ((availablePower * energyFactor) + 0.9), toExtract); } if (toExtract < 1) return null; if (mode == Actionable.SIMULATE) return canExtract.setStackSize(toExtract); if (energy != null) energy.extractAEPower(toExtract / energyFactor, Actionable.MODULATE, PowerMultiplier.CONFIG); canExtract.setStackSize(toExtract); return inv.extractItems(canExtract, Actionable.MODULATE, src); }
src.extractAEPower( powerConsumption, Actionable.MODULATE, PowerMultiplier.CONFIG );
if (energy != null) { // We need to factor in power available energyFactor = Math.max(1.0, inv.getChannel().transferFactor()); double availablePower = energy.extractAEPower(toAdd / energyFactor, Actionable.SIMULATE, PowerMultiplier.CONFIG); toAdd = Math.min((long) ((availablePower * energyFactor) + 0.9), toAdd); energy.extractAEPower(toAdd / energyFactor, Actionable.MODULATE, PowerMultiplier.CONFIG); if (input.getStackSize() == toAdd) // We have enough power to add everything return inv.injectItems(input, Actionable.MODULATE, src);