4jcraft/Minecraft.Client/net/minecraft/client/renderer/entity/BlazeRenderer.cpp

30 lines
1.2 KiB
C++

#include "../../../../../../Minecraft.World/Header Files/stdafx.h"
#include "../../model/BlazeModel.h"
#include "../../../../../../Minecraft.World/net/minecraft/world/entity/monster/net.minecraft.world.entity.monster.h"
#include "BlazeRenderer.h"
ResourceLocation BlazeRenderer::BLAZE_LOCATION = ResourceLocation(TN_MOB_BLAZE);
BlazeRenderer::BlazeRenderer() : MobRenderer(new BlazeModel(), 0.5f) {
modelVersion = ((BlazeModel*)model)->modelVersion();
}
void BlazeRenderer::render(std::shared_ptr<Entity> _mob, double x, double y,
double z, float rot, float a) {
// 4J - original version used generics and thus had an input parameter of
// type Blaze rather than shared_ptr<Entity> we have here - do some casting
// around instead
std::shared_ptr<Blaze> mob = std::dynamic_pointer_cast<Blaze>(_mob);
int modelVersion = ((BlazeModel*)model)->modelVersion();
if (modelVersion != this->modelVersion) {
this->modelVersion = modelVersion;
model = new BlazeModel();
}
MobRenderer::render(mob, x, y, z, rot, a);
}
ResourceLocation* BlazeRenderer::getTextureLocation(
std::shared_ptr<Entity> mob) {
return &BLAZE_LOCATION;
}