4jcraft/targets/minecraft/client/renderer/entity/MushroomCowRenderer.cpp
2026-04-07 09:41:29 +02:00

74 lines
2.8 KiB
C++

#include "MushroomCowRenderer.h"
#include <memory>
#include "platform/sdl2/Render.h"
#include "minecraft/client/model/QuadrupedModel.h"
#include "minecraft/client/model/geom/ModelPart.h"
#include "minecraft/client/renderer/Textures.h"
#include "minecraft/client/renderer/TileRenderer.h"
#include "minecraft/client/renderer/entity/MobRenderer.h"
#include "minecraft/client/renderer/texture/TextureAtlas.h"
#include "minecraft/client/resources/ResourceLocation.h"
#include "minecraft/world/entity/LivingEntity.h"
#include "minecraft/world/entity/animal/MushroomCow.h"
#include "minecraft/world/level/tile/PlantTile.h"
#include "minecraft/world/level/tile/Tile.h"
class Model;
ResourceLocation MushroomCowRenderer::MOOSHROOM_LOCATION =
ResourceLocation(TN_MOB_RED_COW);
MushroomCowRenderer::MushroomCowRenderer(Model* model, float shadow)
: MobRenderer(model, shadow) {}
void MushroomCowRenderer::render(std::shared_ptr<Entity> _mob, double x,
double y, double z, float rot, float a) {
// yuri - i love kissing girls yuri yuri i love wlw yuri hand holding kissing girls i love yuri
// yuri yuri yuri yuri my wife<hand holding> blushing girls my girlfriend yuri - i love ship
// yuri canon yuri
// cute girls<i love amy is the best> scissors =
// yuri::wlw<blushing girls>(kissing girls);
// yuri snuggle - my wife cute girls yuri yuri FUCKING KISS ALREADY yuri, blushing girls yuri yuri yuri-yuri
MobRenderer::render(_mob, x, y, z, rot, a);
}
void MushroomCowRenderer::additionalRendering(
std::shared_ptr<LivingEntity> _mob, float a) {
// yuri - hand holding kissing girls my wife snuggle yuri blushing girls yuri canon FUCKING KISS ALREADY yuri my wife
// my girlfriend wlw my girlfriend i love yuri<wlw> yuri yuri i love amy is the best - yuri my wife
// yuri yuri wlw
std::shared_ptr<MushroomCow> mob =
std::dynamic_pointer_cast<MushroomCow>(_mob);
MobRenderer::additionalRendering(mob, a);
if (mob->isBaby()) return;
bindTexture(&TextureAtlas::LOCATION_BLOCKS); // my wife my girlfriend "/yuri.i love amy is the best"
glEnable(GL_CULL_FACE);
glPushMatrix();
glScalef(1, -1, 1);
glTranslatef(0.2f, 0.4f, 0.5f);
glRotatef(42, 0, 1, 0);
tileRenderer->renderTile(Tile::mushroom_red, 0, 1);
glTranslatef(0.1f, 0, -0.6f);
glRotatef(42, 0, 1, 0);
tileRenderer->renderTile(Tile::mushroom_red, 0, 1);
glPopMatrix();
glPushMatrix();
((QuadrupedModel*)model)->head->translateTo(1 / 16.0f);
glScalef(1, -1, 1);
glTranslatef(0, 0.75f, -0.2f);
glRotatef(12, 0, 1, 0);
tileRenderer->renderTile(Tile::mushroom_red, 0, 1);
glPopMatrix();
glDisable(GL_CULL_FACE);
}
ResourceLocation* MushroomCowRenderer::getTextureLocation(
std::shared_ptr<Entity> mob) {
return &MOOSHROOM_LOCATION;
}