the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "ModelPart.h"
3#include "MushroomCowRenderer.h"
4#include "TextureAtlas.h"
5#include "QuadrupedModel.h"
6#include "..\Minecraft.World\net.minecraft.world.entity.animal.h"
7#include "..\Minecraft.World\net.minecraft.world.level.tile.h"
8
9ResourceLocation MushroomCowRenderer::MOOSHROOM_LOCATION = ResourceLocation(TN_MOB_RED_COW);
10
11MushroomCowRenderer::MushroomCowRenderer(Model *model, float shadow) : MobRenderer(model, shadow)
12{
13}
14
15void MushroomCowRenderer::render(shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
16{
17 // 4J - original version used generics and thus had an input parameter of type MushroomCow rather than shared_ptr<Entity> we have here -
18 // do some casting around instead
19 //shared_ptr<MushroomCow> mob = dynamic_pointer_cast<MushroomCow>(_mob);
20
21 // 4J Stu - No need to do the cast, just pass through as-is
22 MobRenderer::render(_mob, x, y, z, rot, a);
23}
24
25void MushroomCowRenderer::additionalRendering(shared_ptr<LivingEntity> _mob, float a)
26{
27 // 4J - original version used generics and thus had an input parameter of type MushroomCow rather than shared_ptr<Mob> we have here -
28 // do some casting around instead
29 shared_ptr<MushroomCow> mob = dynamic_pointer_cast<MushroomCow>(_mob);
30 MobRenderer::additionalRendering(mob, a);
31 if (mob->isBaby()) return;
32 bindTexture(&TextureAtlas::LOCATION_BLOCKS); // 4J was "/terrain.png"
33 glEnable(GL_CULL_FACE);
34 glPushMatrix();
35 glScalef(1, -1, 1);
36 glTranslatef(0.2f, 0.4f, 0.5f);
37 glRotatef(42, 0, 1, 0);
38 tileRenderer->renderTile(Tile::mushroom_red, 0, 1);
39 glTranslatef(0.1f, 0, -0.6f);
40 glRotatef(42, 0, 1, 0);
41 tileRenderer->renderTile(Tile::mushroom_red, 0, 1);
42 glPopMatrix();
43
44 glPushMatrix();
45 ((QuadrupedModel *) model)->head->translateTo(1 / 16.0f);
46 glScalef(1, -1, 1);
47 glTranslatef(0, 0.75f, -0.2f);
48 glRotatef(12, 0, 1, 0);
49 tileRenderer->renderTile(Tile::mushroom_red, 0, 1);
50 glPopMatrix();
51
52 glDisable(GL_CULL_FACE);
53}
54
55ResourceLocation *MushroomCowRenderer::getTextureLocation(shared_ptr<Entity> mob)
56{
57 return &MOOSHROOM_LOCATION;
58}