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