the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 61 lines 2.0 kB view raw
1#include "stdafx.h" 2#include "WolfRenderer.h" 3#include "MultiPlayerLocalPlayer.h" 4#include "..\Minecraft.World\net.minecraft.world.entity.animal.h" 5 6ResourceLocation *WolfRenderer::WOLF_LOCATION = new ResourceLocation(TN_MOB_WOLF); 7ResourceLocation *WolfRenderer::WOLF_TAME_LOCATION = new ResourceLocation(TN_MOB_WOLF_TAME); 8ResourceLocation *WolfRenderer::WOLF_ANGRY_LOCATION = new ResourceLocation(TN_MOB_WOLF_ANGRY); 9ResourceLocation *WolfRenderer::WOLF_COLLAR_LOCATION = new ResourceLocation(TN_MOB_WOLF_COLLAR); 10 11WolfRenderer::WolfRenderer(Model *model, Model *armor, float shadow) : MobRenderer(model, shadow) 12{ 13 setArmor(armor); 14} 15 16float WolfRenderer::getBob(shared_ptr<LivingEntity> _mob, float a) 17{ 18 // 4J - dynamic cast required because we aren't using templates/generics in our version 19 shared_ptr<Wolf> mob = dynamic_pointer_cast<Wolf>(_mob); 20 21 return mob->getTailAngle(); 22} 23 24int WolfRenderer::prepareArmor(shared_ptr<LivingEntity> mob, int layer, float a) 25{ 26 if (mob->isInvisibleTo(Minecraft::GetInstance()->player)) return -1; // 4J-JEV: Todo, merge with java fix in '1.7.5'. 27 28 shared_ptr<Wolf> wolf = dynamic_pointer_cast<Wolf>(mob); 29 if (layer == 0 && wolf->isWet()) 30 { 31 float brightness = wolf->getBrightness(a) * wolf->getWetShade(a); 32 bindTexture(WOLF_LOCATION); 33 glColor3f(brightness, brightness, brightness); 34 35 return 1; 36 } 37 if (layer == 1 && wolf->isTame()) 38 { 39 bindTexture(WOLF_COLLAR_LOCATION); 40 float brightness = SharedConstants::TEXTURE_LIGHTING ? 1 : wolf->getBrightness(a); 41 int color = wolf->getCollarColor(); 42 glColor3f(brightness * Sheep::COLOR[color][0], brightness * Sheep::COLOR[color][1], brightness * Sheep::COLOR[color][2]); 43 44 return 1; 45 } 46 return -1; 47} 48 49ResourceLocation *WolfRenderer::getTextureLocation(shared_ptr<Entity> _mob) 50{ 51 shared_ptr<Wolf> mob = dynamic_pointer_cast<Wolf>(_mob); 52 if (mob->isTame()) 53 { 54 return WOLF_TAME_LOCATION; 55 } 56 if (mob->isAngry()) 57 { 58 return WOLF_ANGRY_LOCATION; 59 } 60 return WOLF_LOCATION; 61}