From d56bdfea8eeb06d9dff1a394436235ddc109764b Mon Sep 17 00:00:00 2001 From: Leo dev Date: Thu, 4 Sep 2025 11:41:57 +0200 Subject: [PATCH] Working custom renderer for cloaks --- .../cosmetics/CloakFeatureRenderer.java | 39 ++++++++----------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java b/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java index 4d88821..2b0a334 100644 --- a/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java +++ b/src/main/java/org/saturnclient/saturnclient/cosmetics/CloakFeatureRenderer.java @@ -22,6 +22,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.equipment.EquipmentAsset; import net.minecraft.registry.RegistryKey; import net.minecraft.util.Identifier; +import net.minecraft.util.math.RotationAxis; public class CloakFeatureRenderer extends FeatureRenderer { private final EquipmentModelLoader equipmentModelLoader; @@ -120,19 +121,18 @@ public class CloakFeatureRenderer extends FeatureRenderer> 4) & 0xF; int skyLight = (light >> 20) & 0xF; - - // Clamp to minimum blockLight = Math.max(blockLight, minBrightness); skyLight = Math.max(skyLight, minBrightness); - - // Repack light = (skyLight << 20) | (blockLight << 4); + matrixStack.push(); + matrixStack.translate(0.0f, -0.25f, 0.0f); + if (this.hasCustomModelForLayer(playerEntityRenderState.equippedChestStack, LayerType.HUMANOID)) { + matrixStack.translate(0.0F, -0.053125F, 0.06875F); + } VertexConsumer vertexConsumer = vertexConsumerProvider .getBuffer(RenderLayer.getEntityAlpha(customCape)); - - // Render the cape manually - renderCape(matrixStack, vertexConsumer, playerEntityRenderState, light, OverlayTexture.DEFAULT_UV); - + renderCape(matrixStack, vertexConsumer, playerEntityRenderState, light, OverlayTexture.DEFAULT_UV, + rotation); matrixStack.pop(); } }