package atomicscience.muoxing;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;

@SideOnly(Side.CLIENT)
public class MReactorCellTop extends ModelBase {
  ModelRenderer TopBaseWidth;
  ModelRenderer BaseWidth;
  ModelRenderer BottomPad;
  ModelRenderer TopBaseDepth;
  ModelRenderer TopBase;
  ModelRenderer BaseDepth;
  ModelRenderer Base;
  ModelRenderer HatMiddle;
  ModelRenderer HatCover;
  ModelRenderer HatTop;
  ModelRenderer HatDepth;
  ModelRenderer HatWidth;
  ModelRenderer MiddleFrontRight;
  ModelRenderer MiddleFrontLeft;
  ModelRenderer MiddleBackLeft;
  ModelRenderer MiddleBackRight;
  ModelRenderer MiddlePLeft;
  ModelRenderer MiddlePFront;
  ModelRenderer MiddlePBack;
  ModelRenderer MiddlePRight;
  ModelRenderer FrontLeftSpike;
  ModelRenderer FrontRightSpike;
  ModelRenderer BackRightSpike;
  ModelRenderer BackLeftSpike;
  ModelRenderer OPLeftFront;
  ModelRenderer OPFrontRight;
  ModelRenderer OPBackLeft;
  ModelRenderer OPLeftFront2;
  ModelRenderer OPRightBack;
  ModelRenderer OPFrontLeft;
  ModelRenderer OPLeftBack;
  ModelRenderer OPBackRight;

  public MReactorCellTop() {
    super.textureWidth = 128;
    super.textureHeight = 128;
    this.TopBaseWidth = new ModelRenderer(this, 53, 16);
    this.TopBaseWidth.addBox(0.0F, 0.0F, 0.0F, 14, 1, 10);
    this.TopBaseWidth.setRotationPoint(-7.0F, 13.0F, -5.0F);
    this.TopBaseWidth.setTextureSize(64, 32);
    this.TopBaseWidth.mirror = true;
    this.setRotation(this.TopBaseWidth, 0.0F, 0.0F, 0.0F);
    this.BaseWidth = new ModelRenderer(this, 53, 16);
    this.BaseWidth.addBox(0.0F, 0.0F, 0.0F, 14, 1, 10);
    this.BaseWidth.setRotationPoint(-7.0F, 22.0F, -5.0F);
    this.BaseWidth.setTextureSize(64, 32);
    this.BaseWidth.mirror = true;
    this.setRotation(this.BaseWidth, 0.0F, 0.0F, 0.0F);
    this.BottomPad = new ModelRenderer(this, 53, 42);
    this.BottomPad.addBox(0.0F, 0.0F, 0.0F, 10, 1, 10);
    this.BottomPad.setRotationPoint(-5.0F, 23.0F, -5.0F);
    this.BottomPad.setTextureSize(64, 32);
    this.BottomPad.mirror = true;
    this.setRotation(this.BottomPad, 0.0F, 0.0F, 0.0F);
    this.TopBaseDepth = new ModelRenderer(this, 53, 0);
    this.TopBaseDepth.addBox(0.0F, 0.0F, 0.0F, 10, 1, 14);
    this.TopBaseDepth.setRotationPoint(-5.0F, 13.0F, -7.0F);
    this.TopBaseDepth.setTextureSize(64, 32);
    this.TopBaseDepth.mirror = true;
    this.setRotation(this.TopBaseDepth, 0.0F, 0.0F, 0.0F);
    this.TopBase = new ModelRenderer(this, 53, 28);
    this.TopBase.addBox(0.0F, 0.0F, 0.0F, 12, 1, 12);
    this.TopBase.setRotationPoint(-6.0F, 13.0F, -6.0F);
    this.TopBase.setTextureSize(64, 32);
    this.TopBase.mirror = true;
    this.setRotation(this.TopBase, 0.0F, 0.0F, 0.0F);
    this.BaseDepth = new ModelRenderer(this, 53, 0);
    this.BaseDepth.addBox(0.0F, 0.0F, 0.0F, 10, 1, 14);
    this.BaseDepth.setRotationPoint(-5.0F, 22.0F, -7.0F);
    this.BaseDepth.setTextureSize(64, 32);
    this.BaseDepth.mirror = true;
    this.setRotation(this.BaseDepth, 0.0F, 0.0F, 0.0F);
    this.Base = new ModelRenderer(this, 53, 28);
    this.Base.addBox(0.0F, 0.0F, 0.0F, 12, 1, 12);
    this.Base.setRotationPoint(-6.0F, 22.0F, -6.0F);
    this.Base.setTextureSize(64, 32);
    this.Base.mirror = true;
    this.setRotation(this.Base, 0.0F, 0.0F, 0.0F);
    this.HatMiddle = new ModelRenderer(this, 0, 42);
    this.HatMiddle.addBox(0.0F, 0.0F, 0.0F, 10, 1, 10);
    this.HatMiddle.setRotationPoint(-5.0F, 12.0F, -5.0F);
    this.HatMiddle.setTextureSize(64, 32);
    this.HatMiddle.mirror = true;
    this.setRotation(this.HatMiddle, 0.0F, 0.0F, 0.0F);
    this.HatCover = new ModelRenderer(this, 0, 12);
    this.HatCover.addBox(0.0F, 0.0F, 0.0F, 7, 1, 7);
    this.HatCover.setRotationPoint(-3.5F, 11.0F, -3.5F);
    this.HatCover.setTextureSize(64, 32);
    this.HatCover.mirror = true;
    this.setRotation(this.HatCover, 0.0F, 0.0F, 0.0F);
    this.HatTop = new ModelRenderer(this, 0, 21);
    this.HatTop.addBox(0.0F, 0.0F, 0.0F, 9, 1, 9);
    this.HatTop.setRotationPoint(-4.5F, 11.5F, -4.5F);
    this.HatTop.setTextureSize(64, 32);
    this.HatTop.mirror = true;
    this.setRotation(this.HatTop, 0.0F, 0.0F, 0.0F);
    this.HatDepth = new ModelRenderer(this, 0, 54);
    this.HatDepth.addBox(0.0F, 0.0F, 0.0F, 8, 1, 12);
    this.HatDepth.setRotationPoint(-4.0F, 12.0F, -6.0F);
    this.HatDepth.setTextureSize(64, 32);
    this.HatDepth.mirror = true;
    this.setRotation(this.HatDepth, 0.0F, 0.0F, 0.0F);
    this.HatWidth = new ModelRenderer(this, 0, 32);
    this.HatWidth.addBox(0.0F, 0.0F, 0.0F, 12, 1, 8);
    this.HatWidth.setRotationPoint(-6.0F, 12.0F, -4.0F);
    this.HatWidth.setTextureSize(64, 32);
    this.HatWidth.mirror = true;
    this.setRotation(this.HatWidth, 0.0F, 0.0F, 0.0F);
    this.MiddleFrontRight = new ModelRenderer(this, 0, 68);
    this.MiddleFrontRight.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.MiddleFrontRight.setRotationPoint(3.0F, 14.0F, -4.0F);
    this.MiddleFrontRight.setTextureSize(64, 32);
    this.MiddleFrontRight.mirror = true;
    this.setRotation(this.MiddleFrontRight, 0.0F, 0.0F, 0.0F);
    this.MiddleFrontLeft = new ModelRenderer(this, 0, 68);
    this.MiddleFrontLeft.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.MiddleFrontLeft.setRotationPoint(-4.0F, 14.0F, -4.0F);
    this.MiddleFrontLeft.setTextureSize(64, 32);
    this.MiddleFrontLeft.mirror = true;
    this.setRotation(this.MiddleFrontLeft, 0.0F, 0.0F, 0.0F);
    this.MiddleBackLeft = new ModelRenderer(this, 0, 68);
    this.MiddleBackLeft.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.MiddleBackLeft.setRotationPoint(-4.0F, 14.0F, 3.0F);
    this.MiddleBackLeft.setTextureSize(64, 32);
    this.MiddleBackLeft.mirror = true;
    this.setRotation(this.MiddleBackLeft, 0.0F, 0.0F, 0.0F);
    this.MiddleBackRight = new ModelRenderer(this, 0, 68);
    this.MiddleBackRight.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.MiddleBackRight.setRotationPoint(3.0F, 14.0F, 3.0F);
    this.MiddleBackRight.setTextureSize(64, 32);
    this.MiddleBackRight.mirror = true;
    this.setRotation(this.MiddleBackRight, 0.0F, 0.0F, 0.0F);
    this.MiddlePLeft = new ModelRenderer(this, 5, 68);
    this.MiddlePLeft.addBox(0.0F, 1.466667F, 0.0F, 1, 8, 6);
    this.MiddlePLeft.setRotationPoint(-5.0F, 12.5F, -3.0F);
    this.MiddlePLeft.setTextureSize(64, 32);
    this.MiddlePLeft.mirror = true;
    this.setRotation(this.MiddlePLeft, 0.0F, 0.0F, 0.0F);
    this.MiddlePFront = new ModelRenderer(this, 5, 83);
    this.MiddlePFront.addBox(0.0F, 0.0F, 0.0F, 6, 8, 1);
    this.MiddlePFront.setRotationPoint(-3.0F, 14.0F, -5.0F);
    this.MiddlePFront.setTextureSize(64, 32);
    this.MiddlePFront.mirror = true;
    this.setRotation(this.MiddlePFront, 0.0F, 0.0F, 0.0F);
    this.MiddlePBack = new ModelRenderer(this, 5, 83);
    this.MiddlePBack.addBox(0.0F, 0.0F, 0.0F, 6, 8, 1);
    this.MiddlePBack.setRotationPoint(-3.0F, 14.0F, 4.0F);
    this.MiddlePBack.setTextureSize(64, 32);
    this.MiddlePBack.mirror = true;
    this.setRotation(this.MiddlePBack, 0.0F, 0.0F, 0.0F);
    this.MiddlePRight = new ModelRenderer(this, 5, 68);
    this.MiddlePRight.addBox(0.0F, 0.0F, 0.0F, 1, 8, 6);
    this.MiddlePRight.setRotationPoint(4.0F, 14.0F, -3.0F);
    this.MiddlePRight.setTextureSize(64, 32);
    this.MiddlePRight.mirror = true;
    this.setRotation(this.MiddlePRight, 0.0F, 0.0F, 0.0F);
    this.FrontLeftSpike = new ModelRenderer(this, 44, 0);
    this.FrontLeftSpike.addBox(-0.5F, -0.5F, 0.0F, 2, 3, 2);
    this.FrontLeftSpike.setRotationPoint(-6.0F, 11.0F, -3.0F);
    this.FrontLeftSpike.setTextureSize(64, 32);
    this.FrontLeftSpike.mirror = true;
    this.setRotation(this.FrontLeftSpike, 0.0F, 0.0F, -0.4363323F);
    this.FrontRightSpike = new ModelRenderer(this, 44, 0);
    this.FrontRightSpike.addBox(-0.5F, -1.0F, 0.0F, 2, 3, 2);
    this.FrontRightSpike.setRotationPoint(5.0F, 11.0F, -3.0F);
    this.FrontRightSpike.setTextureSize(64, 32);
    this.FrontRightSpike.mirror = true;
    this.setRotation(this.FrontRightSpike, 0.0F, 0.0F, 0.4363323F);
    this.BackRightSpike = new ModelRenderer(this, 44, 0);
    this.BackRightSpike.addBox(-0.5F, -1.0F, 0.0F, 2, 3, 2);
    this.BackRightSpike.setRotationPoint(5.0F, 11.0F, 1.0F);
    this.BackRightSpike.setTextureSize(64, 32);
    this.BackRightSpike.mirror = true;
    this.setRotation(this.BackRightSpike, 0.0F, 0.0F, 0.4363323F);
    this.BackLeftSpike = new ModelRenderer(this, 44, 0);
    this.BackLeftSpike.addBox(-0.5F, -0.5F, 0.0F, 2, 3, 2);
    this.BackLeftSpike.setRotationPoint(-6.0F, 11.0F, 1.0F);
    this.BackLeftSpike.setTextureSize(64, 32);
    this.BackLeftSpike.mirror = true;
    this.setRotation(this.BackLeftSpike, 0.0F, 0.0F, -0.4363323F);
    this.OPLeftFront = new ModelRenderer(this, 0, 0);
    this.OPLeftFront.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPLeftFront.setRotationPoint(-7.0F, 14.0F, -4.0F);
    this.OPLeftFront.setTextureSize(64, 32);
    this.OPLeftFront.mirror = true;
    this.setRotation(this.OPLeftFront, 0.0F, 0.0F, 0.0F);
    this.OPFrontRight = new ModelRenderer(this, 0, 0);
    this.OPFrontRight.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPFrontRight.setRotationPoint(3.0F, 14.0F, -7.0F);
    this.OPFrontRight.setTextureSize(64, 32);
    this.OPFrontRight.mirror = true;
    this.setRotation(this.OPFrontRight, 0.0F, 0.0F, 0.0F);
    this.OPBackLeft = new ModelRenderer(this, 0, 0);
    this.OPBackLeft.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPBackLeft.setRotationPoint(-4.0F, 14.0F, 6.0F);
    this.OPBackLeft.setTextureSize(64, 32);
    this.OPBackLeft.mirror = true;
    this.setRotation(this.OPBackLeft, 0.0F, 0.0F, 0.0F);
    this.OPLeftFront2 = new ModelRenderer(this, 0, 0);
    this.OPLeftFront2.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPLeftFront2.setRotationPoint(6.0F, 14.0F, -4.0F);
    this.OPLeftFront2.setTextureSize(64, 32);
    this.OPLeftFront2.mirror = true;
    this.setRotation(this.OPLeftFront2, 0.0F, 0.0F, 0.0F);
    this.OPRightBack = new ModelRenderer(this, 0, 0);
    this.OPRightBack.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPRightBack.setRotationPoint(6.0F, 14.0F, 3.0F);
    this.OPRightBack.setTextureSize(64, 32);
    this.OPRightBack.mirror = true;
    this.setRotation(this.OPRightBack, 0.0F, 0.0F, 0.0F);
    this.OPFrontLeft = new ModelRenderer(this, 0, 0);
    this.OPFrontLeft.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPFrontLeft.setRotationPoint(-4.0F, 14.0F, -7.0F);
    this.OPFrontLeft.setTextureSize(64, 32);
    this.OPFrontLeft.mirror = true;
    this.setRotation(this.OPFrontLeft, 0.0F, 0.0F, 0.0F);
    this.OPLeftBack = new ModelRenderer(this, 0, 0);
    this.OPLeftBack.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPLeftBack.setRotationPoint(-7.0F, 14.0F, 3.0F);
    this.OPLeftBack.setTextureSize(64, 32);
    this.OPLeftBack.mirror = true;
    this.setRotation(this.OPLeftBack, 0.0F, 0.0F, 0.0F);
    this.OPBackRight = new ModelRenderer(this, 0, 0);
    this.OPBackRight.addBox(0.0F, 0.0F, 0.0F, 1, 8, 1);
    this.OPBackRight.setRotationPoint(3.0F, 14.0F, 6.0F);
    this.OPBackRight.setTextureSize(64, 32);
    this.OPBackRight.mirror = true;
    this.setRotation(this.OPBackRight, 0.0F, 0.0F, 0.0F);
  }

