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