Fixed hat layers sometimes not appearing

This commit is contained in:
Sollace 2019-12-13 00:17:26 +02:00
parent b71e95b8de
commit c810a1fb3f
2 changed files with 21 additions and 7 deletions

View file

@ -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<DummyPony, ClientPonyModel<D
}
@Override
protected void scale(DummyPony entity, MatrixStack stack, float ticks) {
manager.preRenderCallback(entity, stack, ticks);
protected void scale(DummyPony entity, MatrixStack stack, float tickDelta) {
if (getModel() instanceof PlayerEntityModel) {
((PlayerEntityModel<?>)getModel()).setVisible(true);
}
if (entity.isSwimming()) {
if (entity.getVelocity().x < 100) {
@ -60,11 +64,17 @@ class DummyPonyRenderer extends DummyPlayerRenderer<DummyPony, ClientPonyModel<D
model.getAttributes().motionPitch = 0;
}
if (entity.hasVehicle()) {
if (getModel().getAttributes().isSitting) {
stack.translate(0, entity.getHeightOffset(), 0);
}
}
@Override
public void render(DummyPony entity, float entityYaw, float tickDelta, MatrixStack stack, VertexConsumerProvider renderContext, int lightUv) {
manager.preRenderCallback(entity, stack, tickDelta);
super.render(entity, entityYaw, tickDelta, stack, renderContext, lightUv);
}
@Override
public ClientPonyModel<DummyPony> getEntityModel(DummyPony playermodel) {
Identifier loc = getTexture(playermodel);

View file

@ -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);