Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-170524

Trapdoors aren't pasted properly when they are rotated or mirrored by structure blocks.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • None
    • 1.19.81 Hotfix
    • None
    • Unconfirmed
    • Windows

      This bug has already been reported by about 10 people, but, I'm reporting it again because I think I've found why this bug is caused by.(MCPE-66933 )

      This bug is caused when using structure blocks to copy & paste trapdoors, they are pasted in wrong directions when they are rotated or mirrored.

      I think this bug is related to the trapdoor's block state, "direction".
      ("direction" means the direction the trapdoor is facing.)

      When you place a trapdoor looking west from east, the trapdoor's "direction" value is 0,
      ...east from west, the value is 1,
      ...north from south, the value is 2,
      and, ...south from north, the value is 3.
      (the east means Position X+ direction)

      Then, we need to know how the trapdoors are pasted when they are rotated or mirrored by using structure blocks and I tested it.

      (Unless otherwise noted, direction of rotation is clockwise.)

      Not mirrored & not rotated:

      • Properly pasted

      Not mirrored & rotated 90 degrees:

      • direction 0 was rotated by 180 deg(from "direction" 0 to 1,(need to be 2))
      • direction 1 was rotated by 270 deg(from 1 to 2,(need to be 3))
      • direction 2 was rotated by 180 deg(from 2 to 3,(need to be 1))
      • direction 3 was properly rotated(from 3 to 0)
        All values was increased by 1.

      Not mirrored & rotated 180 degrees:

      • direction 0 was rotated by 90 deg(from 0 to 2,(need to be 1))
      • direction 1 was rotated by 90 deg(from 1 to 3,(need to be 0))
      • direction 2 was rotated by 270 deg(from 2 to 0,(need to be 3))
      • direction 3 was rotated by 270 deg(from 3 to 1,(need to be 2))
        All values was increased by 2.

      Not mirrored & rotated 270 degrees:

      • direction 0 was properly rotated(from 0 to 3)
      • direction 1 was rotated by 180 deg(from 1 to 0,(need to be 2))
      • direction 2 was rotated by 90 deg(from 2 to 1,(need to be 0))
      • direction 3 was rotated by 180 deg(from 3 to 2,(need to be 1))
        All values was increased by 3.

      So, I could find that rotation works as if the "direction" values follow a 'clockwise'.
      (The 'clockwise' means that if you set which direction as "direction" value 0 and when you increase the value by 1, the trapdoor is rotated by 90 degrees clockwise.)

      X mirrored & not rotated:
      Expected Result: the object are inverted in north-south direction around the X axis and trapdoors "direction" value are changed from(0,1,2,3) to (0,1,3,2)

      Observed Result:

      • direction 0 was rotated by 90 deg(from 0 to 2,(need to be 0))
      • direction 1 was properly pasted(not rotated, from 1 to 1)
      • direction 2 was rotated by 270 deg(from 2 to 0,(need to be 3))
      • direction 3 was not rotated (from 3 to 3,(need to be 2))
        So, direction 0 and 2 were inverted and 1 and 3 were not changed.

      My guess:
      1. This feature misconceives that "direction" value 0 means south or north.
      2. And the mirroring also works as if the "direction" values follow a 'clockwise' like the rotate feature.

      X mirrored & rotated 90 degrees:

      • All trapdoors are pasted in the opposite directions.
        (0>2>3(need to be 2)), (1>1>2(need to be 3)), (2>0>1(need to be 0)), and (3>3>0(need to be 1))
        All values increased by 1 after a wrong mirroring.

      X mirrored & rotated 180 degrees:
      direction 0 wasn't rotated(0>2>0(need to be 1))
      direction 1 was rotated by 90 deg(1>1>3(need to be 0))
      direction 2 was properly rotated deg(2>0>2(need to be 2))
      direction 3 was rotated by 270 deg(3>3>1(need to be 3))
      All values increased by 2 after a wrong mirroring.

      X mirrored & rotated 270 degrees:

      • direction 0 wasn't rotated(0>2>1(need to be 1))
      • direction 1 was rotated by 90 deg(1>1>0(need to be 0))
      • direction 2 was properly rotated deg(2>0>3(need to be 2))
      • direction 3 was rotated by 270 deg(3>3>2(need to be 3))
        All values increased by 3 after a wrong mirroring.

      Z mirrored & not rotated:
      Expected Result: the object are inverted in east-weat direction around the Z axis and trapdoors "direction" value are changed from(0,1,2,3) to (1,0,2,3)

      Observed Result:

      • direction 0 wasn't rotated(from 0 to 0,(need to be 1))
      • direction 1 was rotated by 90 deg(from 1 to 3,(need to be 0))
      • direction 2 was properly pasted(not rotated, from 2 to 2)
      • direction 3 was rotated by 270 deg(from 3 to 1,(need to be 3))
        Direction 0 and 2 were not rotated and 1 and 3 were inverted.

      X&Z mirrored & not rotated:

      • direction 0 was rotated by 90 deg(from 0 to 2,(need to be 1))
      • direction 1 was rotated by 90 deg(from 1 to 3,(need to be 0))
      • direction 2 was rotated by 270 deg(from 2 to 0,(need to be 3))
      • direction 3 was rotated by 270 deg(from 3 to 1,(need to be 2))
        Same as the X mirror and Z mirror are combined.

      Thus, my conclusion is:
      1. Both rotate & mirror features work as if the "direction" values follow 'clockwise'.(In reality, the values 0 and 1, 2 and 3 are in opposite directions.)
      2. This feature misconceives that "direction" value 0 trapdoor faces south or north(In reality, "direction" 0 trapdoor faces east and its hinge faces west.).

        1. 2023-05-12-1.png
          2023-05-12-1.png
          735 kB
        2. 2023-05-12 (7)-1.png
          2023-05-12 (7)-1.png
          838 kB
        3. 2023-05-12 (4)-1.png
          2023-05-12 (4)-1.png
          694 kB
        4. 2023-05-12 (3)-1.png
          2023-05-12 (3)-1.png
          708 kB
        5. 2023-05-12 (2)-1.png
          2023-05-12 (2)-1.png
          761 kB
        6. 2023-05-12 (1)-3.png
          2023-05-12 (1)-3.png
          809 kB

            kimms1758 Minseong Kim
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: