diff --git a/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java b/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java index a92d330a5d..89f23bb010 100644 --- a/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java +++ b/src/main/java/net/minecraftforge/fluids/DispenseFluidContainer.java @@ -72,8 +72,6 @@ public class DispenseFluidContainer extends BehaviorDefaultDispenseItem return super.dispenseStack(source, stack); } - world.setBlockToAir(blockpos); - if (--stack.stackSize == 0) { stack.deserializeNBT(result.serializeNBT()); diff --git a/src/main/java/net/minecraftforge/fluids/FluidUtil.java b/src/main/java/net/minecraftforge/fluids/FluidUtil.java index 75af254fcc..82c4373026 100644 --- a/src/main/java/net/minecraftforge/fluids/FluidUtil.java +++ b/src/main/java/net/minecraftforge/fluids/FluidUtil.java @@ -495,10 +495,16 @@ public class FluidUtil return null; } - IFluidHandler targetFluidHandler = FluidUtil.getFluidHandler(worldIn, pos, side); - if (targetFluidHandler != null) + IBlockState state = worldIn.getBlockState(pos); + Block block = state.getBlock(); + + if (block instanceof IFluidBlock || block instanceof BlockLiquid) { - return FluidUtil.tryFillContainer(emptyContainer, targetFluidHandler, Integer.MAX_VALUE, playerIn, true); + IFluidHandler targetFluidHandler = FluidUtil.getFluidHandler(worldIn, pos, side); + if (targetFluidHandler != null) + { + return FluidUtil.tryFillContainer(emptyContainer, targetFluidHandler, Integer.MAX_VALUE, playerIn, true); + } } return null; }