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;
}
Linked issues
is duplicated by 4
Comments 6
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.
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.
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.