package net.halbear.supernova.entity.EntityRenderers;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.vertex.IVertexBuilder;
import net.halbear.supernova.SuperNova;
import net.halbear.supernova.entity.Spaceship;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.culling.ClippingHelper;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererManager;
import net.minecraft.client.renderer.entity.LivingRenderer;
import net.minecraft.client.renderer.entity.MobRenderer;
import net.minecraft.client.renderer.entity.model.EntityModel;
import net.minecraft.client.renderer.model.ModelRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

import javax.annotation.Nonnull;

@OnlyIn(Dist.CLIENT)
public class SpaceshipRenderer extends EntityRenderer<Spaceship> {

	private SpaceshipModel model = new SpaceshipModel();

	public SpaceshipRenderer(EntityRendererManager renderManagerIn) {
		super(renderManagerIn );
	}

	@Override
	public void render(Spaceship entity, float entityYaw, float partialTicks, MatrixStack matrixStack, IRenderTypeBuffer buffer, int packedLight) {
		matrixStack.push();

		matrixStack.rotate(Vector3f.YP.rotationDegrees(180.0F - entityYaw));
		matrixStack.scale(-1.0F, -1.0F, 1.0F);
		matrixStack.translate(0.0D, -1.5D, 0.0D);

		IVertexBuilder vertexBuilder = buffer.getBuffer(this.model.getRenderType(getEntityTexture(entity)));

		this.model.setRotationAngles(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F);
		this.model.render(matrixStack, vertexBuilder, packedLight, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F);

		matrixStack.pop();
		super.render(entity, entityYaw, partialTicks, matrixStack, buffer, packedLight);
	}

	@Override
	@Nonnull
	public ResourceLocation getEntityTexture(Spaceship entity) {
		return new ResourceLocation(SuperNova.MOD_ID,"textures/entity/spaceship.png");
	}

	//makes it so the spaceship ALWAYS renders, not good for an entity that has many instances of itself like a mob but for something like this it makes sure it renders even when hundreds of blocks away
	@Override
	public boolean shouldRender(Spaceship livingEntity, ClippingHelper camera, double camX, double camY, double camZ) {
		return true;
	}

	public static class SpaceshipModel extends EntityModel<Spaceship> {
		private final ModelRenderer RocketShip;
		private final ModelRenderer Boosters;
		private final ModelRenderer bone5;
		private final ModelRenderer booster;
		private final ModelRenderer cube_r1;
		private final ModelRenderer cube_r2;
		private final ModelRenderer cube_r3;
		private final ModelRenderer cube_r4;
		private final ModelRenderer cube_r5;
		private final ModelRenderer cube_r6;
		private final ModelRenderer cube_r7;
		private final ModelRenderer cube_r8;
		private final ModelRenderer cube_r9;
		private final ModelRenderer cube_r10;
		private final ModelRenderer cube_r11;
		private final ModelRenderer cube_r12;
		private final ModelRenderer bone7;
		private final ModelRenderer cube_r13;
		private final ModelRenderer cube_r14;
		private final ModelRenderer cube_r15;
		private final ModelRenderer cube_r16;
		private final ModelRenderer cube_r17;
		private final ModelRenderer cube_r18;
		private final ModelRenderer cube_r19;
		private final ModelRenderer cube_r20;
		private final ModelRenderer booster4;
		private final ModelRenderer bone21;
		private final ModelRenderer bone4;
		private final ModelRenderer booster2;
		private final ModelRenderer cube_r21;
		private final ModelRenderer cube_r22;
		private final ModelRenderer cube_r23;
		private final ModelRenderer cube_r24;
		private final ModelRenderer cube_r25;
		private final ModelRenderer cube_r26;
		private final ModelRenderer cube_r27;
		private final ModelRenderer cube_r28;
		private final ModelRenderer cube_r29;
		private final ModelRenderer cube_r30;
		private final ModelRenderer cube_r31;
		private final ModelRenderer cube_r32;
		private final ModelRenderer bone6;
		private final ModelRenderer cube_r33;
		private final ModelRenderer cube_r34;
		private final ModelRenderer cube_r35;
		private final ModelRenderer cube_r36;
		private final ModelRenderer cube_r37;
		private final ModelRenderer cube_r38;
		private final ModelRenderer cube_r39;
		private final ModelRenderer cube_r40;
		private final ModelRenderer bone8;
		private final ModelRenderer booster3;
		private final ModelRenderer cube_r41;
		private final ModelRenderer cube_r42;
		private final ModelRenderer cube_r43;
		private final ModelRenderer cube_r44;
		private final ModelRenderer cube_r45;
		private final ModelRenderer cube_r46;
		private final ModelRenderer cube_r47;
		private final ModelRenderer cube_r48;
		private final ModelRenderer cube_r49;
		private final ModelRenderer cube_r50;
		private final ModelRenderer cube_r51;
		private final ModelRenderer cube_r52;
		private final ModelRenderer bone9;
		private final ModelRenderer cube_r53;
		private final ModelRenderer cube_r54;
		private final ModelRenderer cube_r55;
		private final ModelRenderer cube_r56;
		private final ModelRenderer cube_r57;
		private final ModelRenderer cube_r58;
		private final ModelRenderer cube_r59;
		private final ModelRenderer cube_r60;
		private final ModelRenderer ShuttleMain;
		private final ModelRenderer Engine;
		private final ModelRenderer cube_r61;
		private final ModelRenderer cube_r62;
		private final ModelRenderer cube_r63;
		private final ModelRenderer cube_r64;
		private final ModelRenderer cube_r65;
		private final ModelRenderer cube_r66;
		private final ModelRenderer cube_r67;
		private final ModelRenderer cube_r68;
		private final ModelRenderer cube_r69;
		private final ModelRenderer cube_r70;
		private final ModelRenderer cube_r71;
		private final ModelRenderer cube_r72;
		private final ModelRenderer bone2;
		private final ModelRenderer cube_r73;
		private final ModelRenderer cube_r74;
		private final ModelRenderer cube_r75;
		private final ModelRenderer cube_r76;
		private final ModelRenderer bone3;
		private final ModelRenderer cube_r77;
		private final ModelRenderer cube_r78;
		private final ModelRenderer cube_r79;
		private final ModelRenderer cube_r80;
		private final ModelRenderer Body;
		private final ModelRenderer ShuttleTop;
		private final ModelRenderer bone19;
		private final ModelRenderer cube_r81;
		private final ModelRenderer cube_r82;
		private final ModelRenderer cube_r83;
		private final ModelRenderer cube_r84;
		private final ModelRenderer cube_r85;
		private final ModelRenderer cube_r86;
		private final ModelRenderer cube_r87;
		private final ModelRenderer cube_r88;
		private final ModelRenderer bone20;
		private final ModelRenderer cube_r89;
		private final ModelRenderer cube_r90;
		private final ModelRenderer cube_r91;
		private final ModelRenderer cube_r92;
		private final ModelRenderer cube_r93;
		private final ModelRenderer cube_r94;
		private final ModelRenderer cube_r95;
		private final ModelRenderer cube_r96;
		private final ModelRenderer bone15;
		private final ModelRenderer bone13;
		private final ModelRenderer cube_r97;
		private final ModelRenderer bone14;
		private final ModelRenderer cube_r98;
		private final ModelRenderer bone16;
		private final ModelRenderer bone17;
		private final ModelRenderer cube_r99;
		private final ModelRenderer bone18;
		private final ModelRenderer cube_r100;
		private final ModelRenderer Compartmentroof;
		private final ModelRenderer bone;
		private final ModelRenderer cube_r101;
		private final ModelRenderer cube_r102;
		private final ModelRenderer cube_r103;
		private final ModelRenderer cube_r104;
		private final ModelRenderer bone10;
		private final ModelRenderer cube_r105;
		private final ModelRenderer cube_r106;
		private final ModelRenderer cube_r107;
		private final ModelRenderer cube_r108;
		private final ModelRenderer bone11;
		private final ModelRenderer cube_r109;
		private final ModelRenderer cube_r110;
		private final ModelRenderer bone12;
		private final ModelRenderer cube_r111;
		private final ModelRenderer cube_r112;
		private final ModelRenderer panes;
		private final ModelRenderer cube_r113;
		private final ModelRenderer Interior;
		private final ModelRenderer bone22;
		private final ModelRenderer cube_r114;
		private final ModelRenderer cube_r115;
		private final ModelRenderer cube_r116;
		private final ModelRenderer bone23;
		private final ModelRenderer cube_r117;
		private final ModelRenderer cube_r118;
		private final ModelRenderer cube_r119;

