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 RenderSpider extends RenderLiving 009 { 010 public RenderSpider() 011 { 012 super(new ModelSpider(), 1.0F); 013 this.setRenderPassModel(new ModelSpider()); 014 } 015 016 protected float setSpiderDeathMaxRotation(EntitySpider par1EntitySpider) 017 { 018 return 180.0F; 019 } 020 021 /** 022 * Sets the spider's glowing eyes 023 */ 024 protected int setSpiderEyeBrightness(EntitySpider par1EntitySpider, int par2, float par3) 025 { 026 if (par2 != 0) 027 { 028 return -1; 029 } 030 else 031 { 032 this.loadTexture("/mob/spider_eyes.png"); 033 float var4 = 1.0F; 034 GL11.glEnable(GL11.GL_BLEND); 035 GL11.glDisable(GL11.GL_ALPHA_TEST); 036 GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); 037 char var5 = 61680; 038 int var6 = var5 % 65536; 039 int var7 = var5 / 65536; 040 OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)var6 / 1.0F, (float)var7 / 1.0F); 041 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 042 GL11.glColor4f(1.0F, 1.0F, 1.0F, var4); 043 return 1; 044 } 045 } 046 047 protected void scaleSpider(EntitySpider par1EntitySpider, float par2) 048 { 049 float var3 = par1EntitySpider.spiderScaleAmount(); 050 GL11.glScalef(var3, var3, var3); 051 } 052 053 /** 054 * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: 055 * entityLiving, partialTickTime 056 */ 057 protected void preRenderCallback(EntityLiving par1EntityLiving, float par2) 058 { 059 this.scaleSpider((EntitySpider)par1EntityLiving, par2); 060 } 061 062 protected float getDeathMaxRotation(EntityLiving par1EntityLiving) 063 { 064 return this.setSpiderDeathMaxRotation((EntitySpider)par1EntityLiving); 065 } 066 067 /** 068 * Queries whether should render the specified pass or not. 069 */ 070 protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3) 071 { 072 return this.setSpiderEyeBrightness((EntitySpider)par1EntityLiving, par2, par3); 073 } 074 }