the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 62 lines 2.3 kB view raw
1#include "stdafx.h" 2#include "SheepRenderer.h" 3#include "MultiPlayerLocalPlayer.h" 4#include "..\Minecraft.World\net.minecraft.world.entity.animal.h" 5 6ResourceLocation SheepRenderer::SHEEP_LOCATION = ResourceLocation(TN_MOB_SHEEP); 7ResourceLocation SheepRenderer::SHEEP_FUR_LOCATION = ResourceLocation(TN_MOB_SHEEP_FUR); 8 9SheepRenderer::SheepRenderer(Model *model, Model *armor, float shadow) : MobRenderer(model, shadow) 10{ 11 setArmor(armor); 12} 13 14int SheepRenderer::prepareArmor(shared_ptr<LivingEntity> _sheep, int layer, float a) 15{ 16 // 4J - dynamic cast required because we aren't using templates/generics in our version 17 shared_ptr<Sheep> sheep = dynamic_pointer_cast<Sheep>(_sheep); 18 19 if (layer == 0 && !sheep->isSheared() && 20 !sheep->isInvisibleTo(Minecraft::GetInstance()->player)) // 4J-JEV: Todo, merge with java fix (for invisible sheep armour) in '1.7.5'. 21 { 22 MemSect(31); 23 bindTexture(&SHEEP_FUR_LOCATION); 24 MemSect(0); 25 26 if (sheep->hasCustomName() && sheep->getCustomName().compare(L"jeb_") == 0) 27 { 28 // easter egg... 29 int colorDuration = 25; 30 int value = (sheep->tickCount / colorDuration) + sheep->entityId; 31 int c1 = value % Sheep::COLOR_LENGTH; 32 int c2 = (value + 1) % Sheep::COLOR_LENGTH; 33 float subStep = ((sheep->tickCount % colorDuration) + a) / (float) colorDuration; 34 35 glColor3f(Sheep::COLOR[c1][0] * (1.0f - subStep) + Sheep::COLOR[c2][0] * subStep, Sheep::COLOR[c1][1] * (1.0f - subStep) + Sheep::COLOR[c2][1] * subStep, Sheep::COLOR[c1][2] 36 * (1.0f - subStep) + Sheep::COLOR[c2][2] * subStep); 37 } 38 else 39 { 40 int color = sheep->getColor(); 41 glColor3f(Sheep::COLOR[color][0], Sheep::COLOR[color][1], Sheep::COLOR[color][2]); 42 } 43 44 45 // 4J - change brought forward from 1.8.2 46 float brightness = SharedConstants::TEXTURE_LIGHTING ? 1.0f : sheep->getBrightness(a); 47 int color = sheep->getColor(); 48 glColor3f(brightness * Sheep::COLOR[color][0], brightness * Sheep::COLOR[color][1], brightness * Sheep::COLOR[color][2]); 49 return 1; 50 } 51 return -1; 52} 53 54void SheepRenderer::render(shared_ptr<Entity> mob, double x, double y, double z, float rot, float a) 55{ 56 MobRenderer::render(mob, x, y, z, rot, a); 57} 58 59ResourceLocation *SheepRenderer::getTextureLocation(shared_ptr<Entity> mob) 60{ 61 return &SHEEP_LOCATION; 62}