// Date: 07.10.2015 18:19:58
// Template version 1.1
// Java generated by Techne
// Keep in mind that you still need to fill in some blanks
// - ZeuX

package com.hbm.render.model;

import org.lwjgl.opengl.GL11;

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

public class ModelRevolver extends ModelBase {

    ModelRenderer Shape1;
    ModelRenderer Shape2;
    ModelRenderer Shape3;
    ModelRenderer Shape4;
    ModelRenderer Shape5;
    ModelRenderer Shape6;
    ModelRenderer Shape7;
    ModelRenderer Shape8;
    ModelRenderer Shape9;
    ModelRenderer Shape10;
    ModelRenderer Shape11;
    ModelRenderer Shape12;

    public ModelRevolver() {
        this.textureWidth = 64;
        this.textureHeight = 64;

        this.Shape1 = new ModelRenderer(this, 0, 0);
        this.Shape1.addBox(0F, 0F, 0F, 3, 8, 2);
        this.Shape1.setRotationPoint(0F, 0F, 0F);
        this.Shape1.setTextureSize(64, 32);
        this.Shape1.mirror = true;
        setRotation(this.Shape1, 0F, 0F, -0.3490659F);
        this.Shape2 = new ModelRenderer(this, 42, 0);
        this.Shape2.addBox(0F, 0F, 0F, 9, 6, 2);
        this.Shape2.setRotationPoint(-8F, -5F, 0F);
        this.Shape2.setTextureSize(64, 32);
        this.Shape2.mirror = true;
        setRotation(this.Shape2, 0F, 0F, 0F);
        this.Shape3 = new ModelRenderer(this, 0, 14);
        this.Shape3.addBox(0F, 0F, 0F, 4, 2, 1);
        this.Shape3.setRotationPoint(-0.03333334F, -3F, 0.5F);
        this.Shape3.setTextureSize(64, 32);
        this.Shape3.mirror = true;
        setRotation(this.Shape3, 0F, 0F, 0.715585F);
        this.Shape4 = new ModelRenderer(this, 22, 0);
        this.Shape4.addBox(0F, 0F, 0F, 6, 4, 4);
        this.Shape4.setRotationPoint(-7F, -4F, -1F);
        this.Shape4.setTextureSize(64, 32);
        this.Shape4.mirror = true;
        setRotation(this.Shape4, 0F, 0F, 0F);
        this.Shape5 = new ModelRenderer(this, 0, 0);
        this.Shape5.addBox(0F, 0F, 0F, 1, 1, 1);
        this.Shape5.setRotationPoint(0F, 0F, 0F);
        this.Shape5.setTextureSize(64, 32);
        this.Shape5.mirror = true;
        setRotation(this.Shape5, 0F, 0F, 0F);
        this.Shape6 = new ModelRenderer(this, 34, 8);
        this.Shape6.addBox(0F, 0F, 0F, 13, 2, 2);
        this.Shape6.setRotationPoint(-21F, -4F, 0F);
        this.Shape6.setTextureSize(64, 32);
        this.Shape6.mirror = true;
        setRotation(this.Shape6, 0F, 0F, 0F);
        this.Shape7 = new ModelRenderer(this, 0, 17);
        this.Shape7.addBox(0F, 0F, 0F, 1, 2, 1);
        this.Shape7.setRotationPoint(2F, -3F, 0.5F);
        this.Shape7.setTextureSize(64, 32);
        this.Shape7.mirror = true;
        setRotation(this.Shape7, 0F, 0F, 0.715585F);
        this.Shape8 = new ModelRenderer(this, 4, 17);
        this.Shape8.addBox(0F, 0F, 0F, 2, 1, 1);
        this.Shape8.setRotationPoint(2F, -4F, 0.5F);
        this.Shape8.setTextureSize(64, 32);
        this.Shape8.mirror = true;
        setRotation(this.Shape8, 0F, 0F, 0.715585F);
        this.Shape9 = new ModelRenderer(this, 0, 20);
        this.Shape9.addBox(0F, 0F, 0F, 6, 1, 1);
        this.Shape9.setRotationPoint(-14F, -2F, 0.5F);
        this.Shape9.setTextureSize(64, 32);
        this.Shape9.mirror = true;
        setRotation(this.Shape9, 0F, 0F, 0F);
        this.Shape10 = new ModelRenderer(this, 26, 8);
        this.Shape10.addBox(0F, 0F, 0F, 2, 2, 2);
        this.Shape10.setRotationPoint(-19F, -5F, 0F);
        this.Shape10.setTextureSize(64, 32);
        this.Shape10.mirror = true;
        setRotation(this.Shape10, 0F, 0F, 0.6108652F);
        this.Shape11 = new ModelRenderer(this, 0, 10);
        this.Shape11.addBox(0F, 0F, 0F, 4, 3, 1);
        this.Shape11.setRotationPoint(-2F, 1F, 0.5F);
        this.Shape11.setTextureSize(64, 32);
        this.Shape11.mirror = true;
        setRotation(this.Shape11, 0F, 0F, 0F);
        this.Shape12 = new ModelRenderer(this, 10, 0);
        this.Shape12.addBox(0F, 0F, 0F, 1, 3, 1);
        this.Shape12.setRotationPoint(0F, 0F, 0.5F);
        this.Shape12.setTextureSize(64, 32);
        this.Shape12.mirror = true;
        setRotation(this.Shape12, 0F, 0F, 0.5235988F);
    }

	@Override
	public void render(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor) {

        GL11.glDisable(GL11.GL_CULL_FACE);
        this.Shape1.render(scaleFactor);
        this.Shape2.render(scaleFactor);
        this.Shape3.render(scaleFactor);
        this.Shape4.render(scaleFactor);
        this.Shape5.render(scaleFactor);
        this.Shape6.render(scaleFactor);
        this.Shape7.render(scaleFactor);
        this.Shape8.render(scaleFactor);
        this.Shape9.render(scaleFactor);
        this.Shape10.render(scaleFactor);
        this.Shape11.render(scaleFactor);
        this.Shape12.render(scaleFactor);
        GL11.glEnable(GL11.GL_CULL_FACE);
    }

    private static void setRotation(ModelRenderer model, float x, float y, float z) {

        model.rotateAngleX = x;
        model.rotateAngleY = y;
        model.rotateAngleZ = z;
    }
}
