From 714c3ec2a294d35ae0a7d7e0e858ef93e994ca4d Mon Sep 17 00:00:00 2001 From: Calclavia Date: Sun, 13 Apr 2014 23:11:36 +0800 Subject: [PATCH] Fixed #514 - Mixer NPE --- .../process/purifier/TileMixer.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java b/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java index 649c5aea..87be812a 100644 --- a/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java +++ b/mechanical/src/main/scala/resonantinduction/mechanical/process/purifier/TileMixer.java @@ -143,7 +143,7 @@ public class TileMixer extends TileMechanical implements IInventory if (timeLeft <= 0) { - if (this.doneWork(processingItem)) + if (doneWork(processingItem)) { if (--processingItem.getEntityItem().stackSize <= 0) { @@ -190,20 +190,24 @@ public class TileMixer extends TileMechanical implements IInventory if (mixPosition.getBlockID(world()) != blockID()) { Block block = Block.blocksList[mixPosition.getBlockID(worldObj)]; + Block blockFluidFinite = ResourceGenerator.getMixture(ResourceGenerator.getName(entity.getEntityItem())); - if (block instanceof BlockFluidMixture) + if (blockFluidFinite != null) { - ItemStack itemStack = entity.getEntityItem().copy(); - - if (((BlockFluidMixture) block).mix(worldObj, mixPosition.intX(), mixPosition.intY(), mixPosition.intZ(), itemStack)) + if (block instanceof BlockFluidMixture) { - worldObj.notifyBlocksOfNeighborChange(mixPosition.intX(), mixPosition.intY(), mixPosition.intZ(), mixPosition.getBlockID(worldObj)); - return true; + ItemStack itemStack = entity.getEntityItem().copy(); + + if (((BlockFluidMixture) block).mix(worldObj, mixPosition.intX(), mixPosition.intY(), mixPosition.intZ(), itemStack)) + { + worldObj.notifyBlocksOfNeighborChange(mixPosition.intX(), mixPosition.intY(), mixPosition.intZ(), mixPosition.getBlockID(worldObj)); + return true; + } + } + else if (block != null && (block.blockID == Block.waterStill.blockID || block.blockID == Block.waterMoving.blockID)) + { + mixPosition.setBlock(worldObj, blockFluidFinite.blockID); } - } - else if (block != null && (block.blockID == Block.waterStill.blockID || block.blockID == Block.waterMoving.blockID)) - { - mixPosition.setBlock(worldObj, ResourceGenerator.getMixture(ResourceGenerator.getName(entity.getEntityItem())).blockID); } }