diff --git a/mechanical/src/main/java/resonantinduction/mechanical/process/BlockFilter.java b/mechanical/src/main/java/resonantinduction/mechanical/process/BlockFilter.java index e2c11cab..28033132 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/process/BlockFilter.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/process/BlockFilter.java @@ -68,20 +68,14 @@ public class BlockFilter extends BlockTile InventoryUtility.dropItemStack(world, checkAbove.clone().add(0.5), resoure.getItemStack().copy()); } - int remaining = amount - 1; - + //TODO: Check if this is correct? + int remaining = amount - 2; + /** * Remove liquid from top. */ - if (remaining > 0) - { - fluidBlock.setQuanta(world, checkAbove.intX(), checkAbove.intY(), checkAbove.intZ(), remaining); - world.scheduleBlockUpdate(x, y, z, blockID, 20); - } - else - { - checkAbove.setBlock(world, 0); - } + fluidBlock.setQuanta(world, checkAbove.intX(), checkAbove.intY(), checkAbove.intZ(), remaining); + world.scheduleBlockUpdate(x, y, z, blockID, 20); /** * Add liquid to bottom. diff --git a/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/RenderMixer.java b/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/RenderMixer.java index 608013a4..e9515118 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/RenderMixer.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/RenderMixer.java @@ -38,10 +38,10 @@ public class RenderMixer extends TileEntitySpecialRenderer implements ISimpleIte glPushMatrix(); glTranslatef((float) x + 0.5F, (float) y + 0.5f, (float) z + 0.5F); RenderUtility.bind(TEXTURE); - MODEL.renderOnly("centerTop", "centerBase", "centerPoll"); + MODEL.renderOnly("centerTop", "centerBase"); glPushMatrix(); glRotatef((float) Math.toDegrees(tile.angle), 0, 1, 0); - MODEL.renderAllExcept("centerTop", "centerBase", "centerPoll"); + MODEL.renderAllExcept("centerTop", "centerBase"); glPopMatrix(); glPopMatrix(); } diff --git a/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/TileMixer.java b/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/TileMixer.java index 3c460ee3..f4d88b8f 100644 --- a/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/TileMixer.java +++ b/mechanical/src/main/java/resonantinduction/mechanical/process/purifier/TileMixer.java @@ -151,7 +151,7 @@ public class TileMixer extends TileMechanical return true; } } - else if (worldObj.isAirBlock(mixPosition.intX(), mixPosition.intY(), mixPosition.intZ())) + else if (worldObj.isAirBlock(mixPosition.intX(), mixPosition.intY(), mixPosition.intZ()) || block.blockID == Block.waterStill.blockID || block.blockID == Block.waterMoving.blockID) { mixPosition.setBlock(worldObj, ResonantInduction.blockFluidMixtures.get(entity.getEntityItem().getItemDamage()).blockID); } diff --git a/src/main/java/resonantinduction/core/resource/fluid/BlockFluidMixture.java b/src/main/java/resonantinduction/core/resource/fluid/BlockFluidMixture.java index be801aec..d45aa02e 100644 --- a/src/main/java/resonantinduction/core/resource/fluid/BlockFluidMixture.java +++ b/src/main/java/resonantinduction/core/resource/fluid/BlockFluidMixture.java @@ -31,7 +31,7 @@ public class BlockFluidMixture extends BlockFluidFinite public void setQuanta(World world, int x, int y, int z, int quanta) { - if (quanta > 0) + if (quanta > 0 && quanta <= quantaPerBlock) world.setBlockMetadataWithNotify(x, y, z, quanta, 3); else world.setBlockToAir(x, y, z); @@ -58,9 +58,12 @@ public class BlockFluidMixture extends BlockFluidFinite { if (MachineRecipes.INSTANCE.getOutput(RecipeType.MIXER, stack).length > 0 && getQuantaValue(world, x, y, z) < quantaPerBlock) { - world.setBlockMetadataWithNotify(x, y, z, getQuantaValue(world, x, y, z) + 1, 3); - world.markBlockForUpdate(x, y, z); - return true; + if (getQuantaValue(world, x, y, z) < quantaPerBlock) + { + world.setBlockMetadataWithNotify(x, y, z, getQuantaValue(world, x, y, z) + 1, 3); + world.markBlockForUpdate(x, y, z); + return true; + } } return false;