-
Bug
-
Resolution: Duplicate
-
None
-
1.17.1
-
None
-
Unconfirmed
-
(Unassigned)
By placing a boat 5 blocks away from a single water source (in water at level=4), the boat (and thus the player in the boat) can phase through solid blocks below. See the video for where exactly you have to place the boat (with water flowing in the positive x direction, this works by flying at x=.8 of the block and directly looking down for example).
As shown in the second half of the video, this means I can go into an area below the block without destroying it, including bedrock, with only taking half a heart of damage in survival mode.
Sidenote: An easier to way to clip boats into blocks, which only seems to work without passengers, is to just have a boat fall onto flowing water of any level.
Code Analysis:
The code-point where the actual phasing happens is in the Boat class in method floatBoat, where in the first if clause this.setPos is called with a y value inside of the block below.
this.setPos(this.getX(), (double) (this.getWaterLevelAbove() - this.getBbHeight()) + 0.101D, this.getZ());
Standing at y=64 in the flowing water, the following values were put out:
getWaterLevelAbove() = 64.44444 getBbHeight() = 0.5625 (double) (this.getWaterLevelAbove() - this.getBbHeight()) + 0.101D = 63.98294274902344
- duplicates
-
MC-96198 Boats / rafts move into blocks when landing in less than one block deep water
- Resolved