[MC-916] Water does not form source blocks properly on top of existing source blocks Created: 27/Oct/12  Updated: 09/May/17  Resolved: 17/Jan/13

Status: Resolved
Project: Minecraft: Java Edition
Component/s: None
Affects Version/s: Minecraft 1.4.2, Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7
Fix Version/s: Snapshot 13w03a

Type: Bug
Reporter: Tavis Assignee: [Mojang] Nathan Adams
Resolution: Fixed Votes: 51
Labels: source, water

Issue Links:
Duplicate
is duplicated by MC-6534 buckets remove water blocks from lake... Resolved
is duplicated by MC-6809 Water physics bug Resolved
is duplicated by MC-7521 Water Spring Propagation Resolved
is duplicated by MC-4186 Water more than 1 level deep doesn't ... Resolved
CHK:
Confirmation Status: Confirmed

 Description   

What I expected to happen was...:
Flowing water with two adjacent source blocks and above another source block should make a new source block.

What actually happened was...:
Water does not create a source block when above another source block. This results in currents in oceans that are annoying to try to fix and makes it difficult to fill in lakes or pools that are more than one block deep.

Steps to Reproduce:
1. Dig a 3x3 hole two blocks deep
2. Fill the bottom with water
3. Place water on all sides of the top layer
4. Notice that water is still flowing towards the center

OR

1. Find a body of water that is more than one block deep
2. Take a bucket of water from the area that is more than one block deep
3. Notice that there are now currents flowing toward the block of water you took

NOTES:
Fixed and tested with MCP 7.19:

--- a/src/minecraft/net/minecraft/src/BlockFlowing.java
+++ b/src/minecraft/net/minecraft/src/BlockFlowing.java
@@ -93,7 +93,7 @@ public class BlockFlowing extends BlockFluid
                 {
                     var10 = 0;
                 }
-                else if (par1World.getBlockMaterial(par2, par3 - 1, par4) == this.blockMaterial && par1World.getBlockMetadata(par2, par3, par4) == 0)
+                else if (par1World.getBlockMaterial(par2, par3 - 1, par4) == this.blockMaterial && par1World.getBlockMetadata(par2, par3 - 1, par4) == 0)
                 {
                     var10 = 0;
                 }



 Comments   
Comment by Tails [ 27/Feb/13 ]

No it's not.

Comment by Rolf Redford [ 27/Feb/13 ]

It's back?? dammit.

Comment by Fabio Oliveira Schmidt Capela [ 04/Nov/12 ]

Given that the changed line, plus the three below it, are effectively a no-op (they only turn the water block into a source if it is already a source), it surely feels like a bug for me.

Also, I can't fathom that it's intended that a 1-deep 2x2 pool should be an infinite water source but a 2-deep pool shouldn't.

Comment by Rolf Redford [ 30/Oct/12 ]

Yes, PLEASE fix this. This "known behavior" bug with water makes it very hard to fill lakes.

Also, scooping up water from middle of lake deeper than one block will cause ugly "flowing" spot in middle of lake.

Comment by Tavis [ 27/Oct/12 ]

Known behavior does not equal intended behavior, otherwise we wouldn't need a bug tracker.

Comment by Selbram (Tory Clement) [ 27/Oct/12 ]

This is known behavior with water. if you placed a block next to the center block and placed water in it, then removed the block and placed water in its place, it would be smooth.

Generated at Sun Jan 12 11:52:40 UTC 2025 using Jira 9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13.