001package net.minecraft.client.model; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005import net.minecraft.entity.Entity; 006import net.minecraft.entity.EntityLiving; 007import net.minecraft.entity.monster.EntityMagmaCube; 008 009@SideOnly(Side.CLIENT) 010public class ModelMagmaCube extends ModelBase 011{ 012 ModelRenderer[] field_78109_a = new ModelRenderer[8]; 013 ModelRenderer field_78108_b; 014 015 public ModelMagmaCube() 016 { 017 for (int i = 0; i < this.field_78109_a.length; ++i) 018 { 019 byte b0 = 0; 020 int j = i; 021 022 if (i == 2) 023 { 024 b0 = 24; 025 j = 10; 026 } 027 else if (i == 3) 028 { 029 b0 = 24; 030 j = 19; 031 } 032 033 this.field_78109_a[i] = new ModelRenderer(this, b0, j); 034 this.field_78109_a[i].addBox(-4.0F, (float)(16 + i), -4.0F, 8, 1, 8); 035 } 036 037 this.field_78108_b = new ModelRenderer(this, 0, 16); 038 this.field_78108_b.addBox(-2.0F, 18.0F, -2.0F, 4, 4, 4); 039 } 040 041 public int func_78107_a() 042 { 043 return 5; 044 } 045 046 /** 047 * Used for easily adding entity-dependent animations. The second and third float params here are the same second 048 * and third as in the setRotationAngles method. 049 */ 050 public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float par3, float par4) 051 { 052 EntityMagmaCube entitymagmacube = (EntityMagmaCube)par1EntityLiving; 053 float f3 = entitymagmacube.field_70812_c + (entitymagmacube.field_70811_b - entitymagmacube.field_70812_c) * par4; 054 055 if (f3 < 0.0F) 056 { 057 f3 = 0.0F; 058 } 059 060 for (int i = 0; i < this.field_78109_a.length; ++i) 061 { 062 this.field_78109_a[i].rotationPointY = (float)(-(4 - i)) * f3 * 1.7F; 063 } 064 } 065 066 /** 067 * Sets the models various rotation angles then renders the model. 068 */ 069 public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) 070 { 071 this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); 072 this.field_78108_b.render(par7); 073 074 for (int i = 0; i < this.field_78109_a.length; ++i) 075 { 076 this.field_78109_a[i].render(par7); 077 } 078 } 079}