  public void render(float f5) {
    this.TopBaseWidth.render(f5);
    this.BaseWidth.render(f5);
    this.BottomPad.render(f5);
    this.TopBaseDepth.render(f5);
    this.TopBase.render(f5);
    this.BaseDepth.render(f5);
    this.Base.render(f5);
    this.HatMiddle.render(f5);
    this.HatCover.render(f5);
    this.HatTop.render(f5);
    this.HatDepth.render(f5);
    this.HatWidth.render(f5);
    this.MiddleFrontRight.render(f5);
    this.MiddleFrontLeft.render(f5);
    this.MiddleBackLeft.render(f5);
    this.MiddleBackRight.render(f5);
    this.MiddlePLeft.render(f5);
    this.MiddlePFront.render(f5);
    this.MiddlePBack.render(f5);
    this.MiddlePRight.render(f5);
    this.FrontLeftSpike.render(f5);
    this.FrontRightSpike.render(f5);
    this.BackRightSpike.render(f5);
    this.BackLeftSpike.render(f5);
    this.OPLeftFront.render(f5);
    this.OPFrontRight.render(f5);
    this.OPBackLeft.render(f5);
    this.OPLeftFront2.render(f5);
    this.OPRightBack.render(f5);
    this.OPFrontLeft.render(f5);
    this.OPLeftBack.render(f5);
    this.OPBackRight.render(f5);
  }

  private void setRotation(ModelRenderer model, float x, float y, float z) {
    model.rotateAngleX = x;
    model.rotateAngleY = y;
    model.rotateAngleZ = z;
  }
}
