Fixed Infinite Power Bug with Energy Acceptor.

This commit is contained in:
AlgorithmX2
2014-03-11 20:54:04 -05:00
parent 08df0f8b06
commit ca46b3e2d9
2 changed files with 35 additions and 13 deletions
+22 -3
View File
@@ -45,8 +45,7 @@ public class TileEnergyAcceptor extends AENetworkPowerTile
if ( powerRequested > 0 )
{
internalCurrentPower += eg
.injectPower( extractAEPower( powerRequested, Actionable.MODULATE, PowerMultiplier.ONE ), Actionable.MODULATE );
eg.injectPower( extractAEPower( powerRequested, Actionable.MODULATE, PowerMultiplier.ONE ), Actionable.MODULATE );
}
}
catch (GridAccessException e)
@@ -58,9 +57,29 @@ public class TileEnergyAcceptor extends AENetworkPowerTile
}
};
@Override
protected double funnelPowerIntoStorage(double newPower, Actionable mode)
{
try
{
IEnergyGrid grid = gridProxy.getEnergy();
double overFlow = grid.injectPower( newPower, Actionable.SIMULATE );
if ( mode == Actionable.MODULATE )
grid.injectPower( Math.max( 0.0, newPower - overFlow ), Actionable.MODULATE );
return super.funnelPowerIntoStorage( overFlow, mode );
}
catch (GridAccessException e)
{
return super.funnelPowerIntoStorage( newPower, mode );
}
}
public TileEnergyAcceptor() {
gridProxy.setIdlePowerUsage( 1.0 / 16.0 );
gridProxy.setIdlePowerUsage( 0.0 );
addNewHandler( new TilePowerRelayHandler() );
internalMaxPower = 100;
}
@Override