From b38c8530f829aa777ae45d78118c4ce3228984f1 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sun, 9 Jul 2023 16:15:59 +0100 Subject: [PATCH] Use the correct texture in first person mode. Closes #238 --- .../client/render/entity/PlayerPonyRenderer.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java index 36a9edc3..f5a058de 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java @@ -8,6 +8,7 @@ import com.minelittlepony.client.model.*; import com.minelittlepony.client.render.DebugBoundingBoxRenderer; import com.minelittlepony.client.render.IPonyRenderContext; import com.minelittlepony.client.render.entity.feature.*; +import com.minelittlepony.client.util.render.RenderLayerUtil; import com.minelittlepony.client.render.EquineRenderManager; import java.util.List; @@ -142,11 +143,14 @@ public class PlayerPonyRenderer extends PlayerEntityRenderer implements IPonyRen stack.translate(reflect * 0.1F, -0.54F, 0); + Identifier texture = getTexture(player); + Identifier playerSkin = player.getSkinTexture(); VertexConsumerProvider interceptedContext = layer -> { - return renderContext.getBuffer( - layer == RenderLayer.getEntitySolid(player.getSkinTexture()) - ? RenderLayer.getEntityTranslucent(player.getSkinTexture()) - : layer + return renderContext.getBuffer(RenderLayerUtil + .getTexture(layer) + .filter(playerSkin::equals) + .map(i -> RenderLayer.getEntityTranslucent(texture)) + .orElse(layer) ); };