diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/MobRenderer.h | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.Client/MobRenderer.h')
| -rw-r--r-- | Minecraft.Client/MobRenderer.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Minecraft.Client/MobRenderer.h b/Minecraft.Client/MobRenderer.h new file mode 100644 index 00000000..a8b2b93e --- /dev/null +++ b/Minecraft.Client/MobRenderer.h @@ -0,0 +1,46 @@ +#pragma once +#include "EntityRenderer.h" +class Mob; +using namespace std; + +#define PLAYER_NAME_READABLE_FULLSCREEN 16 +#define PLAYER_NAME_READABLE_DISTANCE_SPLITSCREEN 8 +#define PLAYER_NAME_READABLE_DISTANCE_SD 8 + +// 4J - this used to be a generic : public class MobRenderer<T extends Mob> extends EntityRenderer<T> +class MobRenderer : public EntityRenderer +{ +private: + static const int MAX_ARMOR_LAYERS = 4; + +protected: + Model *model; + Model *armor; + +public: + MobRenderer(Model *model, float shadow); + virtual void setArmor(Model *armor); +private: + float rotlerp(float from, float to, float a); +public: + virtual void render(shared_ptr<Entity> mob, double x, double y, double z, float rot, float a); +protected: + virtual void renderModel(shared_ptr<Entity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale); + virtual void setupPosition(shared_ptr<Mob> mob, double x, double y, double z); + virtual void setupRotations(shared_ptr<Mob> mob, float bob, float bodyRot, float a); + virtual float getAttackAnim(shared_ptr<Mob> mob, float a); + virtual float getBob(shared_ptr<Mob> mob, float a); + virtual void additionalRendering(shared_ptr<Mob> mob, float a); + virtual int prepareArmorOverlay(shared_ptr<Mob> mob, int layer, float a); + virtual int prepareArmor(shared_ptr<Mob> mob, int layer, float a); + virtual void prepareSecondPassArmor(shared_ptr<Mob> mob, int layer, float a); + virtual float getFlipDegrees(shared_ptr<Mob> mob); + virtual int getOverlayColor(shared_ptr<Mob> mob, float br, float a); + virtual void scale(shared_ptr<Mob> mob, float a); + virtual void renderName(shared_ptr<Mob> mob, double x, double y, double z); + virtual void renderNameTag(shared_ptr<Mob> mob, const wstring& name, double x, double y, double z, int maxDist, int color = 0xff000000); + +public: + // 4J Added + virtual Model *getModel() { return model; } +}; |
