Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-234154

Boat able to phase through blocks

XMLWordPrintable

    • Icon: Bug 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

        1. 2021-08-10.mp4
          9.11 MB
        2. Ffz1YOA.png
          Ffz1YOA.png
          419 kB

            Unassigned Unassigned
            KennyTV Nassim Jahnke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: