001 package net.minecraft.client.renderer.entity;
002
003 import cpw.mods.fml.relauncher.Side;
004 import cpw.mods.fml.relauncher.SideOnly;
005 import net.minecraft.client.model.ModelBase;
006 import net.minecraft.entity.EntityLiving;
007 import net.minecraft.entity.passive.EntitySheep;
008 import net.minecraft.entity.passive.EntityWolf;
009 import org.lwjgl.opengl.GL11;
010
011 @SideOnly(Side.CLIENT)
012 public class RenderWolf extends RenderLiving
013 {
014 public RenderWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3)
015 {
016 super(par1ModelBase, par3);
017 this.setRenderPassModel(par2ModelBase);
018 }
019
020 protected float getTailRotation(EntityWolf par1EntityWolf, float par2)
021 {
022 return par1EntityWolf.getTailRotation();
023 }
024
025 protected int func_82447_a(EntityWolf par1EntityWolf, int par2, float par3)
026 {
027 float var4;
028
029 if (par2 == 0 && par1EntityWolf.getWolfShaking())
030 {
031 var4 = par1EntityWolf.getBrightness(par3) * par1EntityWolf.getShadingWhileShaking(par3);
032 this.loadTexture(par1EntityWolf.getTexture());
033 GL11.glColor3f(var4, var4, var4);
034 return 1;
035 }
036 else if (par2 == 1 && par1EntityWolf.isTamed())
037 {
038 this.loadTexture("/mob/wolf_collar.png");
039 var4 = 1.0F;
040 int var5 = par1EntityWolf.getCollarColor();
041 GL11.glColor3f(var4 * EntitySheep.fleeceColorTable[var5][0], var4 * EntitySheep.fleeceColorTable[var5][1], var4 * EntitySheep.fleeceColorTable[var5][2]);
042 return 1;
043 }
044 else
045 {
046 return -1;
047 }
048 }
049
050 /**
051 * Queries whether should render the specified pass or not.
052 */
053 protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3)
054 {
055 return this.func_82447_a((EntityWolf)par1EntityLiving, par2, par3);
056 }
057
058 /**
059 * Defines what float the third param in setRotationAngles of ModelBase is
060 */
061 protected float handleRotationFloat(EntityLiving par1EntityLiving, float par2)
062 {
063 return this.getTailRotation((EntityWolf)par1EntityLiving, par2);
064 }
065 }