aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorRichard Hendricks <richardhendricks@pobox.com>2018-08-30 00:57:18 -0500
committerRichard Hendricks <richardhendricks@pobox.com>2018-08-30 00:57:18 -0500
commit7741a6b36a7a9f36cb38c49da35d2ac8c831d2b7 (patch)
tree24d2c1f62e2d31b9c0bf2370add6163ce888d726 /src/main/java
parent7e6fb0abeef22b80f16da5f63e7849525823579e (diff)
downloadGT5-Unofficial-7741a6b36a7a9f36cb38c49da35d2ac8c831d2b7.tar.gz
GT5-Unofficial-7741a6b36a7a9f36cb38c49da35d2ac8c831d2b7.tar.bz2
GT5-Unofficial-7741a6b36a7a9f36cb38c49da35d2ac8c831d2b7.zip
Fixed Java exception when removing chunks from list.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java31
1 files changed, 23 insertions, 8 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
index 5ae49aba2a..08d5dab287 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java
@@ -112,12 +112,13 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
tFluid = undergroundOilReadInformation(getBaseMetaTileEntity());
if (tFluid == null) return false;
mOilId = tFluid.getFluidID();
- if (debugDriller) {
- GT_Log.out.println(
- " mOilId null, adding fluid = " + mOilId
- );
- }
}
+ if (debugDriller) {
+ GT_Log.out.println(
+ " Driller on fluid = " + mOilId
+ );
+ }
+
tOil = new FluidStack(FluidRegistry.getFluid(mOilId), 0);
if (mOilFieldChunks.isEmpty()) {
@@ -176,19 +177,33 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
" pump speed = " + speed
);
}
+
+ ArrayList<Chunk> emptyChunks = new ArrayList<Chunk>();
for (Chunk tChunk : mOilFieldChunks) {
tFluid = undergroundOil(tChunk,speed);
if (debugDriller) {
GT_Log.out.println(
" chunkX = " + tChunk.getChunkCoordIntPair().chunkXPos +
- " chunkZ = " + tChunk.getChunkCoordIntPair().chunkZPos +
- " Oil pumped = " + tFluid.amount
+ " chunkZ = " + tChunk.getChunkCoordIntPair().chunkZPos
);
+ if( tFluid != null ) {
+ GT_Log.out.println(
+ " Fluid pumped = " + tFluid.amount
+ );
+ } else {
+ GT_Log.out.println(
+ " No fluid pumped "
+ );
+ }
+
}
- if (tFluid == null || tFluid.amount<1) mOilFieldChunks.remove(tChunk);
+ if (tFluid == null || tFluid.amount<1) emptyChunks.add(tChunk);
if (tOil.isFluidEqual(tFluid)) tOil.amount += tFluid.amount;
}
+ for( Chunk tChunk : emptyChunks) {
+ mOilFieldChunks.remove( tChunk );
+ }
return tOil.amount == 0 ? null : tOil;
}
}