yet another try at fixing power issues
This commit is contained in:
committed by
PrototypeTrousers
parent
d229570495
commit
059f20d801
+1
-1
@@ -3,7 +3,7 @@ aechannel=stable
|
|||||||
aebuild=7
|
aebuild=7
|
||||||
aegroup=appeng
|
aegroup=appeng
|
||||||
aebasename=appliedenergistics2
|
aebasename=appliedenergistics2
|
||||||
trousers=omni-fixes-v46p
|
trousers=omni-fixes-v46q
|
||||||
|
|
||||||
#########################################################
|
#########################################################
|
||||||
# Versions #
|
# Versions #
|
||||||
|
|||||||
+15
-36
@@ -191,10 +191,6 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
@Override
|
@Override
|
||||||
public void onUpdateTick()
|
public void onUpdateTick()
|
||||||
{
|
{
|
||||||
if( localStorage.stored < MAX_BUFFER_STORAGE - 0.001 )
|
|
||||||
{
|
|
||||||
this.myGrid.postEvent( new MENetworkPowerStorage( localStorage, PowerEventType.REQUEST_POWER ) );
|
|
||||||
}
|
|
||||||
if( !this.interests.isEmpty() )
|
if( !this.interests.isEmpty() )
|
||||||
{
|
{
|
||||||
final double oldPower = this.lastStoredPower;
|
final double oldPower = this.lastStoredPower;
|
||||||
@@ -329,11 +325,7 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
double extractedPower = 0;
|
double extractedPower = 0;
|
||||||
|
|
||||||
providersToAdd.forEach( provider -> {
|
providersToAdd.forEach( provider -> {
|
||||||
if( provider instanceof GridPowerStorage )
|
if( provider != localStorage )
|
||||||
{
|
|
||||||
providers.put( 1, provider );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
providers.put( 0, provider );
|
providers.put( 0, provider );
|
||||||
}
|
}
|
||||||
@@ -355,17 +347,14 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
|
|
||||||
if( newPower < req && mode == Actionable.MODULATE )
|
if( newPower < req && mode == Actionable.MODULATE )
|
||||||
{
|
{
|
||||||
it.remove();
|
if (node != localStorage)
|
||||||
|
it.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally
|
} finally
|
||||||
{
|
{
|
||||||
providersToRemove.forEach( provider -> {
|
providersToRemove.forEach( provider -> {
|
||||||
if( provider instanceof GridPowerStorage )
|
if( provider != localStorage )
|
||||||
{
|
|
||||||
providers.remove( 1, provider );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
providers.remove( 0, provider );
|
providers.remove( 0, provider );
|
||||||
}
|
}
|
||||||
@@ -396,11 +385,7 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
final double originalAmount = amt;
|
final double originalAmount = amt;
|
||||||
|
|
||||||
requestersToAdd.forEach( requester -> {
|
requestersToAdd.forEach( requester -> {
|
||||||
if( requester instanceof GridPowerStorage )
|
if( requester != localStorage )
|
||||||
{
|
|
||||||
requesters.put( 0, requester );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
requesters.put( 1, requester );
|
requesters.put( 1, requester );
|
||||||
}
|
}
|
||||||
@@ -420,17 +405,14 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
|
|
||||||
if( amt > 0 && mode == Actionable.MODULATE )
|
if( amt > 0 && mode == Actionable.MODULATE )
|
||||||
{
|
{
|
||||||
it.remove();
|
if( node != localStorage )
|
||||||
|
it.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally
|
} finally
|
||||||
{
|
{
|
||||||
requestersToRemove.forEach( requester -> {
|
requestersToRemove.forEach( requester -> {
|
||||||
if( requester instanceof GridPowerStorage )
|
if( requester != localStorage )
|
||||||
{
|
|
||||||
requesters.remove( 0, requester );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
requesters.remove( 1, requester );
|
requesters.remove( 1, requester );
|
||||||
}
|
}
|
||||||
@@ -636,11 +618,7 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
private void removeRequester(IAEPowerStorage requester) {
|
private void removeRequester(IAEPowerStorage requester) {
|
||||||
Preconditions.checkState(!ongoingInjectOperation,
|
Preconditions.checkState(!ongoingInjectOperation,
|
||||||
"Cannot modify energy requesters while energy is being injected.");
|
"Cannot modify energy requesters while energy is being injected.");
|
||||||
if( requester instanceof GridPowerStorage )
|
if( requester != localStorage )
|
||||||
{
|
|
||||||
requesters.remove( 0, requester );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
requesters.remove( 1, requester );
|
requesters.remove( 1, requester );
|
||||||
}
|
}
|
||||||
@@ -662,11 +640,7 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
private void removeProvider(IAEPowerStorage provider)
|
private void removeProvider(IAEPowerStorage provider)
|
||||||
{
|
{
|
||||||
Preconditions.checkState( !ongoingExtractOperation, "Cannot modify energy providers while energy is being extracted." );
|
Preconditions.checkState( !ongoingExtractOperation, "Cannot modify energy providers while energy is being extracted." );
|
||||||
if( provider instanceof GridPowerStorage )
|
if( provider != localStorage )
|
||||||
{
|
|
||||||
providers.remove( 1, provider );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
providers.remove( 0, provider );
|
providers.remove( 0, provider );
|
||||||
}
|
}
|
||||||
@@ -837,6 +811,11 @@ public class EnergyGridCache implements IEnergyGrid
|
|||||||
{
|
{
|
||||||
this.stored -= amount;
|
this.stored -= amount;
|
||||||
|
|
||||||
|
if( stored < MAX_BUFFER_STORAGE - 0.001 )
|
||||||
|
{
|
||||||
|
EnergyGridCache.this.myGrid.postEvent( new MENetworkPowerStorage( this, PowerEventType.REQUEST_POWER ) );
|
||||||
|
}
|
||||||
|
|
||||||
if( this.stored < 0.01 )
|
if( this.stored < 0.01 )
|
||||||
{
|
{
|
||||||
EnergyGridCache.this.ticksSinceHasPowerChange = 0;
|
EnergyGridCache.this.ticksSinceHasPowerChange = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user