Files
MinecraftConsoles/Minecraft.Client/HumanoidMobRenderer.h

38 lines
1.3 KiB
C
Raw Normal View History

2026-03-01 12:16:08 +08:00
#pragma once
#include "MobRenderer.h"
2026-03-01 12:16:08 +08:00
class HumanoidModel;
class Giant;
class ArmorItem;
2026-03-01 12:16:08 +08:00
class HumanoidMobRenderer : public MobRenderer
{
private:
static const wstring MATERIAL_NAMES[5];
static std::map<wstring, ResourceLocation> ARMOR_LOCATION_CACHE;
2026-03-01 12:16:08 +08:00
protected:
HumanoidModel *humanoidModel;
float _scale;
2026-03-01 12:16:08 +08:00
HumanoidModel *armorParts1;
HumanoidModel *armorParts2;
void _init(HumanoidModel *humanoidModel, float scale);
public:
static ResourceLocation *getArmorLocation(ArmorItem *armorItem, int layer);
static ResourceLocation *getArmorLocation(ArmorItem *armorItem, int layer, bool overlay);
2026-03-01 12:16:08 +08:00
HumanoidMobRenderer(HumanoidModel *humanoidModel, float shadow);
HumanoidMobRenderer(HumanoidModel *humanoidModel, float shadow, float scale);
virtual void prepareSecondPassArmor(shared_ptr<LivingEntity> mob, int layer, float a);
2026-03-01 12:16:08 +08:00
protected:
virtual void createArmorParts();
virtual int prepareArmor(shared_ptr<LivingEntity> _mob, int layer, float a);
virtual void render(shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a);
virtual ResourceLocation *getTextureLocation(shared_ptr<Entity> mob);
virtual void prepareCarriedItem(shared_ptr<Entity> mob, shared_ptr<ItemInstance> item);
virtual void additionalRendering(shared_ptr<LivingEntity> mob, float a);
virtual void scale(shared_ptr<LivingEntity> mob, float a);
2026-03-01 12:16:08 +08:00
};