2026-03-01 12:16:08 +08:00
|
|
|
#pragma once
|
2026-03-03 03:04:10 +08:00
|
|
|
#include "LivingEntityRenderer.h"
|
2026-03-01 12:16:08 +08:00
|
|
|
class Mob;
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
2026-03-03 03:04:10 +08:00
|
|
|
// This was used in MobRenderer but lots of code moved to LivingEntity and I haven't put this back yet
|
|
|
|
|
/*#define PLAYER_NAME_READABLE_FULLSCREEN 16
|
2026-03-01 12:16:08 +08:00
|
|
|
#define PLAYER_NAME_READABLE_DISTANCE_SPLITSCREEN 8
|
2026-03-03 03:04:10 +08:00
|
|
|
#define PLAYER_NAME_READABLE_DISTANCE_SD 8*/
|
2026-03-01 12:16:08 +08:00
|
|
|
|
|
|
|
|
// 4J - this used to be a generic : public class MobRenderer<T extends Mob> extends EntityRenderer<T>
|
2026-03-03 03:04:10 +08:00
|
|
|
class MobRenderer : public LivingEntityRenderer
|
2026-03-01 12:16:08 +08:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
MobRenderer(Model *model, float shadow);
|
2026-03-02 17:37:16 +07:00
|
|
|
virtual void render(shared_ptr<Entity> mob, double x, double y, double z, float rot, float a);
|
2026-03-01 12:16:08 +08:00
|
|
|
|
2026-03-03 03:04:10 +08:00
|
|
|
protected:
|
|
|
|
|
virtual bool shouldShowName(shared_ptr<LivingEntity> mob);
|
|
|
|
|
virtual void renderLeash(shared_ptr<Mob> entity, double x, double y, double z, float rot, float a);
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
double lerp(double prev, double next, double a);
|
2026-03-01 12:16:08 +08:00
|
|
|
};
|