diff --git a/common b/common index c72af13..fc1500a 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit c72af1300a3783ad2b45405243a74aad7debfade +Subproject commit fc1500abbdf911987ee3d98ee2015bec7cbc96eb diff --git a/versions/1.21.4/src/main/java/org/saturnclient/impl/mixins/MatrixStackMixin.java b/versions/1.21.4/src/main/java/org/saturnclient/impl/mixins/MatrixStackMixin.java index b128808..1850b50 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/impl/mixins/MatrixStackMixin.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/impl/mixins/MatrixStackMixin.java @@ -1,13 +1,21 @@ package org.saturnclient.impl.mixins; +import org.joml.Quaternionf; import org.saturnclient.common.ref.render.MatrixStackRef; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.util.math.RotationAxis; @Mixin(MatrixStack.class) public abstract class MatrixStackMixin implements MatrixStackRef { + @Shadow + public abstract void push(); + + @Shadow + public abstract void pop(); + @Shadow public abstract void translate(float x, float y, float z); @@ -15,10 +23,10 @@ public abstract class MatrixStackMixin implements MatrixStackRef { public abstract void scale(float x, float y, float z); @Shadow - public abstract void push(); + public abstract void multiply(Quaternionf quaternion); @Shadow - public abstract void pop(); + public abstract void multiply(Quaternionf quaternion, float originX, float originY, float originZ); @Override public void translate(float x, float y) { @@ -29,4 +37,14 @@ public abstract class MatrixStackMixin implements MatrixStackRef { public void scale(float x, float y) { scale(x, y, 1.0f); } -} \ No newline at end of file + + @Override + public void rotate(float angle, float originX, float originY, float originZ) { + multiply(RotationAxis.NEGATIVE_Z.rotationDegrees(angle), originX, originY, originZ); + } + + @Override + public void rotate(float angle) { + multiply(RotationAxis.NEGATIVE_Z.rotationDegrees(angle)); + } +}