aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/LivingEntityRenderer.h
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.Client/LivingEntityRenderer.h
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.Client/LivingEntityRenderer.h')
-rw-r--r--Minecraft.Client/LivingEntityRenderer.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/Minecraft.Client/LivingEntityRenderer.h b/Minecraft.Client/LivingEntityRenderer.h
new file mode 100644
index 00000000..2f77e1b5
--- /dev/null
+++ b/Minecraft.Client/LivingEntityRenderer.h
@@ -0,0 +1,47 @@
+#pragma once
+#include "ResourceLocation.h"
+#include "EntityRenderer.h"
+#include "..\Minecraft.World\LivingEntity.h"
+
+class LivingEntity;
+
+class LivingEntityRenderer : public EntityRenderer
+{
+ static const int PLAYER_NAME_READABLE_FULLSCREEN = 16;
+ static const int PLAYER_NAME_READABLE_DISTANCE_SPLITSCREEN = 8;
+ static const int PLAYER_NAME_READABLE_DISTANCE_SD = 8;
+
+ static ResourceLocation ENCHANT_GLINT_LOCATION;
+ static int MAX_ARMOR_LAYERS;
+
+protected:
+ //Model *model; // 4J Stu - This shadows the one in EntityRenderer
+ Model *armor;
+
+public:
+ LivingEntityRenderer(Model *model, float shadow);
+ virtual void render(shared_ptr<Entity> mob, double x, double y, double z, float rot, float a);
+ virtual void setArmor(Model *armor);
+
+private:
+ float rotlerp(float from, float to, float a);
+
+protected:
+ virtual void renderModel(shared_ptr<LivingEntity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale);
+ virtual void setupPosition(shared_ptr<LivingEntity> mob, double x, double y, double z);
+ virtual void setupRotations(shared_ptr<LivingEntity> mob, float bob, float bodyRot, float a);
+ virtual float getAttackAnim(shared_ptr<LivingEntity> mob, float a);
+ virtual float getBob(shared_ptr<LivingEntity> mob, float a);
+ virtual void additionalRendering(shared_ptr<LivingEntity> mob, float a);
+ virtual void renderArrows(shared_ptr<LivingEntity> mob, float a);
+ virtual int prepareArmorOverlay(shared_ptr<LivingEntity> mob, int layer, float a);
+ virtual int prepareArmor(shared_ptr<LivingEntity> mob, int layer, float a);
+ virtual void prepareSecondPassArmor(shared_ptr<LivingEntity> mob, int layer, float a);
+ virtual float getFlipDegrees(shared_ptr<LivingEntity> mob);
+ virtual int getOverlayColor(shared_ptr<LivingEntity> mob, float br, float a);
+ virtual void scale(shared_ptr<LivingEntity> mob, float a);
+ virtual void renderName(shared_ptr<LivingEntity> mob, double x, double y, double z);
+ virtual bool shouldShowName(shared_ptr<LivingEntity> mob);
+ virtual void renderNameTags(shared_ptr<LivingEntity> mob, double x, double y, double z, const wstring &msg, float scale, double dist);
+ virtual void renderNameTag(shared_ptr<LivingEntity> mob, const wstring &name, double x, double y, double z, int maxDist, int color = 0xff000000);
+}; \ No newline at end of file