4jcraft/Minecraft.Client/Rendering/EntityRenderers/BlazeRenderer.cpp
2026-03-21 22:28:58 -05:00

30 lines
1.1 KiB
C++

#include "../../Platform/stdafx.h"
#include "../Models/BlazeModel.h"
#include "../../../Minecraft.World/Headers/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;
}