From f6341208da37725e6628de18b2a985ed09ebf6bd Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 14 Dec 2021 13:37:36 +0200 Subject: [PATCH] Fixed transparency on players' arms in first person --- .../client/render/entity/PlayerPonyRenderer.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 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 88d8d0fa..8b4f3c87 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java @@ -27,6 +27,7 @@ import net.minecraft.block.BedBlock; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.render.Frustum; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.PlayerEntityRenderer; @@ -156,10 +157,18 @@ public class PlayerPonyRenderer extends PlayerEntityRenderer implements IPonyRen stack.translate(reflect * 0.1F, -0.54F, 0); + VertexConsumerProvider interceptedContext = layer -> { + return renderContext.getBuffer( + layer == RenderLayer.getEntitySolid(player.getSkinTexture()) + ? RenderLayer.getEntityTranslucent(player.getSkinTexture()) + : layer + ); + }; + if (side == Arm.LEFT) { - super.renderLeftArm(stack, renderContext, lightUv, player); + super.renderLeftArm(stack, interceptedContext, lightUv, player); } else { - super.renderRightArm(stack, renderContext, lightUv, player); + super.renderRightArm(stack, interceptedContext, lightUv, player); } stack.pop();