		public SpaceshipModel() {
			textureWidth = 1024;
			textureHeight = 1024;

			RocketShip = new ModelRenderer(this);
			RocketShip.setRotationPoint(0.0F, -59.0F, 0.0F);
			setRotationAngle(RocketShip, 0.0F, 1.5708F, 0.0F);


			Boosters = new ModelRenderer(this);
			Boosters.setRotationPoint(0.0F, 83.0F, 0.0F);
			RocketShip.addChild(Boosters);


			bone5 = new ModelRenderer(this);
			bone5.setRotationPoint(1.0F, 0.0F, -4.0F);
			Boosters.addChild(bone5);
			setRotationAngle(bone5, 0.0F, -2.0944F, 0.0F);


			booster = new ModelRenderer(this);
			booster.setRotationPoint(25.0F, -12.0F, -7.0F);
			bone5.addChild(booster);
			booster.setTextureOffset(0, 591).addBox(-1.0F, -41.0F, -1.0F, 16.0F, 39.0F, 16.0F, 0.0F, false);
			booster.setTextureOffset(50, 542).addBox(4.0F, -59.0F, 4.0F, 6.0F, 16.0F, 6.0F, 0.0F, false);
			booster.setTextureOffset(133, 257).addBox(0.0F, -41.0F, 0.0F, 14.0F, 39.0F, 14.0F, 0.0F, false);
			booster.setTextureOffset(439, 339).addBox(-0.5F, -2.0F, -0.5F, 15.0F, 2.0F, 15.0F, 0.0F, false);
			booster.setTextureOffset(165, 420).addBox(-0.5F, -43.0F, -0.5F, 15.0F, 2.0F, 15.0F, 0.0F, false);
			booster.setTextureOffset(454, 0).addBox(4.0F, -0.4F, 4.0F, 6.0F, 10.0F, 6.0F, 0.0F, false);
			booster.setTextureOffset(485, 339).addBox(3.5F, 9.6F, 3.5F, 7.0F, 2.0F, 7.0F, 0.0F, false);
			booster.setTextureOffset(331, 470).addBox(3.5F, -60.4F, 3.5F, 7.0F, 2.0F, 7.0F, 0.0F, false);
			booster.setTextureOffset(379, 0).addBox(-7.0F, -61.0F, 6.0F, 11.0F, 55.0F, 2.0F, 0.0F, false);

			cube_r1 = new ModelRenderer(this);
			cube_r1.setRotationPoint(0.0F, 0.0F, 14.0F);
			booster.addChild(cube_r1);
			setRotationAngle(cube_r1, -0.3319F, -0.043F, -0.3389F);
			cube_r1.setTextureOffset(478, 565).addBox(0.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r2 = new ModelRenderer(this);
			cube_r2.setRotationPoint(14.0F, 0.0F, 14.0F);
			booster.addChild(cube_r2);
			setRotationAngle(cube_r2, -0.3319F, 0.043F, 0.3389F);
			cube_r2.setTextureOffset(487, 565).addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r3 = new ModelRenderer(this);
			cube_r3.setRotationPoint(14.0F, 0.0F, 0.0F);
			booster.addChild(cube_r3);
			setRotationAngle(cube_r3, 0.3319F, -0.043F, 0.3389F);
			cube_r3.setTextureOffset(496, 565).addBox(-2.0F, 0.0F, 0.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r4 = new ModelRenderer(this);
			cube_r4.setRotationPoint(0.0F, 0.0F, 0.0F);
			booster.addChild(cube_r4);
			setRotationAngle(cube_r4, 0.3319F, 0.043F, -0.3389F);
			cube_r4.setTextureOffset(566, 0).addBox(0.0F, 0.0F, 0.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r5 = new ModelRenderer(this);
			cube_r5.setRotationPoint(10.3F, 9.6F, 7.0F);
			booster.addChild(cube_r5);
			setRotationAngle(cube_r5, 0.0F, 0.0F, 0.3491F);
			cube_r5.setTextureOffset(543, 496).addBox(0.0F, -11.0F, -5.0F, 0.0F, 11.0F, 10.0F, 0.0F, false);

			cube_r6 = new ModelRenderer(this);
			cube_r6.setRotationPoint(3.7F, 9.6F, 7.0F);
			booster.addChild(cube_r6);
			setRotationAngle(cube_r6, 0.0F, 0.0F, -0.3491F);
			cube_r6.setTextureOffset(543, 496).addBox(0.0F, -11.0F, -5.0F, 0.0F, 11.0F, 10.0F, 0.0F, false);

			cube_r7 = new ModelRenderer(this);
			cube_r7.setRotationPoint(7.0F, 9.6F, 10.3F);
			booster.addChild(cube_r7);
			setRotationAngle(cube_r7, -0.3491F, 0.0F, 0.0F);
			cube_r7.setTextureOffset(543, 506).addBox(-5.0F, -11.0F, 0.0F, 10.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r8 = new ModelRenderer(this);
			cube_r8.setRotationPoint(7.0F, 9.6F, 3.7F);
			booster.addChild(cube_r8);
			setRotationAngle(cube_r8, 0.3491F, 0.0F, 0.0F);
			cube_r8.setTextureOffset(543, 506).addBox(-5.0F, -11.0F, 0.0F, 10.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r9 = new ModelRenderer(this);
			cube_r9.setRotationPoint(14.0F, -43.0F, 7.0F);
			booster.addChild(cube_r9);
			setRotationAngle(cube_r9, 0.0F, 0.0F, -0.2339F);
			cube_r9.setTextureOffset(511, 536).addBox(0.0F, -16.0F, -5.5F, 0.0F, 16.0F, 11.0F, 0.0F, false);

			cube_r10 = new ModelRenderer(this);
			cube_r10.setRotationPoint(0.0F, -43.0F, 7.0F);
			booster.addChild(cube_r10);
			setRotationAngle(cube_r10, 0.0F, 0.0F, 0.2339F);
			cube_r10.setTextureOffset(511, 536).addBox(0.0F, -16.0F, -5.5F, 0.0F, 16.0F, 11.0F, 0.0F, false);

			cube_r11 = new ModelRenderer(this);
			cube_r11.setRotationPoint(7.0F, -43.0F, 14.0F);
			booster.addChild(cube_r11);
			setRotationAngle(cube_r11, 0.2339F, 0.0F, 0.0F);
			cube_r11.setTextureOffset(511, 547).addBox(-5.5F, -16.0F, 0.0F, 11.0F, 16.0F, 0.0F, 0.0F, false);

			cube_r12 = new ModelRenderer(this);
			cube_r12.setRotationPoint(7.0F, -43.0F, 0.0F);
			booster.addChild(cube_r12);
			setRotationAngle(cube_r12, -0.2339F, 0.0F, 0.0F);
			cube_r12.setTextureOffset(511, 547).addBox(-5.5F, -16.0F, 0.0F, 11.0F, 16.0F, 0.0F, 0.0F, false);

			bone7 = new ModelRenderer(this);
			bone7.setRotationPoint(14.0F, -43.0F, 14.0F);
			booster.addChild(bone7);


			cube_r13 = new ModelRenderer(this);
			cube_r13.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone7.addChild(cube_r13);
			setRotationAngle(cube_r13, 0.2269F, 0.0F, 0.2269F);
			cube_r13.setTextureOffset(518, 564).addBox(0.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r14 = new ModelRenderer(this);
			cube_r14.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone7.addChild(cube_r14);
			setRotationAngle(cube_r14, 0.2277F, -0.085F, 0.2072F);
			cube_r14.setTextureOffset(527, 564).addBox(0.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r15 = new ModelRenderer(this);
			cube_r15.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone7.addChild(cube_r15);
			setRotationAngle(cube_r15, -0.2269F, 0.0F, -0.2269F);
			cube_r15.setTextureOffset(536, 564).addBox(-2.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r16 = new ModelRenderer(this);
			cube_r16.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone7.addChild(cube_r16);
			setRotationAngle(cube_r16, -0.2277F, -0.085F, -0.2072F);
			cube_r16.setTextureOffset(545, 564).addBox(-2.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r17 = new ModelRenderer(this);
			cube_r17.setRotationPoint(-14.0F, 0.0F, -14.0F);
			bone7.addChild(cube_r17);
			setRotationAngle(cube_r17, -0.2269F, 0.0F, 0.2269F);
			cube_r17.setTextureOffset(564, 562).addBox(0.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r18 = new ModelRenderer(this);
			cube_r18.setRotationPoint(-14.0F, 0.0F, -14.0F);
			bone7.addChild(cube_r18);
			setRotationAngle(cube_r18, -0.2277F, 0.085F, 0.2072F);
			cube_r18.setTextureOffset(0, 565).addBox(0.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r19 = new ModelRenderer(this);
			cube_r19.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone7.addChild(cube_r19);
			setRotationAngle(cube_r19, 0.2269F, 0.0F, -0.2269F);
			cube_r19.setTextureOffset(9, 565).addBox(-2.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r20 = new ModelRenderer(this);
			cube_r20.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone7.addChild(cube_r20);
			setRotationAngle(cube_r20, 0.2277F, 0.085F, -0.2072F);
			cube_r20.setTextureOffset(18, 565).addBox(-2.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			booster4 = new ModelRenderer(this);
			booster4.setRotationPoint(25.0F, -12.0F, -7.0F);
			bone5.addChild(booster4);


			bone21 = new ModelRenderer(this);
			bone21.setRotationPoint(14.0F, -43.0F, 14.0F);
			booster4.addChild(bone21);


			bone4 = new ModelRenderer(this);
			bone4.setRotationPoint(0.0F, 0.0F, 4.0F);
			Boosters.addChild(bone4);


			booster2 = new ModelRenderer(this);
			booster2.setRotationPoint(26.0F, -12.0F, -11.0F);
			bone4.addChild(booster2);
			booster2.setTextureOffset(0, 591).addBox(-1.0F, -41.0F, -1.0F, 16.0F, 39.0F, 16.0F, 0.0F, false);
			booster2.setTextureOffset(50, 542).addBox(4.0F, -59.0F, 4.0F, 6.0F, 16.0F, 6.0F, 0.0F, false);
			booster2.setTextureOffset(133, 257).addBox(0.0F, -41.0F, 0.0F, 14.0F, 39.0F, 14.0F, 0.0F, false);
			booster2.setTextureOffset(439, 339).addBox(-0.5F, -2.0F, -0.5F, 15.0F, 2.0F, 15.0F, 0.0F, false);
			booster2.setTextureOffset(165, 420).addBox(-0.5F, -43.0F, -0.5F, 15.0F, 2.0F, 15.0F, 0.0F, false);
			booster2.setTextureOffset(454, 0).addBox(4.0F, -0.4F, 4.0F, 6.0F, 10.0F, 6.0F, 0.0F, false);
			booster2.setTextureOffset(485, 339).addBox(3.5F, 9.6F, 3.5F, 7.0F, 2.0F, 7.0F, 0.0F, false);
			booster2.setTextureOffset(331, 470).addBox(3.5F, -60.4F, 3.5F, 7.0F, 2.0F, 7.0F, 0.0F, false);
			booster2.setTextureOffset(379, 0).addBox(-7.0F, -61.0F, 6.0F, 11.0F, 55.0F, 2.0F, 0.0F, false);

			cube_r21 = new ModelRenderer(this);
			cube_r21.setRotationPoint(0.0F, 0.0F, 14.0F);
			booster2.addChild(cube_r21);
			setRotationAngle(cube_r21, -0.3319F, -0.043F, -0.3389F);
			cube_r21.setTextureOffset(478, 565).addBox(0.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r22 = new ModelRenderer(this);
			cube_r22.setRotationPoint(14.0F, 0.0F, 14.0F);
			booster2.addChild(cube_r22);
			setRotationAngle(cube_r22, -0.3319F, 0.043F, 0.3389F);
			cube_r22.setTextureOffset(487, 565).addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r23 = new ModelRenderer(this);
			cube_r23.setRotationPoint(14.0F, 0.0F, 0.0F);
			booster2.addChild(cube_r23);
			setRotationAngle(cube_r23, 0.3319F, -0.043F, 0.3389F);
			cube_r23.setTextureOffset(496, 565).addBox(-2.0F, 0.0F, 0.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r24 = new ModelRenderer(this);
			cube_r24.setRotationPoint(0.0F, 0.0F, 0.0F);
			booster2.addChild(cube_r24);
			setRotationAngle(cube_r24, 0.3319F, 0.043F, -0.3389F);
			cube_r24.setTextureOffset(566, 0).addBox(0.0F, 0.0F, 0.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r25 = new ModelRenderer(this);
			cube_r25.setRotationPoint(10.3F, 9.6F, 7.0F);
			booster2.addChild(cube_r25);
			setRotationAngle(cube_r25, 0.0F, 0.0F, 0.3491F);
			cube_r25.setTextureOffset(543, 496).addBox(0.0F, -11.0F, -5.0F, 0.0F, 11.0F, 10.0F, 0.0F, false);

			cube_r26 = new ModelRenderer(this);
			cube_r26.setRotationPoint(3.7F, 9.6F, 7.0F);
			booster2.addChild(cube_r26);
			setRotationAngle(cube_r26, 0.0F, 0.0F, -0.3491F);
			cube_r26.setTextureOffset(543, 496).addBox(0.0F, -11.0F, -5.0F, 0.0F, 11.0F, 10.0F, 0.0F, false);

			cube_r27 = new ModelRenderer(this);
			cube_r27.setRotationPoint(7.0F, 9.6F, 10.3F);
			booster2.addChild(cube_r27);
			setRotationAngle(cube_r27, -0.3491F, 0.0F, 0.0F);
			cube_r27.setTextureOffset(543, 506).addBox(-5.0F, -11.0F, 0.0F, 10.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r28 = new ModelRenderer(this);
			cube_r28.setRotationPoint(7.0F, 9.6F, 3.7F);
			booster2.addChild(cube_r28);
			setRotationAngle(cube_r28, 0.3491F, 0.0F, 0.0F);
			cube_r28.setTextureOffset(543, 506).addBox(-5.0F, -11.0F, 0.0F, 10.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r29 = new ModelRenderer(this);
			cube_r29.setRotationPoint(14.0F, -43.0F, 7.0F);
			booster2.addChild(cube_r29);
			setRotationAngle(cube_r29, 0.0F, 0.0F, -0.2339F);
			cube_r29.setTextureOffset(511, 536).addBox(0.0F, -16.0F, -5.5F, 0.0F, 16.0F, 11.0F, 0.0F, false);

			cube_r30 = new ModelRenderer(this);
			cube_r30.setRotationPoint(0.0F, -43.0F, 7.0F);
			booster2.addChild(cube_r30);
			setRotationAngle(cube_r30, 0.0F, 0.0F, 0.2339F);
			cube_r30.setTextureOffset(511, 536).addBox(0.0F, -16.0F, -5.5F, 0.0F, 16.0F, 11.0F, 0.0F, false);

			cube_r31 = new ModelRenderer(this);
			cube_r31.setRotationPoint(7.0F, -43.0F, 14.0F);
			booster2.addChild(cube_r31);
			setRotationAngle(cube_r31, 0.2339F, 0.0F, 0.0F);
			cube_r31.setTextureOffset(511, 547).addBox(-5.5F, -16.0F, 0.0F, 11.0F, 16.0F, 0.0F, 0.0F, false);

			cube_r32 = new ModelRenderer(this);
			cube_r32.setRotationPoint(7.0F, -43.0F, 0.0F);
			booster2.addChild(cube_r32);
			setRotationAngle(cube_r32, -0.2339F, 0.0F, 0.0F);
			cube_r32.setTextureOffset(511, 547).addBox(-5.5F, -16.0F, 0.0F, 11.0F, 16.0F, 0.0F, 0.0F, false);

			bone6 = new ModelRenderer(this);
			bone6.setRotationPoint(14.0F, -43.0F, 14.0F);
			booster2.addChild(bone6);


			cube_r33 = new ModelRenderer(this);
			cube_r33.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone6.addChild(cube_r33);
			setRotationAngle(cube_r33, 0.2269F, 0.0F, 0.2269F);
			cube_r33.setTextureOffset(518, 564).addBox(0.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r34 = new ModelRenderer(this);
			cube_r34.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone6.addChild(cube_r34);
			setRotationAngle(cube_r34, 0.2277F, -0.085F, 0.2072F);
			cube_r34.setTextureOffset(527, 564).addBox(0.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r35 = new ModelRenderer(this);
			cube_r35.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone6.addChild(cube_r35);
			setRotationAngle(cube_r35, -0.2269F, 0.0F, -0.2269F);
			cube_r35.setTextureOffset(536, 564).addBox(-2.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r36 = new ModelRenderer(this);
			cube_r36.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone6.addChild(cube_r36);
			setRotationAngle(cube_r36, -0.2277F, -0.085F, -0.2072F);
			cube_r36.setTextureOffset(545, 564).addBox(-2.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r37 = new ModelRenderer(this);
			cube_r37.setRotationPoint(-14.0F, 0.0F, -14.0F);
			bone6.addChild(cube_r37);
			setRotationAngle(cube_r37, -0.2269F, 0.0F, 0.2269F);
			cube_r37.setTextureOffset(564, 562).addBox(0.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r38 = new ModelRenderer(this);
			cube_r38.setRotationPoint(-14.0F, 0.0F, -14.0F);
			bone6.addChild(cube_r38);
			setRotationAngle(cube_r38, -0.2277F, 0.085F, 0.2072F);
			cube_r38.setTextureOffset(0, 565).addBox(0.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r39 = new ModelRenderer(this);
			cube_r39.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone6.addChild(cube_r39);
			setRotationAngle(cube_r39, 0.2269F, 0.0F, -0.2269F);
			cube_r39.setTextureOffset(9, 565).addBox(-2.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r40 = new ModelRenderer(this);
			cube_r40.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone6.addChild(cube_r40);
			setRotationAngle(cube_r40, 0.2277F, 0.085F, -0.2072F);
			cube_r40.setTextureOffset(18, 565).addBox(-2.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			bone8 = new ModelRenderer(this);
			bone8.setRotationPoint(1.1F, 0.0F, 5.7F);
			Boosters.addChild(bone8);
			setRotationAngle(bone8, 0.0F, 2.0944F, 0.0F);


			booster3 = new ModelRenderer(this);
			booster3.setRotationPoint(25.0F, -12.0F, 7.0F);
			bone8.addChild(booster3);
			booster3.setTextureOffset(0, 591).addBox(0.5F, -41.0F, -14.15F, 16.0F, 39.0F, 16.0F, 0.0F, false);
			booster3.setTextureOffset(50, 542).addBox(5.5F, -59.0F, -9.15F, 6.0F, 16.0F, 6.0F, 0.0F, false);
			booster3.setTextureOffset(133, 257).addBox(1.5F, -41.0F, -13.15F, 14.0F, 39.0F, 14.0F, 0.0F, false);
			booster3.setTextureOffset(439, 339).addBox(1.0F, -2.0F, -13.65F, 15.0F, 2.0F, 15.0F, 0.0F, false);
			booster3.setTextureOffset(165, 420).addBox(1.0F, -43.0F, -13.65F, 15.0F, 2.0F, 15.0F, 0.0F, false);
			booster3.setTextureOffset(454, 0).addBox(5.5F, -0.4F, -9.15F, 6.0F, 10.0F, 6.0F, 0.0F, false);
			booster3.setTextureOffset(485, 339).addBox(5.0F, 9.6F, -9.65F, 7.0F, 2.0F, 7.0F, 0.0F, false);
			booster3.setTextureOffset(331, 470).addBox(5.0F, -60.4F, -9.65F, 7.0F, 2.0F, 7.0F, 0.0F, false);
			booster3.setTextureOffset(379, 0).addBox(-5.5F, -61.0F, -7.15F, 11.0F, 55.0F, 2.0F, 0.0F, false);

			cube_r41 = new ModelRenderer(this);
			cube_r41.setRotationPoint(1.5F, 0.0F, 0.85F);
			booster3.addChild(cube_r41);
			setRotationAngle(cube_r41, -0.3319F, -0.043F, -0.3389F);
			cube_r41.setTextureOffset(478, 565).addBox(0.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r42 = new ModelRenderer(this);
			cube_r42.setRotationPoint(15.5F, 0.0F, 0.85F);
			booster3.addChild(cube_r42);
			setRotationAngle(cube_r42, -0.3319F, 0.043F, 0.3389F);
			cube_r42.setTextureOffset(487, 565).addBox(-2.0F, 0.0F, -2.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r43 = new ModelRenderer(this);
			cube_r43.setRotationPoint(15.5F, 0.0F, -13.15F);
			booster3.addChild(cube_r43);
			setRotationAngle(cube_r43, 0.3319F, -0.043F, 0.3389F);
			cube_r43.setTextureOffset(496, 565).addBox(-2.0F, 0.0F, 0.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r44 = new ModelRenderer(this);
			cube_r44.setRotationPoint(1.5F, 0.0F, -13.15F);
			booster3.addChild(cube_r44);
			setRotationAngle(cube_r44, 0.3319F, 0.043F, -0.3389F);
			cube_r44.setTextureOffset(566, 0).addBox(0.0F, 0.0F, 0.0F, 2.0F, 12.0F, 2.0F, 0.0F, false);

			cube_r45 = new ModelRenderer(this);
			cube_r45.setRotationPoint(11.8F, 9.6F, -6.15F);
			booster3.addChild(cube_r45);
			setRotationAngle(cube_r45, 0.0F, 0.0F, 0.3491F);
			cube_r45.setTextureOffset(543, 496).addBox(0.0F, -11.0F, -5.0F, 0.0F, 11.0F, 10.0F, 0.0F, false);

			cube_r46 = new ModelRenderer(this);
			cube_r46.setRotationPoint(5.2F, 9.6F, -6.15F);
			booster3.addChild(cube_r46);
			setRotationAngle(cube_r46, 0.0F, 0.0F, -0.3491F);
			cube_r46.setTextureOffset(543, 496).addBox(0.0F, -11.0F, -5.0F, 0.0F, 11.0F, 10.0F, 0.0F, false);

			cube_r47 = new ModelRenderer(this);
			cube_r47.setRotationPoint(8.5F, 9.6F, -2.85F);
			booster3.addChild(cube_r47);
			setRotationAngle(cube_r47, -0.3491F, 0.0F, 0.0F);
			cube_r47.setTextureOffset(543, 506).addBox(-5.0F, -11.0F, 0.0F, 10.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r48 = new ModelRenderer(this);
			cube_r48.setRotationPoint(8.5F, 9.6F, -9.45F);
			booster3.addChild(cube_r48);
			setRotationAngle(cube_r48, 0.3491F, 0.0F, 0.0F);
			cube_r48.setTextureOffset(543, 506).addBox(-5.0F, -11.0F, 0.0F, 10.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r49 = new ModelRenderer(this);
			cube_r49.setRotationPoint(15.5F, -43.0F, -6.15F);
			booster3.addChild(cube_r49);
			setRotationAngle(cube_r49, 0.0F, 0.0F, -0.2339F);
			cube_r49.setTextureOffset(511, 536).addBox(0.0F, -16.0F, -5.5F, 0.0F, 16.0F, 11.0F, 0.0F, false);

			cube_r50 = new ModelRenderer(this);
			cube_r50.setRotationPoint(1.5F, -43.0F, -6.15F);
			booster3.addChild(cube_r50);
			setRotationAngle(cube_r50, 0.0F, 0.0F, 0.2339F);
			cube_r50.setTextureOffset(511, 536).addBox(0.0F, -16.0F, -5.5F, 0.0F, 16.0F, 11.0F, 0.0F, false);

			cube_r51 = new ModelRenderer(this);
			cube_r51.setRotationPoint(8.5F, -43.0F, 0.85F);
			booster3.addChild(cube_r51);
			setRotationAngle(cube_r51, 0.2339F, 0.0F, 0.0F);
			cube_r51.setTextureOffset(511, 547).addBox(-5.5F, -16.0F, 0.0F, 11.0F, 16.0F, 0.0F, 0.0F, false);

			cube_r52 = new ModelRenderer(this);
			cube_r52.setRotationPoint(8.5F, -43.0F, -13.15F);
			booster3.addChild(cube_r52);
			setRotationAngle(cube_r52, -0.2339F, 0.0F, 0.0F);
			cube_r52.setTextureOffset(511, 547).addBox(-5.5F, -16.0F, 0.0F, 11.0F, 16.0F, 0.0F, 0.0F, false);

			bone9 = new ModelRenderer(this);
			bone9.setRotationPoint(15.5F, -43.0F, 0.85F);
			booster3.addChild(bone9);


			cube_r53 = new ModelRenderer(this);
			cube_r53.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone9.addChild(cube_r53);
			setRotationAngle(cube_r53, 0.2269F, 0.0F, 0.2269F);
			cube_r53.setTextureOffset(518, 564).addBox(0.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r54 = new ModelRenderer(this);
			cube_r54.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone9.addChild(cube_r54);
			setRotationAngle(cube_r54, 0.2277F, -0.085F, 0.2072F);
			cube_r54.setTextureOffset(527, 564).addBox(0.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r55 = new ModelRenderer(this);
			cube_r55.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone9.addChild(cube_r55);
			setRotationAngle(cube_r55, -0.2269F, 0.0F, -0.2269F);
			cube_r55.setTextureOffset(536, 564).addBox(-2.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r56 = new ModelRenderer(this);
			cube_r56.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone9.addChild(cube_r56);
			setRotationAngle(cube_r56, -0.2277F, -0.085F, -0.2072F);
			cube_r56.setTextureOffset(545, 564).addBox(-2.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r57 = new ModelRenderer(this);
			cube_r57.setRotationPoint(-14.0F, 0.0F, -14.0F);
			bone9.addChild(cube_r57);
			setRotationAngle(cube_r57, -0.2269F, 0.0F, 0.2269F);
			cube_r57.setTextureOffset(564, 562).addBox(0.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r58 = new ModelRenderer(this);
			cube_r58.setRotationPoint(-14.0F, 0.0F, -14.0F);
			bone9.addChild(cube_r58);
			setRotationAngle(cube_r58, -0.2277F, 0.085F, 0.2072F);
			cube_r58.setTextureOffset(0, 565).addBox(0.0F, -18.0F, 0.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r59 = new ModelRenderer(this);
			cube_r59.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone9.addChild(cube_r59);
			setRotationAngle(cube_r59, 0.2269F, 0.0F, -0.2269F);
			cube_r59.setTextureOffset(9, 565).addBox(-2.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			cube_r60 = new ModelRenderer(this);
			cube_r60.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone9.addChild(cube_r60);
			setRotationAngle(cube_r60, 0.2277F, 0.085F, -0.2072F);
			cube_r60.setTextureOffset(18, 565).addBox(-2.0F, -18.0F, -2.0F, 2.0F, 18.0F, 2.0F, 0.0F, false);

			ShuttleMain = new ModelRenderer(this);
			ShuttleMain.setRotationPoint(-43.0F, 72.0F, 30.0F);
			RocketShip.addChild(ShuttleMain);


			Engine = new ModelRenderer(this);
			Engine.setRotationPoint(43.0F, -13.658F, -30.0F);
			ShuttleMain.addChild(Engine);
			setRotationAngle(Engine, 0.0F, 0.7854F, 0.0F);
			Engine.setTextureOffset(227, 29).addBox(-10.0F, 6.658F, -10.0F, 20.0F, 5.0F, 20.0F, 0.0F, false);
			Engine.setTextureOffset(122, 311).addBox(-5.0F, -7.342F, -5.0F, 10.0F, 3.0F, 10.0F, 0.0F, false);
			Engine.setTextureOffset(500, 339).addBox(-7.0F, -12.342F, -7.0F, 14.0F, 5.0F, 14.0F, 0.0F, false);
			Engine.setTextureOffset(76, 36).addBox(-15.0F, -25.342F, -15.0F, 30.0F, 5.0F, 30.0F, 0.0F, false);

			cube_r61 = new ModelRenderer(this);
			cube_r61.setRotationPoint(4.5F, -4.342F, -4.5F);
			Engine.addChild(cube_r61);
			setRotationAngle(cube_r61, -0.2094F, 0.0F, -0.2094F);
			cube_r61.setTextureOffset(0, 54).addBox(-2.0F, -1.0F, 0.0F, 2.0F, 13.0F, 2.0F, 0.0F, false);

			cube_r62 = new ModelRenderer(this);
			cube_r62.setRotationPoint(4.5F, -4.342F, 4.5F);
			Engine.addChild(cube_r62);
			setRotationAngle(cube_r62, 0.2094F, 0.0F, -0.2094F);
			cube_r62.setTextureOffset(276, 55).addBox(-2.0F, -1.0F, -2.0F, 2.0F, 13.0F, 2.0F, 0.0F, false);

			cube_r63 = new ModelRenderer(this);
			cube_r63.setRotationPoint(-4.5F, -4.342F, 4.5F);
			Engine.addChild(cube_r63);
			setRotationAngle(cube_r63, 0.2094F, 0.0F, 0.2094F);
			cube_r63.setTextureOffset(0, 311).addBox(0.0F, -1.0F, -2.0F, 2.0F, 13.0F, 2.0F, 0.0F, false);

			cube_r64 = new ModelRenderer(this);
			cube_r64.setRotationPoint(0.0F, -12.342F, -6.9F);
			Engine.addChild(cube_r64);
			setRotationAngle(cube_r64, 0.5934F, 0.0F, 0.0F);
			cube_r64.setTextureOffset(107, 539).addBox(-9.0F, -11.0F, 0.0F, 18.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r65 = new ModelRenderer(this);
			cube_r65.setRotationPoint(0.0F, -12.342F, 6.9F);
			Engine.addChild(cube_r65);
			setRotationAngle(cube_r65, -0.5934F, 0.0F, 0.0F);
			cube_r65.setTextureOffset(107, 539).addBox(-9.0F, -11.0F, 0.0F, 18.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r66 = new ModelRenderer(this);
			cube_r66.setRotationPoint(-9.5357F, -16.9284F, 0.0F);
			Engine.addChild(cube_r66);
			setRotationAngle(cube_r66, 0.0F, 1.5708F, -0.5323F);
			cube_r66.setTextureOffset(107, 539).addBox(-9.0F, -5.5F, 0.0F, 18.0F, 11.0F, 0.0F, 0.0F, true);

			cube_r67 = new ModelRenderer(this);
			cube_r67.setRotationPoint(9.5357F, -16.9284F, 0.0F);
			Engine.addChild(cube_r67);
			setRotationAngle(cube_r67, 0.0F, 1.5708F, 0.5323F);
			cube_r67.setTextureOffset(107, 539).addBox(-9.0F, -5.5F, 0.0F, 18.0F, 11.0F, 0.0F, 0.0F, false);

			cube_r68 = new ModelRenderer(this);
			cube_r68.setRotationPoint(6.5F, 6.658F, 0.0F);
			Engine.addChild(cube_r68);
			setRotationAngle(cube_r68, 0.0F, 0.0F, -0.2094F);
			cube_r68.setTextureOffset(94, 539).addBox(0.0F, -13.0F, -6.0F, 0.0F, 13.0F, 12.0F, 0.0F, false);

			cube_r69 = new ModelRenderer(this);
			cube_r69.setRotationPoint(-6.5F, 6.658F, 0.0F);
			Engine.addChild(cube_r69);
			setRotationAngle(cube_r69, 0.0F, 0.0F, 0.2094F);
			cube_r69.setTextureOffset(94, 539).addBox(0.0F, -13.0F, -6.0F, 0.0F, 13.0F, 12.0F, 0.0F, false);

			cube_r70 = new ModelRenderer(this);
			cube_r70.setRotationPoint(0.0F, 6.658F, -6.5F);
			Engine.addChild(cube_r70);
			setRotationAngle(cube_r70, -0.2094F, 0.0F, 0.0F);
			cube_r70.setTextureOffset(94, 551).addBox(-6.0F, -13.0F, 0.0F, 12.0F, 13.0F, 0.0F, 0.0F, false);

			cube_r71 = new ModelRenderer(this);
			cube_r71.setRotationPoint(0.0F, 6.658F, 6.5F);
			Engine.addChild(cube_r71);
			setRotationAngle(cube_r71, 0.2094F, 0.0F, 0.0F);
			cube_r71.setTextureOffset(94, 551).addBox(-6.0F, -13.0F, 0.0F, 12.0F, 13.0F, 0.0F, 0.0F, false);

			cube_r72 = new ModelRenderer(this);
			cube_r72.setRotationPoint(-4.5F, -4.342F, -4.5F);
			Engine.addChild(cube_r72);
			setRotationAngle(cube_r72, -0.2094F, 0.0F, 0.2094F);
			cube_r72.setTextureOffset(227, 55).addBox(0.0F, -1.0F, 0.0F, 2.0F, 13.0F, 2.0F, 0.0F, false);

			bone2 = new ModelRenderer(this);
			bone2.setRotationPoint(-7.0F, -12.342F, 7.0F);
			Engine.addChild(bone2);


			cube_r73 = new ModelRenderer(this);
			cube_r73.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone2.addChild(cube_r73);
			setRotationAngle(cube_r73, 0.5236F, 0.0F, -0.5236F);
			cube_r73.setTextureOffset(435, 0).addBox(0.0F, -11.0F, 0.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			cube_r74 = new ModelRenderer(this);
			cube_r74.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone2.addChild(cube_r74);
			setRotationAngle(cube_r74, 0.5409F, 0.241F, -0.3812F);
			cube_r74.setTextureOffset(180, 394).addBox(0.0F, -11.0F, 0.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			cube_r75 = new ModelRenderer(this);
			cube_r75.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone2.addChild(cube_r75);
			setRotationAngle(cube_r75, -0.5236F, 0.0F, -0.5236F);
			cube_r75.setTextureOffset(406, 562).addBox(0.0F, -11.0F, -3.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			cube_r76 = new ModelRenderer(this);
			cube_r76.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone2.addChild(cube_r76);
			setRotationAngle(cube_r76, -0.5409F, -0.241F, -0.3812F);
			cube_r76.setTextureOffset(302, 495).addBox(0.0F, -11.0F, -3.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			bone3 = new ModelRenderer(this);
			bone3.setRotationPoint(7.0F, -12.342F, 7.0F);
			Engine.addChild(bone3);


			cube_r77 = new ModelRenderer(this);
			cube_r77.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone3.addChild(cube_r77);
			setRotationAngle(cube_r77, 0.5236F, 0.0F, 0.5236F);
			cube_r77.setTextureOffset(362, 57).addBox(-3.0F, -11.0F, 0.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			cube_r78 = new ModelRenderer(this);
			cube_r78.setRotationPoint(0.0F, 0.0F, -14.0F);
			bone3.addChild(cube_r78);
			setRotationAngle(cube_r78, 0.5409F, -0.241F, 0.3812F);
			cube_r78.setTextureOffset(227, 29).addBox(-3.0F, -11.0F, 0.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			cube_r79 = new ModelRenderer(this);
			cube_r79.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone3.addChild(cube_r79);
			setRotationAngle(cube_r79, -0.5236F, 0.0F, 0.5236F);
			cube_r79.setTextureOffset(331, 440).addBox(-3.0F, -11.0F, -3.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			cube_r80 = new ModelRenderer(this);
			cube_r80.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone3.addChild(cube_r80);
			setRotationAngle(cube_r80, -0.5409F, 0.241F, 0.3812F);
			cube_r80.setTextureOffset(445, 296).addBox(-3.0F, -11.0F, -3.0F, 3.0F, 14.0F, 3.0F, 0.0F, false);

			Body = new ModelRenderer(this);
			Body.setRotationPoint(43.0F, 0.0F, -30.0F);
			ShuttleMain.addChild(Body);
			setRotationAngle(Body, 0.0F, 0.7854F, 0.0F);
			Body.setTextureOffset(454, 85).addBox(-14.0F, -93.0F, -14.0F, 28.0F, 54.0F, 28.0F, 0.0F, false);
			Body.setTextureOffset(454, 0).addBox(-15.0F, -93.0F, -15.0F, 30.0F, 54.0F, 30.0F, 0.0F, false);
			Body.setTextureOffset(227, 0).addBox(-14.0F, -67.0F, -14.0F, 28.0F, 0.0F, 28.0F, 0.0F, false);

			ShuttleTop = new ModelRenderer(this);
			ShuttleTop.setRotationPoint(-7.5F, -137.0F, -7.5F);
			Body.addChild(ShuttleTop);
			ShuttleTop.setTextureOffset(0, 0).addBox(0.0F, 1.0F, 0.0F, 15.0F, 38.0F, 15.0F, 0.0F, false);
			ShuttleTop.setTextureOffset(276, 57).addBox(-0.5F, 0.0F, -0.5F, 16.0F, 1.0F, 16.0F, 0.0F, false);
			ShuttleTop.setTextureOffset(227, 55).addBox(-0.5F, 12.0F, -0.5F, 16.0F, 1.0F, 16.0F, 0.0F, false);
			ShuttleTop.setTextureOffset(180, 365).addBox(6.0F, -25.0F, 6.0F, 3.0F, 25.0F, 3.0F, 0.0F, false);
			ShuttleTop.setTextureOffset(9, 0).addBox(7.0F, -35.0F, 7.0F, 1.0F, 10.0F, 1.0F, 0.0F, false);

			bone19 = new ModelRenderer(this);
			bone19.setRotationPoint(0.0F, 0.0F, 15.0F);
			ShuttleTop.addChild(bone19);


			cube_r81 = new ModelRenderer(this);
			cube_r81.setRotationPoint(15.0F, 0.0F, 0.0F);
			bone19.addChild(cube_r81);
			setRotationAngle(cube_r81, 0.2618F, 0.0F, -0.2618F);
			cube_r81.setTextureOffset(437, 30).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r82 = new ModelRenderer(this);
			cube_r82.setRotationPoint(15.25F, 0.0F, 0.25F);
			bone19.addChild(cube_r82);
			setRotationAngle(cube_r82, 0.2618F, 0.0F, -0.2618F);
			cube_r82.setTextureOffset(8, 440).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r83 = new ModelRenderer(this);
			cube_r83.setRotationPoint(15.0F, 0.0F, 0.0F);
			bone19.addChild(cube_r83);
			setRotationAngle(cube_r83, 0.2624F, 0.0674F, -0.2437F);
			cube_r83.setTextureOffset(367, 24).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r84 = new ModelRenderer(this);
			cube_r84.setRotationPoint(15.25F, 0.0F, 0.25F);
			bone19.addChild(cube_r84);
			setRotationAngle(cube_r84, 0.2624F, 0.0674F, -0.2437F);
			cube_r84.setTextureOffset(17, 440).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r85 = new ModelRenderer(this);
			cube_r85.setRotationPoint(-0.25F, 0.0F, 0.25F);
			bone19.addChild(cube_r85);
			setRotationAngle(cube_r85, 0.2624F, -0.0674F, 0.2437F);
			cube_r85.setTextureOffset(17, 440).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			cube_r86 = new ModelRenderer(this);
			cube_r86.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone19.addChild(cube_r86);
			setRotationAngle(cube_r86, 0.2624F, -0.0674F, 0.2437F);
			cube_r86.setTextureOffset(367, 24).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			cube_r87 = new ModelRenderer(this);
			cube_r87.setRotationPoint(-0.25F, 0.0F, 0.25F);
			bone19.addChild(cube_r87);
			setRotationAngle(cube_r87, 0.2618F, 0.0F, 0.2618F);
			cube_r87.setTextureOffset(8, 440).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			cube_r88 = new ModelRenderer(this);
			cube_r88.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone19.addChild(cube_r88);
			setRotationAngle(cube_r88, 0.2618F, 0.0F, 0.2618F);
			cube_r88.setTextureOffset(437, 30).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			bone20 = new ModelRenderer(this);
			bone20.setRotationPoint(7.5F, 0.0F, 7.5F);
			ShuttleTop.addChild(bone20);
			setRotationAngle(bone20, 0.0F, 3.1416F, 0.0F);


			cube_r89 = new ModelRenderer(this);
			cube_r89.setRotationPoint(7.5F, 0.0F, 7.5F);
			bone20.addChild(cube_r89);
			setRotationAngle(cube_r89, 0.2618F, 0.0F, -0.2618F);
			cube_r89.setTextureOffset(437, 30).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r90 = new ModelRenderer(this);
			cube_r90.setRotationPoint(7.75F, 0.0F, 7.75F);
			bone20.addChild(cube_r90);
			setRotationAngle(cube_r90, 0.2618F, 0.0F, -0.2618F);
			cube_r90.setTextureOffset(8, 440).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r91 = new ModelRenderer(this);
			cube_r91.setRotationPoint(7.5F, 0.0F, 7.5F);
			bone20.addChild(cube_r91);
			setRotationAngle(cube_r91, 0.2624F, 0.0674F, -0.2437F);
			cube_r91.setTextureOffset(367, 24).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r92 = new ModelRenderer(this);
			cube_r92.setRotationPoint(7.75F, 0.0F, 7.75F);
			bone20.addChild(cube_r92);
			setRotationAngle(cube_r92, 0.2624F, 0.0674F, -0.2437F);
			cube_r92.setTextureOffset(17, 440).addBox(-2.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, true);

			cube_r93 = new ModelRenderer(this);
			cube_r93.setRotationPoint(-7.75F, 0.0F, 7.75F);
			bone20.addChild(cube_r93);
			setRotationAngle(cube_r93, 0.2624F, -0.0674F, 0.2437F);
			cube_r93.setTextureOffset(17, 440).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			cube_r94 = new ModelRenderer(this);
			cube_r94.setRotationPoint(-7.5F, 0.0F, 7.5F);
			bone20.addChild(cube_r94);
			setRotationAngle(cube_r94, 0.2624F, -0.0674F, 0.2437F);
			cube_r94.setTextureOffset(367, 24).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			cube_r95 = new ModelRenderer(this);
			cube_r95.setRotationPoint(-7.75F, 0.0F, 7.75F);
			bone20.addChild(cube_r95);
			setRotationAngle(cube_r95, 0.2618F, 0.0F, 0.2618F);
			cube_r95.setTextureOffset(8, 440).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			cube_r96 = new ModelRenderer(this);
			cube_r96.setRotationPoint(-7.5F, 0.0F, 7.5F);
			bone20.addChild(cube_r96);
			setRotationAngle(cube_r96, 0.2618F, 0.0F, 0.2618F);
			cube_r96.setTextureOffset(437, 30).addBox(0.0F, -25.0F, -2.0F, 2.0F, 25.0F, 2.0F, 0.0F, false);

			bone15 = new ModelRenderer(this);
			bone15.setRotationPoint(7.5F, 0.0F, 7.5F);
			ShuttleTop.addChild(bone15);
			setRotationAngle(bone15, 0.0F, 1.6144F, 0.0F);


			bone13 = new ModelRenderer(this);
			bone13.setRotationPoint(0.0F, 0.0F, -7.25F);
			bone15.addChild(bone13);


			cube_r97 = new ModelRenderer(this);
			cube_r97.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone13.addChild(cube_r97);
			setRotationAngle(cube_r97, -0.2618F, 0.0F, 0.0F);
			cube_r97.setTextureOffset(537, 521).addBox(-6.0F, -25.0F, 0.0F, 12.0F, 25.0F, 0.0F, 0.0F, false);

			bone14 = new ModelRenderer(this);
			bone14.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone15.addChild(bone14);
			setRotationAngle(bone14, 0.0F, 3.1416F, 0.0F);


			cube_r98 = new ModelRenderer(this);
			cube_r98.setRotationPoint(0.0F, 0.0F, -7.25F);
			bone14.addChild(cube_r98);
			setRotationAngle(cube_r98, -0.2618F, 0.0F, 0.0F);
			cube_r98.setTextureOffset(537, 521).addBox(-6.0F, -25.0F, 0.0F, 12.0F, 25.0F, 0.0F, 0.0F, false);

			bone16 = new ModelRenderer(this);
			bone16.setRotationPoint(7.5F, 0.0F, 0.25F);
			ShuttleTop.addChild(bone16);


			bone17 = new ModelRenderer(this);
			bone17.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone16.addChild(bone17);


			cube_r99 = new ModelRenderer(this);
			cube_r99.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone17.addChild(cube_r99);
			setRotationAngle(cube_r99, -0.2618F, 0.0F, 0.0F);
			cube_r99.setTextureOffset(537, 521).addBox(-6.0F, -25.0F, 0.0F, 12.0F, 25.0F, 0.0F, 0.0F, false);

			bone18 = new ModelRenderer(this);
			bone18.setRotationPoint(0.0F, 0.0F, 7.25F);
			bone16.addChild(bone18);
			setRotationAngle(bone18, 0.0F, 3.1416F, 0.0F);


			cube_r100 = new ModelRenderer(this);
			cube_r100.setRotationPoint(0.0F, 0.0F, -7.25F);
			bone18.addChild(cube_r100);
			setRotationAngle(cube_r100, -0.2618F, 0.0F, 0.0F);
			cube_r100.setTextureOffset(537, 521).addBox(-6.0F, -25.0F, 0.0F, 12.0F, 25.0F, 0.0F, 0.0F, false);

			Compartmentroof = new ModelRenderer(this);
			Compartmentroof.setRotationPoint(-14.0F, -98.0F, 0.0F);
			Body.addChild(Compartmentroof);
			Compartmentroof.setTextureOffset(76, 0).addBox(-1.0F, 0.0F, -15.0F, 30.0F, 5.0F, 30.0F, 0.0F, false);

			bone = new ModelRenderer(this);
			bone.setRotationPoint(-0.5F, 0.0F, 14.5F);
			Compartmentroof.addChild(bone);


			cube_r101 = new ModelRenderer(this);
			cube_r101.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone.addChild(cube_r101);
			setRotationAngle(cube_r101, 0.2618F, 0.0F, 0.2618F);
			cube_r101.setTextureOffset(218, 315).addBox(0.0F, -39.0F, -2.0F, 2.0F, 39.0F, 2.0F, 0.0F, true);

			cube_r102 = new ModelRenderer(this);
			cube_r102.setRotationPoint(28.5F, 0.0F, -0.5F);
			bone.addChild(cube_r102);
			setRotationAngle(cube_r102, 0.2618F, 0.0F, -0.2618F);
			cube_r102.setTextureOffset(0, 465).addBox(-3.0F, -39.0F, -3.0F, 4.0F, 39.0F, 4.0F, 0.0F, false);

			cube_r103 = new ModelRenderer(this);
			cube_r103.setRotationPoint(29.0F, 0.0F, 0.0F);
			bone.addChild(cube_r103);
			setRotationAngle(cube_r103, 0.2618F, 0.0F, -0.2618F);
			cube_r103.setTextureOffset(218, 315).addBox(-2.0F, -39.0F, -2.0F, 2.0F, 39.0F, 2.0F, 0.0F, false);

			cube_r104 = new ModelRenderer(this);
			cube_r104.setRotationPoint(0.5F, 0.0F, -0.5F);
			bone.addChild(cube_r104);
			setRotationAngle(cube_r104, 0.2618F, 0.0F, 0.2618F);
			cube_r104.setTextureOffset(0, 465).addBox(-1.0F, -39.0F, -3.0F, 4.0F, 39.0F, 4.0F, 0.0F, true);

			bone10 = new ModelRenderer(this);
			bone10.setRotationPoint(14.0F, 0.0F, 0.0F);
			Compartmentroof.addChild(bone10);
			setRotationAngle(bone10, 0.0F, 3.1416F, 0.0F);


			cube_r105 = new ModelRenderer(this);
			cube_r105.setRotationPoint(-14.5F, 0.0F, 14.5F);
			bone10.addChild(cube_r105);
			setRotationAngle(cube_r105, 0.2618F, 0.0F, 0.2618F);
			cube_r105.setTextureOffset(218, 315).addBox(0.0F, -39.0F, -2.0F, 2.0F, 39.0F, 2.0F, 0.0F, true);

			cube_r106 = new ModelRenderer(this);
			cube_r106.setRotationPoint(14.0F, 0.0F, 14.0F);
			bone10.addChild(cube_r106);
			setRotationAngle(cube_r106, 0.2618F, 0.0F, -0.2618F);
			cube_r106.setTextureOffset(0, 465).addBox(-3.0F, -39.0F, -3.0F, 4.0F, 39.0F, 4.0F, 0.0F, false);

			cube_r107 = new ModelRenderer(this);
			cube_r107.setRotationPoint(14.5F, 0.0F, 14.5F);
			bone10.addChild(cube_r107);
			setRotationAngle(cube_r107, 0.2618F, 0.0F, -0.2618F);
			cube_r107.setTextureOffset(218, 315).addBox(-2.0F, -39.0F, -2.0F, 2.0F, 39.0F, 2.0F, 0.0F, false);

			cube_r108 = new ModelRenderer(this);
			cube_r108.setRotationPoint(-14.0F, 0.0F, 14.0F);
			bone10.addChild(cube_r108);
			setRotationAngle(cube_r108, 0.2618F, 0.0F, 0.2618F);
			cube_r108.setTextureOffset(0, 465).addBox(-1.0F, -39.0F, -3.0F, 4.0F, 39.0F, 4.0F, 0.0F, true);

			bone11 = new ModelRenderer(this);
			bone11.setRotationPoint(28.0F, 0.0F, 0.0F);
			Compartmentroof.addChild(bone11);


			cube_r109 = new ModelRenderer(this);
			cube_r109.setRotationPoint(0.0F, 0.0F, 0.0F);
			bone11.addChild(cube_r109);
			setRotationAngle(cube_r109, 0.0F, 0.0F, -0.2618F);
			cube_r109.setTextureOffset(0, 488).addBox(0.0F, -27.0F, -13.0F, 0.0F, 27.0F, 26.0F, 0.0F, true);

			cube_r110 = new ModelRenderer(this);
			cube_r110.setRotationPoint(-28.0F, 0.0F, 0.0F);
			bone11.addChild(cube_r110);
			setRotationAngle(cube_r110, 0.0F, 0.0F, 0.2618F);
			cube_r110.setTextureOffset(0, 488).addBox(0.0F, -27.0F, -13.0F, 0.0F, 27.0F, 26.0F, 0.0F, false);

			bone12 = new ModelRenderer(this);
			bone12.setRotationPoint(14.0F, 0.0F, 0.0F);
			Compartmentroof.addChild(bone12);
			setRotationAngle(bone12, 0.0F, 1.5708F, 0.0F);


			cube_r111 = new ModelRenderer(this);
			cube_r111.setRotationPoint(14.0F, 0.0F, 0.0F);
			bone12.addChild(cube_r111);
			setRotationAngle(cube_r111, 0.0F, 0.0F, -0.2618F);
			cube_r111.setTextureOffset(0, 488).addBox(0.0F, -27.0F, -13.0F, 0.0F, 27.0F, 26.0F, 0.0F, true);

			cube_r112 = new ModelRenderer(this);
			cube_r112.setRotationPoint(-14.0F, 0.0F, 0.0F);
			bone12.addChild(cube_r112);
			setRotationAngle(cube_r112, 0.0F, 0.0F, 0.2618F);
			cube_r112.setTextureOffset(0, 488).addBox(0.0F, -27.0F, -13.0F, 0.0F, 27.0F, 26.0F, 0.0F, false);

			panes = new ModelRenderer(this);
			panes.setRotationPoint(35.0F, 11.0F, -36.0F);
			ShuttleMain.addChild(panes);
			panes.setTextureOffset(151, 0).addBox(17.0F, -181.0F, -33.0F, 0.0F, 181.0F, 75.0F, 0.0F, false);

			cube_r113 = new ModelRenderer(this);
			cube_r113.setRotationPoint(0.0F, 0.0F, 0.0F);
			panes.addChild(cube_r113);
			setRotationAngle(cube_r113, -3.1416F, 0.7854F, 3.1416F);
			cube_r113.setTextureOffset(0, 0).addBox(0.0F, -181.0F, -39.0F, 0.0F, 181.0F, 75.0F, 0.0F, false);

			Interior = new ModelRenderer(this);
			Interior.setRotationPoint(0.0F, -18.5F, 0.0F);
			RocketShip.addChild(Interior);
			setRotationAngle(Interior, 0.0F, 1.5708F, 0.0F);


			bone22 = new ModelRenderer(this);
			bone22.setRotationPoint(-16.0F, 23.5F, 11.0F);
			Interior.addChild(bone22);
			bone22.setTextureOffset(442, 521).addBox(21.0F, -9.0F, -18.0F, 4.0F, 9.0F, 14.0F, 0.0F, false);
			bone22.setTextureOffset(442, 521).addBox(7.0F, -9.0F, -18.0F, 4.0F, 9.0F, 14.0F, 0.0F, true);
			bone22.setTextureOffset(442, 521).addBox(7.0F, 19.0F, -18.0F, 4.0F, 9.0F, 14.0F, 0.0F, true);
			bone22.setTextureOffset(291, 525).addBox(9.0F, -3.2F, -18.0F, 14.0F, 3.0F, 17.0F, 0.0F, false);
			bone22.setTextureOffset(291, 525).addBox(9.0F, 25.0F, -18.0F, 14.0F, 3.0F, 17.0F, 0.0F, false);
			bone22.setTextureOffset(343, 559).addBox(13.0F, -26.0F, 1.1F, 6.0F, 10.0F, 4.0F, 0.0F, false);
			bone22.setTextureOffset(61, 0).addBox(13.0F, -26.0F, 5.0F, 6.0F, 27.0F, 0.0F, 0.0F, false);
			bone22.setTextureOffset(194, 351).addBox(4.0F, -26.0F, -18.0F, 0.0F, 26.0F, 14.0F, 0.0F, false);
			bone22.setTextureOffset(406, 0).addBox(9.0F, -26.0F, -23.0F, 14.0F, 26.0F, 0.0F, 0.0F, false);
			bone22.setTextureOffset(151, 365).addBox(28.0F, -26.0F, -18.0F, 0.0F, 26.0F, 14.0F, 0.0F, false);
			bone22.setTextureOffset(302, 440).addBox(9.0F, -26.0F, 1.0F, 14.0F, 26.0F, 0.0F, 0.0F, false);

			cube_r114 = new ModelRenderer(this);
			cube_r114.setRotationPoint(7.0F, -23.5F, -9.0F);
			bone22.addChild(cube_r114);
			setRotationAngle(cube_r114, 0.0F, 0.0F, 0.5236F);
			cube_r114.setTextureOffset(479, 521).addBox(-2.0F, -4.5F, -8.0F, 4.0F, 9.0F, 12.0F, 0.0F, false);

			cube_r115 = new ModelRenderer(this);
			cube_r115.setRotationPoint(25.0F, -23.5F, -9.0F);
			bone22.addChild(cube_r115);
			setRotationAngle(cube_r115, 0.0F, 0.0F, -0.5236F);
			cube_r115.setTextureOffset(424, 304).addBox(-2.0F, -4.5F, -8.0F, 4.0F, 9.0F, 12.0F, 0.0F, false);

			cube_r116 = new ModelRenderer(this);
			cube_r116.setRotationPoint(16.0F, -9.75F, -18.0F);
			bone22.addChild(cube_r116);
			setRotationAngle(cube_r116, 0.2618F, 0.0F, 0.0F);
			cube_r116.setTextureOffset(302, 521).addBox(-7.0F, -9.0F, -3.0F, 14.0F, 18.0F, 6.0F, 0.0F, false);

			bone23 = new ModelRenderer(this);
			bone23.setRotationPoint(-16.0F, 51.5F, 11.0F);
			Interior.addChild(bone23);
			bone23.setTextureOffset(442, 521).addBox(21.0F, -9.0F, -18.0F, 4.0F, 9.0F, 14.0F, 0.0F, false);
			bone23.setTextureOffset(343, 559).addBox(13.0F, -27.0F, 1.1F, 6.0F, 10.0F, 4.0F, 0.0F, false);
			bone23.setTextureOffset(61, 0).addBox(13.0F, -26.0F, 5.0F, 6.0F, 27.0F, 0.0F, 0.0F, false);
			bone23.setTextureOffset(194, 351).addBox(4.0F, -26.0F, -18.0F, 0.0F, 26.0F, 14.0F, 0.0F, false);
			bone23.setTextureOffset(406, 0).addBox(9.0F, -26.0F, -23.0F, 14.0F, 26.0F, 0.0F, 0.0F, false);
			bone23.setTextureOffset(151, 365).addBox(28.0F, -26.0F, -18.0F, 0.0F, 26.0F, 14.0F, 0.0F, false);
			bone23.setTextureOffset(302, 440).addBox(9.0F, -27.0F, 1.0F, 14.0F, 26.0F, 0.0F, 0.0F, false);

			cube_r117 = new ModelRenderer(this);
			cube_r117.setRotationPoint(7.0F, -23.5F, -9.0F);
			bone23.addChild(cube_r117);
			setRotationAngle(cube_r117, 0.0F, 0.0F, 0.5236F);
			cube_r117.setTextureOffset(479, 521).addBox(-2.0F, -4.5F, -8.0F, 4.0F, 9.0F, 12.0F, 0.0F, false);

			cube_r118 = new ModelRenderer(this);
			cube_r118.setRotationPoint(25.0F, -23.5F, -9.0F);
			bone23.addChild(cube_r118);
			setRotationAngle(cube_r118, 0.0F, 0.0F, -0.5236F);
			cube_r118.setTextureOffset(424, 304).addBox(-2.0F, -4.5F, -8.0F, 4.0F, 9.0F, 12.0F, 0.0F, false);

			cube_r119 = new ModelRenderer(this);
			cube_r119.setRotationPoint(16.0F, -9.0F, -18.0F);
			bone23.addChild(cube_r119);
			setRotationAngle(cube_r119, 0.2618F, 0.0F, 0.0F);
			cube_r119.setTextureOffset(302, 521).addBox(-7.0F, -9.0F, -3.0F, 14.0F, 18.0F, 6.0F, 0.0F, false);
		}

		@Override
		public void setRotationAngles(Spaceship entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
			RocketShip.rotateAngleY = (((Spaceship)entity).GetVehicleYaw()) * SuperNova.DegToRad;
			RocketShip.rotateAngleX = (((Spaceship)entity).GetVehiclePitch()) * SuperNova.DegToRad;
			RocketShip.rotateAngleZ = (((Spaceship)entity).GetVehicleRoll()) * SuperNova.DegToRad;
		}

		@Override
		public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
			RocketShip.render(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);
		}

		public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) {
			modelRenderer.rotateAngleX = x;
			modelRenderer.rotateAngleY = y;
			modelRenderer.rotateAngleZ = z;
		}

	}
}