aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/SlimeRenderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/SlimeRenderer.cpp')
-rw-r--r--Minecraft.Client/SlimeRenderer.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/Minecraft.Client/SlimeRenderer.cpp b/Minecraft.Client/SlimeRenderer.cpp
index 23c9c16e..f3f64aed 100644
--- a/Minecraft.Client/SlimeRenderer.cpp
+++ b/Minecraft.Client/SlimeRenderer.cpp
@@ -2,18 +2,22 @@
#include "SlimeRenderer.h"
#include "..\Minecraft.World\net.minecraft.world.entity.monster.h"
+ResourceLocation SlimeRenderer::SLIME_LOCATION = ResourceLocation(TN_MOB_SLIME);
+
SlimeRenderer::SlimeRenderer(Model *model, Model *armor, float shadow) : MobRenderer(model, shadow)
{
this->armor = armor;
}
-int SlimeRenderer::prepareArmor(shared_ptr<Mob> _slime, int layer, float a)
+int SlimeRenderer::prepareArmor(shared_ptr<LivingEntity> _slime, int layer, float a)
{
// 4J - dynamic cast required because we aren't using templates/generics in our version
shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(_slime);
- if (slime->isInvisible()) return 0;
-
+ if (slime->isInvisible())
+ {
+ return 0;
+ }
if (layer == 0)
{
setArmor(armor);
@@ -32,7 +36,7 @@ int SlimeRenderer::prepareArmor(shared_ptr<Mob> _slime, int layer, float a)
return -1;
}
-void SlimeRenderer::scale(shared_ptr<Mob> _slime, float a)
+void SlimeRenderer::scale(shared_ptr<LivingEntity> _slime, float a)
{
// 4J - dynamic cast required because we aren't using templates/generics in our version
shared_ptr<Slime> slime = dynamic_pointer_cast<Slime>(_slime);
@@ -41,4 +45,9 @@ void SlimeRenderer::scale(shared_ptr<Mob> _slime, float a)
float ss = (slime->oSquish + (slime->squish - slime->oSquish) * a) / (size * 0.5f + 1);
float w = 1 / (ss + 1);
glScalef(w * size, 1 / w * size, w * size);
+}
+
+ResourceLocation *SlimeRenderer::getTextureLocation(shared_ptr<Entity> mob)
+{
+ return &SLIME_LOCATION;
} \ No newline at end of file