package net.minecraft.client.renderer.entity; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.model.EntityModel; import net.minecraft.client.renderer.entity.state.EquineRenderState; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.animal.horse.AbstractHorse; @Environment(EnvType.CLIENT) public abstract class AbstractHorseRenderer> extends AgeableMobRenderer { public AbstractHorseRenderer(EntityRendererProvider.Context context, M adultModel, M babyModel) { super(context, adultModel, babyModel, 0.75F); } public void extractRenderState(T entity, S reusedState, float partialTick) { super.extractRenderState(entity, reusedState, partialTick); reusedState.saddle = entity.getItemBySlot(EquipmentSlot.SADDLE).copy(); reusedState.isRidden = entity.isVehicle(); reusedState.eatAnimation = entity.getEatAnim(partialTick); reusedState.standAnimation = entity.getStandAnim(partialTick); reusedState.feedingAnimation = entity.getMouthAnim(partialTick); reusedState.animateTail = entity.tailCounter > 0; } }