Fixed a bug that was causing pipes to leak excess

This is an interesting commit, it not only fixes the RS Cells
(@King_Lemming) it also makes it so the network can respond to demand as
needed by shutting down overheating engines, since the pipes won't
accept power now unless something is requesting it.
This commit is contained in:
CovertJaguar 2013-06-21 17:28:22 -07:00
parent cdebf25a03
commit 0882dadce3
2 changed files with 13 additions and 16 deletions

View file

@ -249,20 +249,17 @@ public class PipeTransportPower extends PipeTransport {
double[] next = internalPower;
internalPower = internalNextPower;
internalNextPower = next;
for (int i = 0; i < powerQuery.length; i++) {
int sum = 0;
for (int j = 0; j < powerQuery.length; j++) {
if (i != j) {
sum += powerQuery[j];
}
}
if (sum == 0 && internalNextPower[i] > 0) {
internalNextPower[i] -= 1;
if (internalNextPower[i] < 0) {
internalNextPower[i] = 0;
}
}
}
// for (int i = 0; i < powerQuery.length; i++) {
// int sum = 0;
// for (int j = 0; j < powerQuery.length; j++) {
// if (i != j) {
// sum += powerQuery[j];
// }
// }
// if (sum == 0 && internalNextPower[i] > 0) {
// internalNextPower[i] -= 1;
// }
// }
}
}
@ -274,7 +271,7 @@ public class PipeTransportPower extends PipeTransport {
internalNextPower[from.ordinal()] += val;
if (internalNextPower[from.ordinal()] > maxPower) {
val = internalNextPower[from.ordinal()] - maxPower;
val -= internalNextPower[from.ordinal()] - maxPower;
internalNextPower[from.ordinal()] = maxPower;
}
}

View file

@ -180,7 +180,7 @@ public class PipeItemsWood extends Pipe implements IPowerReceptor {
@Override
public int powerRequest(ForgeDirection from) {
return 0;
return getPowerProvider().getMaxEnergyReceived();
}
@Override