From b9657d6f45fb6dc86d2fd8ef4a2a35686f90d0c6 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 6 Mar 2026 11:50:51 +0100 Subject: [PATCH] Working --- .../saturnclient/mixin/MatrixStackMixin.java | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MatrixStackMixin.java b/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MatrixStackMixin.java index 95aa5d1..cb0858f 100644 --- a/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MatrixStackMixin.java +++ b/versions/1.21.4/src/main/java/org/saturnclient/saturnclient/mixin/MatrixStackMixin.java @@ -4,11 +4,44 @@ import org.joml.Quaternionf; import org.saturnclient.common.minecraft.bindings.SaturnQuaternionf; import org.saturnclient.common.minecraft.render.IMatrixStack; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.gen.Invoker; import net.minecraft.client.util.math.MatrixStack; @Mixin(MatrixStack.class) -public class MatrixStackMixin extends MatrixStack implements IMatrixStack { +public abstract class MatrixStackMixin implements IMatrixStack { + + @Shadow + public abstract void translate(double x, double y, double z); + + @Shadow + public abstract void translate(float x, float y, float z); + + @Shadow + public abstract void scale(float x, float y, float z); + + @Shadow + public abstract void multiply(Quaternionf quaternion); + + @Shadow + public abstract void multiply(Quaternionf quaternion, float originX, float originY, float originZ); + + @Shadow + public abstract void push(); + + @Shadow + public abstract void pop(); + + @Invoker("peek") + public abstract MatrixStack.Entry peekM(); + + @Shadow + public abstract boolean isEmpty(); + + @Shadow + public abstract void loadIdentity(); + @Override public void multiply(SaturnQuaternionf quaternion) { this.multiply((Quaternionf) quaternion.inner); @@ -18,4 +51,9 @@ public class MatrixStackMixin extends MatrixStack implements IMatrixStack { public void multiply(SaturnQuaternionf quaternion, float originX, float originY, float originZ) { this.multiply((Quaternionf) quaternion.inner, originX, originY, originZ); } -} + + @Override + public Object peek() { + return this.peekM(); + } +} \ No newline at end of file