aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2022-12-19 10:09:46 +0100
committerGitHub <noreply@github.com>2022-12-19 10:09:46 +0100
commitc014a7b5ec375aeac7504d243787fbdf61d160a5 (patch)
treefde2daa5e18e262478466ca5bad3927f538d2dc4 /src
parent616fe93986c9f0bb54a22fb1d33762b3d2b24f24 (diff)
parentcd59535df84a2fa6ebaa8a4a839f6d21f7016b31 (diff)
downloadGT5-Unofficial-c014a7b5ec375aeac7504d243787fbdf61d160a5.tar.gz
GT5-Unofficial-c014a7b5ec375aeac7504d243787fbdf61d160a5.tar.bz2
GT5-Unofficial-c014a7b5ec375aeac7504d243787fbdf61d160a5.zip
Merge pull request #121 from GTNewHorizons/fix/multi-explosion-npe
Fix NPE with multiblock explosion
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java73
1 files changed, 23 insertions, 50 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
index c5f25f6aa8..d4990878ee 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
@@ -20,6 +20,7 @@ import com.github.technus.tectech.thing.gui.TecTechUITextures;
import com.github.technus.tectech.thing.metaTileEntity.hatch.*;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import com.github.technus.tectech.util.TT_Utility;
+import com.google.common.collect.Iterables;
import com.gtnewhorizon.structurelib.StructureLibAPI;
import com.gtnewhorizon.structurelib.alignment.IAlignment;
import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits;
@@ -2190,56 +2191,28 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
extraExplosions_EM();
GT_Pollution.addPollution(getBaseMetaTileEntity(), 600000);
mInventory[1] = null;
- for (MetaTileEntity tTileEntity : mInputBusses) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : mOutputBusses) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : mInputHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : mOutputHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : mDynamoHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : mMufflerHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : mEnergyHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : mMaintenanceHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : eParamHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : eInputHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : eOutputHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : eMufflerHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : eEnergyMulti) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : eUncertainHatches) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : eDynamoMulti) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[14]);
- }
- for (MetaTileEntity tTileEntity : eInputData) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
- }
- for (MetaTileEntity tTileEntity : eOutputData) {
- tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
+ Iterable<MetaTileEntity> allHatches = Iterables.concat(
+ mInputBusses,
+ mOutputBusses,
+ mInputHatches,
+ mOutputHatches,
+ mDynamoHatches,
+ mMufflerHatches,
+ mEnergyHatches,
+ mMaintenanceHatches,
+ eParamHatches,
+ eInputHatches,
+ eOutputHatches,
+ eMufflerHatches,
+ eEnergyMulti,
+ eUncertainHatches,
+ eDynamoMulti,
+ eInputData,
+ eOutputData);
+ for (MetaTileEntity tTileEntity : allHatches) {
+ if (tTileEntity != null && tTileEntity.getBaseMetaTileEntity() != null) {
+ tTileEntity.getBaseMetaTileEntity().doExplosion(V[9]);
+ }
}
getBaseMetaTileEntity().doExplosion(V[15]);
}