// Date: 13.11.2016 12:34:14
// 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 com.hbm.items.weapon.ItemGunBase;

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

public class ModelMIRVLauncher extends ModelBase {
	// fields
	ModelRenderer Shape1;
	ModelRenderer Shape2;
	ModelRenderer Shape3;
	ModelRenderer Shape4;
	ModelRenderer Shape5;
	ModelRenderer Shape6;
	ModelRenderer Shape7;
	ModelRenderer Shape8;
	ModelRenderer Shape9;
	ModelRenderer Shape10;
	ModelRenderer Shape11;
	ModelRenderer Shape12;
	ModelRenderer Shape13;
	ModelRenderer Shape14;
	ModelRenderer Shape15;
	ModelRenderer Shape16;
	ModelRenderer Shape17;
	ModelRenderer Shape18;
	ModelRenderer Shape27;
	ModelRenderer Shape28;
	ModelRenderer Shape29;
	ModelRenderer Shape30;
	ModelRenderer Shape31;
	ModelRenderer Shape32;
	ModelRenderer Shape33;
	ModelRenderer Shape19;
	ModelRenderer Shape20;
	ModelRenderer Shape21;
	ModelRenderer Shape22;

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

		Shape1 = new ModelRenderer(this, 0, 0);
		Shape1.addBox(0F, 0F, 0F, 40, 2, 4);
		Shape1.setRotationPoint(-20F, 0F, 0F);
		Shape1.setTextureSize(128, 64);
		Shape1.mirror = true;
		setRotation(Shape1, 0F, 0F, 0F);
		Shape2 = new ModelRenderer(this, 0, 6);
		Shape2.addBox(0F, 0F, 0F, 6, 2, 2);
		Shape2.setRotationPoint(-19F, 2F, 1F);
		Shape2.setTextureSize(128, 64);
		Shape2.mirror = true;
		setRotation(Shape2, 0F, 0F, 0F);
		Shape3 = new ModelRenderer(this, 0, 10);
		Shape3.addBox(0F, 0F, 0F, 1, 4, 1);
		Shape3.setRotationPoint(-12F, 2F, 1.5F);
		Shape3.setTextureSize(128, 64);
		Shape3.mirror = true;
		setRotation(Shape3, 0F, 0F, 0F);
		Shape4 = new ModelRenderer(this, 16, 6);
		Shape4.addBox(0F, 0F, 0F, 6, 1, 4);
		Shape4.setRotationPoint(-10F, 2F, 0F);
		Shape4.setTextureSize(128, 64);
		Shape4.mirror = true;
		setRotation(Shape4, 0F, 0F, 0F);
		Shape5 = new ModelRenderer(this, 0, 15);
		Shape5.addBox(0F, 0F, 0F, 2, 3, 1);
		Shape5.setRotationPoint(-7F, 3F, 1.5F);
		Shape5.setTextureSize(128, 64);
		Shape5.mirror = true;
		setRotation(Shape5, 0F, 0F, 0F);
		Shape6 = new ModelRenderer(this, 4, 10);
		Shape6.addBox(0F, 0F, 0F, 3, 3, 1);
		Shape6.setRotationPoint(-10F, 3F, 1.5F);
		Shape6.setTextureSize(128, 64);
		Shape6.mirror = true;
		setRotation(Shape6, 0F, 0F, 0F);
		Shape7 = new ModelRenderer(this, 12, 10);
		Shape7.addBox(-1F, 0F, 0F, 1, 2, 1);
		Shape7.setRotationPoint(-7F, 3F, 1.5F);
		Shape7.setTextureSize(128, 64);
		Shape7.mirror = true;
		setRotation(Shape7, 0F, 0F, 0.5235988F);
		Shape8 = new ModelRenderer(this, 36, 6);
		Shape8.addBox(0F, 0F, 0F, 10, 1, 4);
		Shape8.setRotationPoint(-3F, 2F, 0F);
		Shape8.setTextureSize(128, 64);
		Shape8.mirror = true;
		setRotation(Shape8, 0F, 0F, 0F);
		Shape9 = new ModelRenderer(this, 64, 6);
		Shape9.addBox(0F, 0F, 0F, 2, 3, 2);
		Shape9.setRotationPoint(7F, 2F, 1F);
		Shape9.setTextureSize(128, 64);
		Shape9.mirror = true;
		setRotation(Shape9, 0F, 0F, 0F);
		Shape10 = new ModelRenderer(this, 88, 0);
		Shape10.addBox(0F, 0F, 0F, 3, 4, 4);
		Shape10.setRotationPoint(17F, -4F, 0F);
		Shape10.setTextureSize(128, 64);
		Shape10.mirror = true;
		setRotation(Shape10, 0F, 0F, 0F);
		Shape11 = new ModelRenderer(this, 72, 6);
		Shape11.addBox(0F, 0F, 0F, 2, 3, 1);
		Shape11.setRotationPoint(18F, -7F, 0F);
		Shape11.setTextureSize(128, 64);
		Shape11.mirror = true;
		setRotation(Shape11, 0F, 0F, 0F);
		Shape12 = new ModelRenderer(this, 78, 6);
		Shape12.addBox(0F, 0F, 0F, 2, 3, 1);
		Shape12.setRotationPoint(18F, -7F, 3F);
		Shape12.setTextureSize(128, 64);
		Shape12.mirror = true;
		setRotation(Shape12, 0F, 0F, 0F);
		Shape13 = new ModelRenderer(this, 0, 19);
		Shape13.addBox(0F, -4F, 0F, 22, 4, 0);
		Shape13.setRotationPoint(-17F, 0F, 1F);
		Shape13.setTextureSize(128, 64);
		Shape13.mirror = true;
		setRotation(Shape13, 0.4363323F, 0F, 0F);
		Shape14 = new ModelRenderer(this, 16, 11);
		Shape14.addBox(0F, 0F, 0F, 33, 1, 1);
		Shape14.setRotationPoint(-17F, -4F, -1F);
		Shape14.setTextureSize(128, 64);
		Shape14.mirror = true;
		setRotation(Shape14, 0F, 0F, 0F);
		Shape15 = new ModelRenderer(this, 0, 23);
		Shape15.addBox(0F, -4F, 0F, 22, 4, 0);
		Shape15.setRotationPoint(-17F, 0F, 3F);
		Shape15.setTextureSize(128, 64);
		Shape15.mirror = true;
		setRotation(Shape15, -0.4363323F, 0F, 0F);
		Shape16 = new ModelRenderer(this, 16, 13);
		Shape16.addBox(0F, 0F, 0F, 33, 1, 1);
		Shape16.setRotationPoint(-17F, -4F, 4F);
		Shape16.setTextureSize(128, 64);
		Shape16.mirror = true;
		setRotation(Shape16, 0F, 0F, 0F);
		Shape17 = new ModelRenderer(this, 44, 25);
		Shape17.addBox(0F, -4F, 0F, 8, 4, 0);
		Shape17.setRotationPoint(8F, 0F, 1F);
		Shape17.setTextureSize(128, 64);
		Shape17.mirror = true;
		setRotation(Shape17, 0.4363323F, 0F, 0F);
		Shape18 = new ModelRenderer(this, 44, 21);
		Shape18.addBox(0F, -4F, 0F, 8, 4, 0);
		Shape18.setRotationPoint(8F, 0F, 3F);
		Shape18.setTextureSize(128, 64);
		Shape18.mirror = true;
		setRotation(Shape18, -0.4363323F, 0F, 0F);
		Shape27 = new ModelRenderer(this, 18, 27);
		Shape27.addBox(0F, 0F, 0F, 2, 5, 1);
		Shape27.setRotationPoint(13F, -5F, 1.5F);
		Shape27.setTextureSize(128, 64);
		Shape27.mirror = true;
		setRotation(Shape27, 0F, 0F, 0F);
		Shape28 = new ModelRenderer(this, 84, 6);
		Shape28.addBox(0F, 0F, 0F, 1, 3, 1);
		Shape28.setRotationPoint(16F, -3F, 1.5F);
		Shape28.setTextureSize(128, 64);
		Shape28.mirror = true;
		setRotation(Shape28, 0F, 0F, 0F);
		Shape29 = new ModelRenderer(this, 6, 15);
		Shape29.addBox(0F, 0F, 0F, 10, 2, 2);
		Shape29.setRotationPoint(3F, -2F, 1F);
		Shape29.setTextureSize(128, 64);
		Shape29.mirror = true;
		setRotation(Shape29, 0F, 0F, 0F);
		Shape30 = new ModelRenderer(this, 30, 15);
		Shape30.addBox(0F, 0F, 0F, 12, 2, 2);
		Shape30.setRotationPoint(-7F, -1F, 4F);
		Shape30.setTextureSize(128, 64);
		Shape30.mirror = true;
		setRotation(Shape30, 0F, 0F, 0F);
		Shape31 = new ModelRenderer(this, 44, 19);
		Shape31.addBox(0F, 0F, 0F, 14, 1, 1);
		Shape31.setRotationPoint(5F, -0.5F, 4.5F);
		Shape31.setTextureSize(128, 64);
		Shape31.mirror = true;
		setRotation(Shape31, 0F, 0F, 0F);
		Shape32 = new ModelRenderer(this, 12, 27);
		Shape32.addBox(0F, 0F, 0F, 1, 1, 1);
		Shape32.setRotationPoint(18F, -0.5F, 3.5F);
		Shape32.setTextureSize(128, 64);
		Shape32.mirror = true;
		setRotation(Shape32, 0F, 0F, 0F);
		Shape33 = new ModelRenderer(this, 24, 29);
		Shape33.addBox(0F, 0F, 0F, 21, 1, 2);
		Shape33.setRotationPoint(-18F, -1F, 1F);
		Shape33.setTextureSize(128, 64);
		Shape33.mirror = true;
		setRotation(Shape33, 0F, 0F, 0F);
		Shape19 = new ModelRenderer(this, 0, 33);
		Shape19.addBox(0F, 0F, 0F, 10, 4, 2);
		Shape19.setRotationPoint(-9F, -5F, 1F);
		Shape19.setTextureSize(128, 64);
		Shape19.mirror = true;
		setRotation(Shape19, 0F, 0F, 0F);
		Shape20 = new ModelRenderer(this, 0, 39);
		Shape20.addBox(0F, 0F, 0F, 10, 2, 4);
		Shape20.setRotationPoint(-9F, -4F, 0F);
		Shape20.setTextureSize(128, 64);
		Shape20.mirror = true;
		setRotation(Shape20, 0F, 0F, 0F);
		Shape21 = new ModelRenderer(this, 0, 45);
		Shape21.addBox(0F, 0F, 0F, 10, 3, 3);
		Shape21.setRotationPoint(-9F, -4.5F, 0.5F);
		Shape21.setTextureSize(128, 64);
		Shape21.mirror = true;
		setRotation(Shape21, 0F, 0F, 0F);
		Shape22 = new ModelRenderer(this, 0, 51);
		Shape22.addBox(0F, 0F, 0F, 4, 1, 1);
		Shape22.setRotationPoint(-6F, -6F, 1F);
		Shape22.setTextureSize(128, 64);
		Shape22.mirror = true;
		setRotation(Shape22, 0F, 0F, 0F);
	}

	public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack item) {
		super.render(entity, f, f1, f2, f3, f4, f5);
		setRotationAngles(f, f1, f2, f3, f4, f5, entity);
		Shape1.render(f5);
		GL11.glDisable(GL11.GL_CULL_FACE);
		Shape2.render(f5);
		GL11.glEnable(GL11.GL_CULL_FACE);
		Shape3.render(f5);
		Shape4.render(f5);
		Shape5.render(f5);
		GL11.glDisable(GL11.GL_CULL_FACE);
		Shape6.render(f5);
		GL11.glEnable(GL11.GL_CULL_FACE);
		Shape7.render(f5);
		Shape8.render(f5);
		GL11.glDisable(GL11.GL_CULL_FACE);
		Shape9.render(f5);
		GL11.glEnable(GL11.GL_CULL_FACE);
		Shape10.render(f5);
		Shape11.render(f5);
		Shape12.render(f5);
		Shape13.render(f5);
		Shape14.render(f5);
		Shape15.render(f5);
		Shape16.render(f5);
		Shape17.render(f5);
		Shape18.render(f5);
		Shape27.render(f5);
		Shape28.render(f5);
		Shape29.render(f5);
		Shape30.render(f5);
		Shape31.render(f5);
		Shape32.render(f5);
		Shape33.render(f5);
		
		int ammo = ItemGunBase.getMag(item);
		if(ammo > 0) {
			Shape19.render(f5);
			Shape20.render(f5);
			Shape21.render(f5);
			GL11.glDisable(GL11.GL_CULL_FACE);
			Shape22.render(f5);
			GL11.glEnable(GL11.GL_CULL_FACE);
		}
	}

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

	@Override
	public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) {
		super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
	}

}
