diff --git a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java index 283a0185..1c55285b 100644 --- a/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/hdskins/DummyPonyRenderer.java @@ -16,8 +16,10 @@ import com.minelittlepony.mson.api.ModelKey; import com.minelittlepony.pony.IPony; import com.minelittlepony.pony.meta.Race; +import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.entity.feature.FeatureRenderer; +import net.minecraft.client.render.entity.model.PlayerEntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; @@ -47,8 +49,10 @@ class DummyPonyRenderer extends DummyPlayerRenderer)getModel()).setVisible(true); + } if (entity.isSwimming()) { if (entity.getVelocity().x < 100) { @@ -60,11 +64,17 @@ class DummyPonyRenderer extends DummyPlayerRenderer getEntityModel(DummyPony playermodel) { Identifier loc = getTexture(playermodel); 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 5e7e284d..ff7d1ffe 100644 --- a/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java +++ b/src/main/java/com/minelittlepony/client/render/entity/PlayerPonyRenderer.java @@ -32,6 +32,7 @@ import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.entity.PlayerEntityRenderer; import net.minecraft.client.render.entity.feature.FeatureRenderer; import net.minecraft.client.render.entity.feature.StuckArrowsFeatureRenderer; +import net.minecraft.client.render.entity.model.PlayerEntityModel; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.Vector3f; import net.minecraft.util.Arm; @@ -70,16 +71,19 @@ public class PlayerPonyRenderer extends PlayerEntityRenderer implements IPonyRen } @Override - protected void scale(AbstractClientPlayerEntity player, MatrixStack stack, float ticks) { - manager.preRenderCallback(player, stack, ticks); + protected void scale(AbstractClientPlayerEntity entity, MatrixStack stack, float tickDelta) { + if (getModel() instanceof PlayerEntityModel) { + ((PlayerEntityModel)getModel()).setVisible(true); + } - if (player.hasVehicle()) { - stack.translate(0, player.getHeightOffset(), 0); + if (manager.getModel().getAttributes().isSitting) { + stack.translate(0, entity.getHeightOffset(), 0); } } @Override public void render(AbstractClientPlayerEntity entity, float entityYaw, float tickDelta, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv) { + manager.preRenderCallback(entity, stack, tickDelta); shadowSize = manager.getShadowScale(); super.render(entity, entityYaw, tickDelta, stack, renderContext, lightUv);