Fixed hat rotation in 1.21.5

This commit is contained in:
2026-03-23 14:33:26 +01:00
parent a73b139256
commit faa18c99ab
@@ -1,5 +1,6 @@
package org.saturnclient.impl.cosmetics; package org.saturnclient.impl.cosmetics;
import org.joml.Quaternionf;
import org.saturnclient.client.player.SaturnPlayer; import org.saturnclient.client.player.SaturnPlayer;
import org.saturnclient.impl.cosmetics.obj.MtlLoader; import org.saturnclient.impl.cosmetics.obj.MtlLoader;
import org.saturnclient.impl.cosmetics.obj.ObjModel; import org.saturnclient.impl.cosmetics.obj.ObjModel;
@@ -13,8 +14,6 @@ import net.minecraft.client.render.entity.state.PlayerEntityRenderState;
import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.model.ModelPart; import net.minecraft.client.model.ModelPart;
import org.joml.Quaternionf;
public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState, PlayerEntityModel> { public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState, PlayerEntityModel> {
public HatFeatureRenderer(FeatureRendererContext<PlayerEntityRenderState, PlayerEntityModel> context) { public HatFeatureRenderer(FeatureRendererContext<PlayerEntityRenderState, PlayerEntityModel> context) {
super(context); super(context);
@@ -32,8 +31,7 @@ public class HatFeatureRenderer extends FeatureRenderer<PlayerEntityRenderState,
matrices.push(); matrices.push();
ModelPart head = this.getContextModel().head; ModelPart head = this.getContextModel().head;
matrices.translate(head.originX / 16f, head.originY / 16f, head.originZ / 16f); matrices.multiply(new Quaternionf().rotationZYX(head.roll, head.yaw, head.pitch));
matrices.multiply(new Quaternionf().rotationXYZ(head.pitch, head.yaw, head.roll));
ObjModel.cosmetic("hat", player.hat).render(MtlLoader.cosmetic(player.hat), ObjModel.cosmetic("hat", player.hat).render(MtlLoader.cosmetic(player.hat),
matrices, vertexConsumers, light, matrices, vertexConsumers, light,