Check / compile (pull_request) Successful in 7m44s
Step 6 of #8. versions/1.21.4/src is gone, so all eight versions (1.21.4 to 1.21.11) build from src/. 1.21.4's differences from 1.21.5 are behind version comments: - The end gateway render layer has no render pipeline before 1.21.5 (ShaderUtils: the pipeline field only exists from 1.21.5, and the layer is a four-way chain). - Hat head rotation, the NativeImageBackedTexture constructor, armor slots (inventory.armor vs getEquippedStack), MatrixStackMixin's Quaternionf, and inside the pre-1.21.6 implementations: prevHeadYaw, GUI lighting, ModelTransformationMode, item depth, setShaderTexture and the blur uniform call. Those are one-line version comments, since the pre-1.21.6 blocks are already inside /* */ on newer versions. 1.21.5's drawItem wrapped its body in a second isEmpty check after already returning early for empty stacks; the redundant check is gone, so 1.21.4 and 1.21.5 share the body. Freelook's zoom-out (FreelookMod.shouldZoomOut in GameRendererMixin) only existed on 1.21.4. It doesn't depend on the Minecraft version, so it's back on every version. With no old copies left, the mc-<v> fallback in settings.gradle.kts and scripts/port.sh are removed, and README and VERSION_GUIDE describe the single layout. Co-Authored-By: Claude Opus 5.5 <[email protected]>
69 lines
2.0 KiB
Java
69 lines
2.0 KiB
Java
package org.saturnclient.impl.mixins;
|
|
|
|
import net.minecraft.client.util.math.MatrixStack;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
//? if <1.21.6 {
|
|
/*import org.saturnclient.common.ref.render.MatrixStackRef;
|
|
//? if >=1.21.5
|
|
import org.joml.Quaternionfc;
|
|
//? if <1.21.5
|
|
//import org.joml.Quaternionf;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
import net.minecraft.util.math.RotationAxis;
|
|
*///?}
|
|
|
|
/**
|
|
* Makes MatrixStack a MatrixStackRef, for GUI drawing before 1.21.6. From 1.21.6 the GUI uses a 2D
|
|
* Matrix3x2fStack (Matrix3x2fStackRef) instead, so this mixin is empty but stays registered, keeping
|
|
* impl.mixins.json the same for every version.
|
|
*/
|
|
@Mixin(MatrixStack.class)
|
|
//? if <1.21.6 {
|
|
/*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);
|
|
|
|
@Shadow
|
|
public abstract void scale(float x, float y, float z);
|
|
|
|
@Shadow
|
|
//? if >=1.21.5
|
|
public abstract void multiply(Quaternionfc quaternion);
|
|
//? if <1.21.5
|
|
//public abstract void multiply(Quaternionf quaternion);
|
|
|
|
@Shadow
|
|
//? if >=1.21.5
|
|
public abstract void multiply(Quaternionfc quaternion, float originX, float originY, float originZ);
|
|
//? if <1.21.5
|
|
//public abstract void multiply(Quaternionf quaternion, float originX, float originY, float originZ);
|
|
|
|
@Override
|
|
public void translate(float x, float y) {
|
|
translate(x, y, 0);
|
|
}
|
|
|
|
@Override
|
|
public void scale(float x, float y) {
|
|
scale(x, y, 1.0f);
|
|
}
|
|
|
|
@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));
|
|
}
|
|
}
|
|
*///?} else
|
|
public abstract class MatrixStackMixin {}
|