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