Package mekanism.generators.client.model

Source Code of mekanism.generators.client.model.ModelWindTurbine

package mekanism.generators.client.model;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;

public class ModelWindTurbine extends ModelBase
{
  ModelRenderer Base;
  ModelRenderer TowerFront;
  ModelRenderer TowerLeft;
  ModelRenderer TowerBack;
  ModelRenderer TowerRight;
  ModelRenderer TowerMoterFront;
  ModelRenderer TowerBaseMotor;
  ModelRenderer TowerBaseMotorBack;
  ModelRenderer TowerMotor;
  ModelRenderer Rotor;
  ModelRenderer RotorCover;
  ModelRenderer BladeBaseC;
  ModelRenderer BladeBaseB;
  ModelRenderer BladeBaseA;

  public ModelWindTurbine()
  {
    textureWidth = 128;
    textureHeight = 64;

    Base = new ModelRenderer(this, 0, 0);
    Base.addBox(-8F, 0F, -8F, 16, 6, 16);
    Base.setRotationPoint(0F, 18F, 0F);
    Base.setTextureSize(128, 64);
    Base.mirror = true;
    setRotation(Base, 0F, 0F, 0F);
    TowerFront = new ModelRenderer(this, 104, 0);
    TowerFront.addBox(-5F, -62F, -7F, 10, 63, 2);
    TowerFront.setRotationPoint(0F, 19F, 0F);
    TowerFront.setTextureSize(128, 64);
    TowerFront.mirror = true;
    setRotation(TowerFront, -0.0872665F, 0F, 0F);
    TowerLeft = new ModelRenderer(this, 104, 0);
    TowerLeft.addBox(-5F, -62F, 5F, 10, 63, 2);
    TowerLeft.setRotationPoint(0F, 19F, 0F);
    TowerLeft.setTextureSize(128, 64);
    TowerLeft.mirror = true;
    setRotation(TowerLeft, 0.0872665F, 1.570796F, 0F);
    TowerBack = new ModelRenderer(this, 104, 0);
    TowerBack.addBox(-5F, -62F, 5F, 10, 63, 2);
    TowerBack.setRotationPoint(0F, 19F, 0F);
    TowerBack.setTextureSize(128, 64);
    TowerBack.mirror = true;
    setRotation(TowerBack, 0.0872665F, 0F, 0F);
    TowerRight = new ModelRenderer(this, 104, 0);
    TowerRight.addBox(-5F, -62F, 5F, 10, 63, 2);
    TowerRight.setRotationPoint(0F, 19F, 0F);
    TowerRight.setTextureSize(128, 64);
    TowerRight.mirror = true;
    setRotation(TowerRight, 0.0872665F, -1.570796F, 0F);
    TowerMoterFront = new ModelRenderer(this, 40, 38);
    TowerMoterFront.addBox(-6F, -7.3F, -5F, 12, 9, 6);
    TowerMoterFront.setRotationPoint(0F, -45F, -1F);
    TowerMoterFront.setTextureSize(128, 64);
    TowerMoterFront.mirror = true;
    setRotation(TowerMoterFront, 0F, 0F, 0F);
    TowerBaseMotor = new ModelRenderer(this, 65, 0);
    TowerBaseMotor.addBox(-6F, -0.3F, 0F, 12, 2, 7);
    TowerBaseMotor.setRotationPoint(0F, -45F, 0F);
    TowerBaseMotor.setTextureSize(128, 64);
    TowerBaseMotor.mirror = true;
    setRotation(TowerBaseMotor, 0F, 0F, 0F);
    TowerBaseMotorBack = new ModelRenderer(this, 65, 30);
    TowerBaseMotorBack.addBox(-4F, -3.3F, 7F, 8, 4, 3);
    TowerBaseMotorBack.setRotationPoint(0F, -45F, 0F);
    TowerBaseMotorBack.setTextureSize(128, 64);
    TowerBaseMotorBack.mirror = true;
    setRotation(TowerBaseMotorBack, 0F, 0F, 0F);
    TowerMotor = new ModelRenderer(this, 65, 15);
    TowerMotor.addBox(-4F, -6.3F, 0F, 8, 6, 7);
    TowerMotor.setRotationPoint(0F, -45F, 0F);
    TowerMotor.setTextureSize(128, 64);
    TowerMotor.mirror = true;
    setRotation(TowerMotor, 0F, 0F, 0F);
    Rotor = new ModelRenderer(this, 88, 30);
    Rotor.addBox(-0.5F, -0.5F, 0F, 1, 1, 3);
    Rotor.setRotationPoint(0F, -48F, -8F);
    Rotor.setTextureSize(128, 64);
    Rotor.mirror = true;
    setRotation(Rotor, 0F, 0F, 0F);
    RotorCover = new ModelRenderer(this, 88, 35);
    RotorCover.addBox(-2F, -2F, -1F, 4, 4, 1);
    RotorCover.setRotationPoint(0F, -48F, -8F);
    RotorCover.setTextureSize(128, 64);
    RotorCover.mirror = true;
    setRotation(RotorCover, 0F, 0F, 0F);
    BladeBaseC = new ModelRenderer(this, 0, 54);
    BladeBaseC.addBox(1F, -1F, 0F, 32, 2, 1);
    BladeBaseC.setRotationPoint(0F, -48F, -8F);
    BladeBaseC.setTextureSize(128, 64);
    BladeBaseC.mirror = true;
    setRotation(BladeBaseC, 0F, 0F, getRotation(120));
    BladeBaseB = new ModelRenderer(this, 0, 54);
    BladeBaseB.addBox(1F, -1F, 0F, 32, 2, 1);
    BladeBaseB.setRotationPoint(0F, -48F, -8F);
    BladeBaseB.setTextureSize(128, 64);
    BladeBaseB.mirror = true;
    setRotation(BladeBaseB, 0F, 0F, 0F);
    BladeBaseA = new ModelRenderer(this, 0, 54);
    BladeBaseA.addBox(1F, -1F, 0F, 32, 2, 1);
    BladeBaseA.setRotationPoint(0F, -48F, -8F);
    BladeBaseA.setTextureSize(128, 64);
    BladeBaseA.mirror = true;
    setRotation(BladeBaseA, 0F, 0F, getRotation(240));
  }

  public void render(float size, int angle)
  {
    Base.render(size);
    TowerFront.render(size);
    TowerLeft.render(size);
    TowerBack.render(size);
    TowerRight.render(size);
    TowerMoterFront.render(size);
    TowerBaseMotor.render(size);
    TowerBaseMotorBack.render(size);
    TowerMotor.render(size);
    Rotor.render(size);
    RotorCover.render(size);
    setRotation(BladeBaseC, 0.0F, 0.0F, getRotation(getAbsoluteAngle(120 + angle)));
    BladeBaseC.render(size);
    setRotation(BladeBaseB, 0.0F, 0.0F, getRotation(getAbsoluteAngle(angle)));
    BladeBaseB.render(size);
    setRotation(BladeBaseA, 0.0F, 0.0F, getRotation(getAbsoluteAngle(240 + angle)));
    BladeBaseA.render(size);
  }

  public float getRotation(int angle)
  {
    return ((float)angle/(float)180)*(float)Math.PI;
  }

  public int getAbsoluteAngle(int angle)
  {
    return angle % 360;
  }

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

Related Classes of mekanism.generators.client.model.ModelWindTurbine

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.