When a piston pushes or pulls blocks, every movingblock is instantly waterlogged if the block directly above is water (or a waterlogged block). Water next to or below the movingblock does not cause this behavior. After the piston finishes extending/retracting, the water disappears with the following exceptions:
- When the piston finishes extending, the head stays waterlogged.
- When the piston finishes retracting, if it is not pulling anything, the block in front becomes water.
How to reproduce
1. Connect a lever to a piston.
2. Place a waterloggable block in front of the piston.
3. Place water above the waterloggable block, and the block in front.
4. Encase the system in glass to remove the flowing water.
5. Activate the piston, and look at the moving blocks.
The blocks below the water remain "dry".
The blocks below become waterlogged as soon as the piston starts extending. When the piston finishes extending, the head stays waterlogged, but the water in front instantly disappears.
This bug can be exploited in "zero-tick" sugar cane farms. When a piston moves water or a waterlogged block, this is considered removing the water, so the sugar cane receives an update. However due to this bug, the water is replenished on the same tick, so the sugar grows instead of uprooting. Here are a couple examples of such farms: