mojira.dev

denvalec

Assigned

No issues.

Reported

View all
MC-306569 Structure Void placed incorrectly when loading structure with Structure Block with "STRUCTURE_EDIT_MODE" debug property enabled Unconfirmed

Comments

Direction horizontalDirection = direction.getCounterClockWise().getAxisDirection() == Direction.AxisDirection.NEGATIVE
  ? direction.getCounterClockWise() : direction.getClockWise();
Vec3 position = attachedToWall.relative(horizontalDirection, horizontalOffset).relative(Direction.DOWN, verticalOffset);

Posted again because line was too long.

Reproduced in 26.1-snapshot-9.

The issue seems to be with how paintings determine a direction for their offset.

In Painting#calculateBoundingBox, I replaced

Direction left = direction.getCounterClockWise();
Vec3 position = attachedToWall.relative(left, horizontalOffset).relative(Direction.UP, verticalOffset);

with

Direction horizontalDirection = direction.getCounterClockWise().getAxisDirection() == Direction.AxisDirection.NEGATIVE ? direction.getCounterClockWise() : direction.getClockWise();
Vec3 position = attachedToWall.relative(horizontalDirection, horizontalOffset).relative(Direction.DOWN, verticalOffset);

with a mixin, and I seems to fix the issue.