Fixed #514 - Mixer NPE

This commit is contained in:
Calclavia 2014-04-13 23:11:36 +08:00
parent 1b9f984afc
commit 714c3ec2a2

View file

@ -143,7 +143,7 @@ public class TileMixer extends TileMechanical implements IInventory
if (timeLeft <= 0) if (timeLeft <= 0)
{ {
if (this.doneWork(processingItem)) if (doneWork(processingItem))
{ {
if (--processingItem.getEntityItem().stackSize <= 0) if (--processingItem.getEntityItem().stackSize <= 0)
{ {
@ -190,20 +190,24 @@ public class TileMixer extends TileMechanical implements IInventory
if (mixPosition.getBlockID(world()) != blockID()) if (mixPosition.getBlockID(world()) != blockID())
{ {
Block block = Block.blocksList[mixPosition.getBlockID(worldObj)]; 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 (block instanceof BlockFluidMixture)
if (((BlockFluidMixture) block).mix(worldObj, mixPosition.intX(), mixPosition.intY(), mixPosition.intZ(), itemStack))
{ {
worldObj.notifyBlocksOfNeighborChange(mixPosition.intX(), mixPosition.intY(), mixPosition.intZ(), mixPosition.getBlockID(worldObj)); ItemStack itemStack = entity.getEntityItem().copy();
return true;
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);
} }
} }