diff --git a/src/main/java/com/fusionflux/portalcubed/entity/Portal.java b/src/main/java/com/fusionflux/portalcubed/entity/Portal.java index f8fd10f8..eb80c793 100644 --- a/src/main/java/com/fusionflux/portalcubed/entity/Portal.java +++ b/src/main/java/com/fusionflux/portalcubed/entity/Portal.java @@ -568,7 +568,7 @@ private VoxelShape calculateCrossPortalCollisionShape(Vec3 normal, Vec3 origin, final Vec3 scaledNormalOffset = getNormal().scale(SURFACE_OFFSET); if (facing != getFacingDirection().getOpposite()) { result = result.move(-origin.x, -origin.y, -origin.z); - final IPQuaternion transform = getTransformQuat().hamiltonProduct(FLIP_AXIS_W); + final IPQuaternion transform = getTransformQuat().getConjugated(); final MutableObject rotatedShape = new MutableObject<>(Shapes.empty()); result.forAllBoxes((x1, y1, z1, x2, y2, z2) -> { final Vec3 minT = transform.rotate(new Vec3(x1, y1, z1), false); diff --git a/src/main/java/com/fusionflux/portalcubed/util/GeneralUtil.java b/src/main/java/com/fusionflux/portalcubed/util/GeneralUtil.java index 9a613cc4..eccdfef0 100644 --- a/src/main/java/com/fusionflux/portalcubed/util/GeneralUtil.java +++ b/src/main/java/com/fusionflux/portalcubed/util/GeneralUtil.java @@ -118,8 +118,7 @@ public static void setupPortalShapes(Entity entity) { for (Portal portal : list) { if (portal.calculateCutoutBox() != NULL_BOX && portal.calculateBoundsCheckBox() != NULL_BOX && portal.getActive()) { cutoutShape = Shapes.or(cutoutShape, Shapes.create(portal.getCutoutBoundingBox())); - // TODO: Uncomment for testing or when it's working fully -// crossPortalCollisionShape = Shapes.or(crossPortalCollisionShape, portal.getCrossPortalCollisionShapeOther(entity)); + crossPortalCollisionShape = Shapes.or(crossPortalCollisionShape, portal.getCrossPortalCollisionShapeOther(entity)); } }