package net.Chipperfluff.chipi.client.entity; import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.entity.BipedEntityRenderer; import net.minecraft.client.render.entity.EntityRendererFactory; import net.minecraft.client.render.entity.model.BipedEntityModel; import net.minecraft.client.render.entity.model.EntityModelLayers; import net.minecraft.client.util.DefaultSkinHelper; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; import net.Chipperfluff.chipi.entity.PlayerJrEntity; public class PlayerJrRenderer extends BipedEntityRenderer> { public PlayerJrRenderer(EntityRendererFactory.Context ctx) { super(ctx, new BipedEntityModel<>(ctx.getPart(EntityModelLayers.PLAYER)), 0.3f); } @Override public void render( PlayerJrEntity entity, float yaw, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertices, int light ) { matrices.scale(0.5f, 0.5f, 0.5f); super.render(entity, yaw, tickDelta, matrices, vertices, light); } @Override public Identifier getTexture(PlayerJrEntity entity) { String dadName = entity.getDadName(); if (dadName == null || dadName.isBlank()) { return DefaultSkinHelper.getTexture(); } /* * THIS is how vanilla + mods do it: * - stable Identifier * - async skin download * - cached by SkinProvider */ Identifier skin = AbstractClientPlayerEntity.getSkinId(dadName); AbstractClientPlayerEntity.loadSkin(skin, dadName); return skin; } }