MinecraftConsoles/Minecraft.Client/EnderDragonRenderer.h
starseed12345 41b734ebdb CPU Overhead Optimization,Pathfinding and Entity Optimizations
- Cache shared_from_this() in serverAiStep
- Reduce shared_ptr overhead in entities
- Add shadow tile cache to optimize entity shadow rendering
2026-03-09 17:42:49 +01:00

34 lines
1,020 B
C++

#pragma once
#include "MobRenderer.h"
#ifdef _XBOX
class EnderDragon;
#endif
class DragonModel;
class EnderDragonRenderer : public MobRenderer
{
private:
static ResourceLocation DRAGON_EXPLODING_LOCATION;
static ResourceLocation CRYSTAL_BEAM_LOCATION;
static ResourceLocation DRAGON_EYES_LOCATION;
static ResourceLocation DRAGON_LOCATION;
protected:
DragonModel *dragonModel;
public:
EnderDragonRenderer();
protected:
virtual void setupRotations(shared_ptr<LivingEntity> _mob, float bob, float bodyRot, float a);
virtual void renderModel(shared_ptr<LivingEntity> _mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale);
public:
virtual void render(const shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a);
virtual ResourceLocation *getTextureLocation(shared_ptr<Entity> mob);
protected:
virtual void additionalRendering(shared_ptr<LivingEntity> _mob, float a);
virtual int prepareArmor(shared_ptr<LivingEntity> _mob, int layer, float a);
};