aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/HorseRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/HorseRenderer.h')
-rw-r--r--Minecraft.Client/HorseRenderer.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/Minecraft.Client/HorseRenderer.h b/Minecraft.Client/HorseRenderer.h
new file mode 100644
index 00000000..cd3674d8
--- /dev/null
+++ b/Minecraft.Client/HorseRenderer.h
@@ -0,0 +1,31 @@
+#pragma once
+#include "MobRenderer.h"
+#include "ResourceLocation.h"
+
+class EntityHorse;
+class PathfinderMob;
+
+class HorseRenderer : public MobRenderer
+{
+private:
+ static std::map<wstring, ResourceLocation *> LAYERED_LOCATION_CACHE;
+
+ static ResourceLocation HORSE_LOCATION;
+ static ResourceLocation HORSE_MULE_LOCATION;
+ static ResourceLocation HORSE_DONKEY_LOCATION;
+ static ResourceLocation HORSE_ZOMBIE_LOCATION;
+ static ResourceLocation HORSE_SKELETON_LOCATION;
+
+public:
+ HorseRenderer(Model *model, float f);
+
+protected:
+ void adjustHeight(shared_ptr<PathfinderMob> mob, float FHeight);
+ virtual void scale(shared_ptr<LivingEntity> entityliving, float f);
+ virtual void renderModel(shared_ptr<LivingEntity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale);
+ virtual void bindTexture(ResourceLocation *location);
+ virtual ResourceLocation *getTextureLocation(shared_ptr<Entity> entity);
+
+private:
+ ResourceLocation *getOrCreateLayeredTextureLocation(shared_ptr<EntityHorse> horse);
+}; \ No newline at end of file