private int userPower( final int ticksPassed, final int bonusValue, final double acceleratorTax ) { try { return (int) ( this.getProxy() .getEnergy() .extractAEPower( ticksPassed * bonusValue * acceleratorTax, Actionable.MODULATE, PowerMultiplier.CONFIG ) / acceleratorTax ); } catch( final GridAccessException e ) { return 0; } }
protected void queueTunnelDrain( final PowerUnits unit, final double f ) { final double ae_to_tax = unit.convertTo( PowerUnits.AE, f * AEConfig.TUNNEL_POWER_LOSS ); try { this.getProxy().getEnergy().extractAEPower( ae_to_tax, Actionable.MODULATE, PowerMultiplier.ONE ); } catch( final GridAccessException e ) { // :P } }
@Override protected double extractAEPower( final double amt, final Actionable mode ) { double stash = 0.0; try { final IEnergyGrid eg = this.getProxy().getEnergy(); stash = eg.extractAEPower( amt, mode, PowerMultiplier.ONE ); if( stash >= amt ) { return stash; } } catch( final GridAccessException e ) { // no grid :( } // local battery! return super.extractAEPower( amt - stash, mode ) + stash; }
private void updatePowerState() { boolean newState = false; try { newState = this.getProxy().isActive() && this.getProxy().getEnergy().extractAEPower( 1, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > 0.0001; } catch( final GridAccessException ignored ) { } if( newState != this.isPowered ) { this.isPowered = newState; this.markForUpdate(); } }
private boolean storeFluid( IAEFluidStack stack, boolean modulate ) { try { final IStorageGrid storage = this.getProxy().getStorage(); final IMEInventory<IAEFluidStack> inv = storage.getInventory( AEApi.instance().storage().getStorageChannel( IFluidStorageChannel.class ) ); if( modulate ) { final IEnergyGrid energy = this.getProxy().getEnergy(); return Platform.poweredInsert( energy, inv, stack, this.mySrc ) == null; } else { final float requiredPower = stack.getStackSize() / Math.min( 1.0f, stack.getChannel().transferFactor() ); final IEnergyGrid energy = this.getProxy().getEnergy(); if( energy.extractAEPower( requiredPower, Actionable.SIMULATE, PowerMultiplier.CONFIG ) < requiredPower ) { return false; } final IAEFluidStack leftOver = inv.injectItems( stack, Actionable.SIMULATE, this.mySrc ); return leftOver == null || leftOver.getStackSize() == 0; } } catch( final GridAccessException e ) { // :P } return false; }
final double pr = energy.extractAEPower( req, Actionable.SIMULATE, PowerMultiplier.CONFIG ); if( Math.abs( pr - req ) < req * 0.001 ) if( tr.success ) energy.extractAEPower( req, Actionable.MODULATE, PowerMultiplier.CONFIG ); this.inv.setStackInSlot( 0, ItemStack.EMPTY ); this.inv.setStackInSlot( 1, cell );
@Override public IAEItemStack injectCraftedItems( final ICraftingLink link, final IAEItemStack items, final Actionable mode ) { final InventoryAdaptor d = this.getHandler(); try { if( d != null && this.getProxy().isActive() ) { final IEnergyGrid energy = this.getProxy().getEnergy(); final double power = items.getStackSize(); if( energy.extractAEPower( power, mode, PowerMultiplier.CONFIG ) > power - 0.01 ) { if( mode == Actionable.MODULATE ) { return AEItemStack.fromItemStack( d.addItems( items.createItemStack() ) ); } return AEItemStack.fromItemStack( d.simulateAdd( items.createItemStack() ) ); } } } catch( final GridAccessException e ) { AELog.debug( e ); } return items; }
if( eg.extractAEPower( sum, Actionable.MODULATE, PowerMultiplier.CONFIG ) < sum - 0.01 )
extractedAmount += this.getProxy().getEnergy().extractAEPower( toExtract, Actionable.MODULATE, PowerMultiplier.ONE ); final double extracted = this.getProxy().getEnergy().extractAEPower( toExtract, Actionable.MODULATE, PowerMultiplier.ONE );
final float requiredPower = this.calculateEnergyUsage( w, pos, items ); final boolean hasPower = energy.extractAEPower( requiredPower, Actionable.SIMULATE, PowerMultiplier.CONFIG ) > requiredPower - 0.1; final boolean canStore = this.canStoreItemStacks( items ); energy.extractAEPower( requiredPower, Actionable.MODULATE, PowerMultiplier.CONFIG ); this.breakBlockAndStoreItems( w, pos ); AppEng.proxy.sendToAllNearExcept( null, pos.getX(), pos.getY(), pos.getZ(), 64, w,
powerReq = eg.extractAEPower( powerConsumption, Actionable.SIMULATE, PowerMultiplier.CONFIG );