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

31 lines
1.1 KiB
C++

#include "../../Platform/stdafx.h"
#include "../../../Minecraft.World/Util/Mth.h"
#include "ChickenRenderer.h"
#include "../../../Minecraft.World/Headers/net.minecraft.world.entity.animal.h"
ResourceLocation ChickenRenderer::CHICKEN_LOCATION =
ResourceLocation(TN_MOB_CHICKEN);
ChickenRenderer::ChickenRenderer(Model* model, float shadow)
: MobRenderer(model, shadow) {}
void ChickenRenderer::render(std::shared_ptr<Entity> _mob, double x, double y,
double z, float rot, float a) {
MobRenderer::render(_mob, x, y, z, rot, a);
}
float ChickenRenderer::getBob(std::shared_ptr<LivingEntity> _mob, float a) {
// 4J - dynamic cast required because we aren't using templates/generics in
// our version
std::shared_ptr<Chicken> mob = std::dynamic_pointer_cast<Chicken>(_mob);
float flap = mob->oFlap + (mob->flap - mob->oFlap) * a;
float flapSpeed = mob->oFlapSpeed + (mob->flapSpeed - mob->oFlapSpeed) * a;
return (Mth::sin(flap) + 1) * flapSpeed;
}
ResourceLocation* ChickenRenderer::getTextureLocation(
std::shared_ptr<Entity> mob) {
return &CHICKEN_LOCATION;
}