I think this bug is related to the trapdoor's block state, "direction"(= blockdata: 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, I tested how the trapdoors are pasted when they are rotated or mirrored by using structure blocks.
(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-west 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.
Summary: 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.).
I think this bug is related to the trapdoor's block state, "direction"(= blockdata: 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, I tested how the trapdoors are pasted when they are rotated or mirrored by using structure blocks.
(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-west 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.
Summary:
[media]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.).