From 129fb75e4cf1a3e2ad7e55a8bc36234cbd220d79 Mon Sep 17 00:00:00 2001 From: Bernhard Bonigl Date: Sat, 2 May 2015 13:41:51 +0200 Subject: [PATCH] Fix drain-comparator NPE when the controller gets broken #1586 --- .../java/tconstruct/smeltery/logic/SmelteryDrainLogic.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/tconstruct/smeltery/logic/SmelteryDrainLogic.java b/src/main/java/tconstruct/smeltery/logic/SmelteryDrainLogic.java index a3f46bff353..ed5edd726e6 100644 --- a/src/main/java/tconstruct/smeltery/logic/SmelteryDrainLogic.java +++ b/src/main/java/tconstruct/smeltery/logic/SmelteryDrainLogic.java @@ -190,6 +190,11 @@ public int comparatorStrength () if(master == null) return 0; SmelteryLogic smeltery = (SmelteryLogic) worldObj.getTileEntity(master.x, master.y, master.z); + + // this can happen when the comparator checks its strength before the drain is getting updated on a broken master (smeltery controller) + if(smeltery == null) + return 0; + if(smeltery.maxLiquid == 0) return 0; return 15 * smeltery.currentLiquid / smeltery.maxLiquid;