Java tutorial
/** * AbyssalCraft * Copyright 2012-2015 Shinoow * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.shinoow.abyssalcraft.client.model.entity; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import org.lwjgl.opengl.GL11; import com.shinoow.abyssalcraft.common.entity.EntityChagaroth; public class ModelChagaroth extends ModelBase { private int rot = 0; public ModelRenderer frontspike1; public ModelRenderer frontspike2; public ModelRenderer frontspike3; public ModelRenderer frontspike4; public ModelRenderer frontspike5; public ModelRenderer leftneck; public ModelRenderer middleneck; public ModelRenderer rightneck; public ModelRenderer body; public ModelRenderer tentacle2base; public ModelRenderer tentacle1; public ModelRenderer tentacle2; public ModelRenderer tentacle3; public ModelRenderer tentacle4; public ModelRenderer tentacle5; public ModelRenderer tentacle6; public ModelRenderer tentacle7; public ModelRenderer tentacle8; public ModelRenderer tentacle9; public ModelRenderer tentacle10; public ModelRenderer tentacle11; public ModelRenderer tentacle12; public ModelRenderer tentacle13; public ModelRenderer tentacle14; public ModelRenderer tentacle15; public ModelRenderer tentacle16; public ModelRenderer tentacle17; public ModelRenderer tentacle18; public ModelRenderer tentacle19; public ModelRenderer tentacle20; public ModelRenderer tlib12; public ModelRenderer tlib22; public ModelRenderer tspike12; public ModelRenderer tspike22; public ModelRenderer tspike32; public ModelRenderer tspike42; public ModelRenderer tlib1; public ModelRenderer tlib2; public ModelRenderer tspike1; public ModelRenderer tspike2; public ModelRenderer tspike3; public ModelRenderer tspike4; public ModelRenderer lefthead; public ModelRenderer leftjaw; public ModelRenderer leftupperjaw; public ModelRenderer lstooth1; public ModelRenderer lstooth2; public ModelRenderer lstooth3; public ModelRenderer lstooth4; public ModelRenderer lbtooth1; public ModelRenderer lbtooth2; public ModelRenderer lbtooth3; public ModelRenderer lbtooth4; public ModelRenderer lbtooth5; public ModelRenderer lbackspike1; public ModelRenderer lbackspike2; public ModelRenderer lbackspike3; public ModelRenderer lackspike4; public ModelRenderer lefteye1; public ModelRenderer lefteye2; public ModelRenderer middlehead; public ModelRenderer middlejaw; public ModelRenderer middleupperjaw; public ModelRenderer mstooth1; public ModelRenderer mstooth2; public ModelRenderer mstooth3; public ModelRenderer mstooth4; public ModelRenderer mbtooth1; public ModelRenderer mbtooth2; public ModelRenderer mbtooth3; public ModelRenderer mbtooth4; public ModelRenderer mbtooth5; public ModelRenderer mbackspike1; public ModelRenderer mbackspike2; public ModelRenderer mbackspike3; public ModelRenderer mbackspike4; public ModelRenderer middleeye1; public ModelRenderer middleeye2; public ModelRenderer righthead; public ModelRenderer rightjaw; public ModelRenderer rightupperjaw; public ModelRenderer rstooth1; public ModelRenderer rstooth2; public ModelRenderer rstooth3; public ModelRenderer rstooth4; public ModelRenderer rbtooth1; public ModelRenderer rbtooth2; public ModelRenderer rbtooth3; public ModelRenderer rbtooth4; public ModelRenderer rbtooth5; public ModelRenderer rbackspike1; public ModelRenderer rbackspike2; public ModelRenderer rbackspike3; public ModelRenderer rbackspike4; public ModelRenderer righteye1; public ModelRenderer righteye2; public ModelRenderer middlewall; public ModelRenderer rightwall; public ModelRenderer leftwall; public ModelRenderer walltentacle1; public ModelRenderer walltentacle2; public ModelRenderer walltentacle3; public ModelRenderer walltentacle4; public ModelRenderer walltentacle5; public ModelRenderer walltentacle6; public ModelRenderer walltentacle7; public ModelRenderer walltentacle8; public ModelChagaroth() { textureWidth = 128; textureHeight = 64; frontspike1 = new ModelRenderer(this, 30, 50); frontspike1.addBox(0F, -4F, 0F, 1, 5, 1); frontspike1.setRotationPoint(-10F, 10F, -9F); frontspike1.setTextureSize(128, 64); frontspike1.mirror = true; setRotation(frontspike1, 0.6320364F, 0F, 0F); frontspike2 = new ModelRenderer(this, 30, 50); frontspike2.addBox(0F, -4F, 0F, 1, 5, 1); frontspike2.setRotationPoint(-4F, 10F, -9F); frontspike2.setTextureSize(128, 64); frontspike2.mirror = true; setRotation(frontspike2, 0.6320364F, 0F, 0F); frontspike3 = new ModelRenderer(this, 30, 50); frontspike3.addBox(0F, -4F, 0F, 1, 5, 1); frontspike3.setRotationPoint(2F, 10F, -9F); frontspike3.setTextureSize(128, 64); frontspike3.mirror = true; setRotation(frontspike3, 0.6320364F, 0F, 0F); frontspike4 = new ModelRenderer(this, 30, 50); frontspike4.addBox(0F, -4F, 0F, 1, 5, 1); frontspike4.setRotationPoint(8F, 10F, -9F); frontspike4.setTextureSize(128, 64); frontspike4.mirror = true; setRotation(frontspike4, 0.6320364F, 0F, 0F); frontspike5 = new ModelRenderer(this, 30, 50); frontspike5.addBox(0F, -4F, 0F, 1, 5, 1); frontspike5.setRotationPoint(14F, 10F, -9F); frontspike5.setTextureSize(128, 64); frontspike5.mirror = true; setRotation(frontspike5, 0.6320364F, 0F, 0F); leftneck = new ModelRenderer(this, 34, 0); leftneck.addBox(-1F, -16F, -2F, 3, 16, 3); leftneck.setRotationPoint(-7F, 10F, -1F); leftneck.setTextureSize(128, 64); leftneck.mirror = true; setRotation(leftneck, 0.4833219F, 0.2230717F, 0F); middleneck = new ModelRenderer(this, 34, 0); middleneck.addBox(-1F, -16F, -2F, 3, 16, 3); middleneck.setRotationPoint(2F, 10F, -1F); middleneck.setTextureSize(128, 64); middleneck.mirror = true; setRotation(middleneck, 0.4833219F, 0F, 0F); rightneck = new ModelRenderer(this, 34, 0); rightneck.addBox(-1F, -16F, -2F, 3, 16, 3); rightneck.setRotationPoint(10F, 10F, -1F); rightneck.setTextureSize(128, 64); rightneck.mirror = true; setRotation(rightneck, 0.4833219F, -0.2230705F, 0F); body = new ModelRenderer(this, 38, 30); body.addBox(0F, 0F, 0F, 25, 14, 20); body.setRotationPoint(-10F, 10F, -9F); body.setTextureSize(128, 64); body.mirror = true; setRotation(body, 0F, 0F, 0F); tentacle2base = new ModelRenderer(this, 0, 0); tentacle2base.addBox(0F, 0F, 0F, 9, 3, 3); tentacle2base.setRotationPoint(15F, 12F, -8F); tentacle2base.setTextureSize(128, 64); tentacle2base.mirror = true; setRotation(tentacle2base, 0F, 0F, 0F); tentacle1 = new ModelRenderer(this, 0, 0); tentacle1.addBox(-1.5F, -10F, -1.5F, 3, 10, 3); tentacle1.setRotationPoint(-2F, 10F, 9F); tentacle1.setTextureSize(128, 64); tentacle1.mirror = true; setRotation(tentacle1, 0F, 0F, 0F); tentacle2 = new ModelRenderer(this, 0, 0); tentacle2.addBox(-1.5F, -9F, -1.5F, 3, 9, 3); tentacle2.setRotationPoint(-2F, 1F, 9F); tentacle2.setTextureSize(128, 64); tentacle2.mirror = true; setRotation(tentacle2, 0.4833219F, 0F, 0F); tentacle3 = new ModelRenderer(this, 0, 0); tentacle3.addBox(-1.5F, -8F, -1.5F, 3, 8, 3); tentacle3.setRotationPoint(-2F, -6F, 5F); tentacle3.setTextureSize(128, 64); tentacle3.mirror = true; setRotation(tentacle3, -0.4461433F, 0F, 0F); tentacle4 = new ModelRenderer(this, 0, 0); tentacle4.addBox(0F, -1.5F, -1.5F, 9, 3, 3); tentacle4.setRotationPoint(-1F, 1F, 9F); tentacle4.setTextureSize(128, 64); tentacle4.mirror = true; setRotation(tentacle4, 0F, 0F, -0.5205006F); tentacle5 = new ModelRenderer(this, 0, 0); tentacle5.addBox(-1.5F, -1.5F, 0F, 3, 3, 10); tentacle5.setRotationPoint(-2F, -12F, 7F); tentacle5.setTextureSize(128, 64); tentacle5.mirror = true; setRotation(tentacle5, 0F, 0F, 0F); tentacle6 = new ModelRenderer(this, 0, 0); tentacle6.addBox(-1.5F, -8.5F, -1.5F, 3, 9, 3); tentacle6.setRotationPoint(-17.5F, 16F, -4F); tentacle6.setTextureSize(128, 64); tentacle6.mirror = true; setRotation(tentacle6, 0F, 0F, -0.3346075F); tentacle7 = new ModelRenderer(this, 0, 0); tentacle7.addBox(0F, -1.5F, -1.5F, 10, 3, 3); tentacle7.setRotationPoint(27F, 5F, 3F); tentacle7.setTextureSize(128, 64); tentacle7.mirror = true; setRotation(tentacle7, 0F, -0.5576792F, 0F); tentacle8 = new ModelRenderer(this, 0, 0); tentacle8.addBox(0F, -2.5F, -2.5F, 13, 5, 5); tentacle8.setRotationPoint(17F, 6F, 4F); tentacle8.setTextureSize(128, 64); tentacle8.mirror = true; setRotation(tentacle8, 0F, 0.2602503F, -0.1487144F); tentacle9 = new ModelRenderer(this, 0, 0); tentacle9.addBox(0F, 0F, 0F, 3, 12, 3); tentacle9.setRotationPoint(8F, 23F, -4F); tentacle9.setTextureSize(128, 64); tentacle9.mirror = true; setRotation(tentacle9, -0.4833219F, 0F, -0.5948578F); tentacle10 = new ModelRenderer(this, 0, 0); tentacle10.addBox(-9F, -1.5F, -1.5F, 9, 3, 3); tentacle10.setRotationPoint(-10F, 17F, -4F); tentacle10.setTextureSize(128, 64); tentacle10.mirror = true; setRotation(tentacle10, 0F, 0F, 0F); tentacle11 = new ModelRenderer(this, 0, 0); tentacle11.addBox(-1.5F, -1.5F, -11F, 3, 3, 11); tentacle11.setRotationPoint(-6F, 19F, -7F); tentacle11.setTextureSize(128, 64); tentacle11.mirror = true; setRotation(tentacle11, 0.1487144F, -0.4089647F, 0F); tentacle12 = new ModelRenderer(this, 0, 0); tentacle12.addBox(-2.5F, -10F, -2.5F, 5, 10, 5); tentacle12.setRotationPoint(16F, 8F, 4F); tentacle12.setTextureSize(128, 64); tentacle12.mirror = true; setRotation(tentacle12, 0F, 0F, 0F); tentacle13 = new ModelRenderer(this, 0, 0); tentacle13.addBox(-2.5F, -13F, -2.5F, 5, 8, 5); tentacle13.setRotationPoint(10F, 18F, 5F); tentacle13.setTextureSize(128, 64); tentacle13.mirror = true; setRotation(tentacle13, 0.0371786F, 0F, 0.5205006F); tentacle14 = new ModelRenderer(this, 0, 0); tentacle14.addBox(-1.5F, -11F, -1.5F, 3, 11, 3); tentacle14.setRotationPoint(17F, 0F, 5F); tentacle14.setTextureSize(128, 64); tentacle14.mirror = true; setRotation(tentacle14, -0.2602503F, 0F, 1.07818F); tentacle15 = new ModelRenderer(this, 0, 0); tentacle15.addBox(-1.5F, -1.5F, -8F, 3, 3, 8); tentacle15.setRotationPoint(25F, -5F, 7F); tentacle15.setTextureSize(128, 64); tentacle15.mirror = true; setRotation(tentacle15, 0F, -0.2974289F, 0F); tentacle16 = new ModelRenderer(this, 0, 0); tentacle16.addBox(0F, 0F, 0F, 3, 10, 3); tentacle16.setRotationPoint(0F, 22F, -6F); tentacle16.setTextureSize(128, 64); tentacle16.mirror = true; setRotation(tentacle16, -0.1115358F, 0F, 0.5205006F); tentacle17 = new ModelRenderer(this, 0, 0); tentacle17.addBox(0F, 0F, 0F, 3, 10, 3); tentacle17.setRotationPoint(5F, 24F, 4F); tentacle17.setTextureSize(128, 64); tentacle17.mirror = true; setRotation(tentacle17, 0.4461433F, 0F, 0F); tentacle18 = new ModelRenderer(this, 0, 0); tentacle18.addBox(0F, 0F, 0F, 5, 15, 5); tentacle18.setRotationPoint(-8F, 21F, 1F); tentacle18.setTextureSize(128, 64); tentacle18.mirror = true; setRotation(tentacle18, -0.37179F, 0F, 0.37179F); tentacle19 = new ModelRenderer(this, 0, 0); tentacle19.addBox(-12F, -1.5F, -1.5F, 12, 3, 3); tentacle19.setRotationPoint(-20F, 17F, 3F); tentacle19.setTextureSize(128, 64); tentacle19.mirror = true; setRotation(tentacle19, 0F, 0.8179294F, 0.3717861F); tentacle20 = new ModelRenderer(this, 0, 0); tentacle20.addBox(-8F, 0F, 0F, 13, 5, 5); tentacle20.setRotationPoint(-15F, 15F, 0F); tentacle20.setTextureSize(128, 64); tentacle20.mirror = true; setRotation(tentacle20, 0F, 0F, 0F); tlib12 = new ModelRenderer(this, 0, 0); tlib12.addBox(-1F, -1F, -8F, 3, 3, 8); tlib12.setRotationPoint(22F, 13F, -8F); tlib12.setTextureSize(128, 64); tlib12.mirror = true; setRotation(tlib12, 0F, 0F, 0F); tlib22 = new ModelRenderer(this, 30, 20); tlib22.addBox(-1F, -5F, -1F, 3, 5, 3); tlib22.setRotationPoint(22F, 14F, -15.5F); tlib22.setTextureSize(128, 64); tlib22.mirror = true; setRotation(tlib22, 0.8922867F, 0F, 0F); tspike12 = new ModelRenderer(this, 25, 25); tspike12.addBox(0F, -2F, 0F, 1, 2, 1); tspike12.setRotationPoint(23F, 10F, -19F); tspike12.setTextureSize(128, 64); tspike12.mirror = true; setRotation(tspike12, 0.0371786F, 0F, 0.5948578F); tspike22 = new ModelRenderer(this, 25, 25); tspike22.addBox(-1F, -2F, 0F, 1, 2, 1); tspike22.setRotationPoint(22F, 10F, -19F); tspike22.setTextureSize(128, 64); tspike22.mirror = true; setRotation(tspike22, 0.0371786F, 0F, -0.5948606F); tspike32 = new ModelRenderer(this, 25, 25); tspike32.addBox(0F, -2F, 0F, 1, 2, 1); tspike32.setRotationPoint(23F, 11.5F, -19F); tspike32.setTextureSize(128, 64); tspike32.mirror = true; setRotation(tspike32, 1.115355F, 0F, 0.5948578F); tspike42 = new ModelRenderer(this, 25, 25); tspike42.addBox(-1F, -2F, 0F, 1, 2, 1); tspike42.setRotationPoint(22F, 11.5F, -19F); tspike42.setTextureSize(128, 64); tspike42.mirror = true; setRotation(tspike42, 1.115353F, 0F, -0.5948606F); tlib1 = new ModelRenderer(this, 0, 0); tlib1.addBox(-1F, -1F, -8F, 3, 3, 8); tlib1.setRotationPoint(-2F, 20F, -16F); tlib1.setTextureSize(128, 64); tlib1.mirror = true; setRotation(tlib1, 0F, 0F, 0F); tlib2 = new ModelRenderer(this, 30, 20); tlib2.addBox(-1F, -5F, -1F, 3, 5, 3); tlib2.setRotationPoint(-2F, 21F, -23.5F); tlib2.setTextureSize(128, 64); tlib2.mirror = true; setRotation(tlib2, 0.8922867F, 0F, 0F); tspike1 = new ModelRenderer(this, 25, 25); tspike1.addBox(0F, -2F, 0F, 1, 2, 1); tspike1.setRotationPoint(-1F, 17F, -27F); tspike1.setTextureSize(128, 64); tspike1.mirror = true; setRotation(tspike1, 0.0371786F, 0F, 0.5948578F); tspike2 = new ModelRenderer(this, 25, 25); tspike2.addBox(-1F, -2F, 0F, 1, 2, 1); tspike2.setRotationPoint(-2F, 17F, -27F); tspike2.setTextureSize(128, 64); tspike2.mirror = true; setRotation(tspike2, 0.0371786F, 0F, -0.5948606F); tspike3 = new ModelRenderer(this, 25, 25); tspike3.addBox(0F, -2F, 0F, 1, 2, 1); tspike3.setRotationPoint(-1F, 18.5F, -27F); tspike3.setTextureSize(128, 64); tspike3.mirror = true; setRotation(tspike3, 1.115355F, 0F, 0.5948578F); tspike4 = new ModelRenderer(this, 25, 25); tspike4.addBox(-1F, -2F, 0F, 1, 2, 1); tspike4.setRotationPoint(-2F, 18.5F, -27.5F); tspike4.setTextureSize(128, 64); tspike4.mirror = true; setRotation(tspike4, 1.115353F, 0F, -0.5948606F); lefthead = new ModelRenderer(this, 0, 30); lefthead.addBox(-4.5F, -9F, -4.5F, 9, 9, 8); lefthead.setRotationPoint(-8F, -3F, -7F); lefthead.setTextureSize(128, 64); lefthead.mirror = true; setRotation(lefthead, 0F, 0F, 0F); leftjaw = new ModelRenderer(this, 0, 50); leftjaw.addBox(-4.5F, 1F, -6F, 9, 1, 9); leftjaw.setRotationPoint(0F, 0F, 0F); leftjaw.setTextureSize(128, 64); leftjaw.mirror = true; setRotation(leftjaw, 0.3346075F, 0F, 0F); lefthead.addChild(leftjaw); leftupperjaw = new ModelRenderer(this, 0, 28); leftupperjaw.addBox(0F, 0F, 0F, 9, 1, 1); leftupperjaw.setRotationPoint(-4.5F, -1F, -5.5F); leftupperjaw.setTextureSize(128, 64); leftupperjaw.mirror = true; setRotation(leftupperjaw, 0F, 0F, 0F); lefthead.addChild(leftupperjaw); lstooth1 = new ModelRenderer(this, 0, 50); lstooth1.addBox(0F, 0F, 0F, 1, 1, 1); lstooth1.setRotationPoint(-3.5F, 0F, -6F); lstooth1.setTextureSize(128, 64); lstooth1.mirror = true; setRotation(lstooth1, 0F, 0F, 0F); leftjaw.addChild(lstooth1); lstooth2 = new ModelRenderer(this, 0, 50); lstooth2.addBox(0F, 0F, 0F, 1, 1, 1); lstooth2.setRotationPoint(-1.5F, 0F, -6F); lstooth2.setTextureSize(128, 64); lstooth2.mirror = true; setRotation(lstooth2, 0F, 0F, 0F); leftjaw.addChild(lstooth2); lstooth3 = new ModelRenderer(this, 0, 50); lstooth3.addBox(0F, 0F, 0F, 1, 1, 1); lstooth3.setRotationPoint(0.5F, 0F, -6F); lstooth3.setTextureSize(128, 64); lstooth3.mirror = true; setRotation(lstooth3, 0F, 0F, 0F); leftjaw.addChild(lstooth3); lstooth4 = new ModelRenderer(this, 0, 50); lstooth4.addBox(0F, 0F, 0F, 1, 1, 1); lstooth4.setRotationPoint(2.5F, 0F, -6F); lstooth4.setTextureSize(128, 64); lstooth4.mirror = true; setRotation(lstooth4, 0F, 0F, 0F); leftjaw.addChild(lstooth4); lbtooth1 = new ModelRenderer(this, 0, 50); lbtooth1.addBox(0F, 0F, 0F, 1, 2, 1); lbtooth1.setRotationPoint(0F, 1F, 0F); lbtooth1.setTextureSize(128, 64); lbtooth1.mirror = true; setRotation(lbtooth1, 0F, 0F, 0F); leftupperjaw.addChild(lbtooth1); lbtooth2 = new ModelRenderer(this, 0, 50); lbtooth2.addBox(0F, 0F, 0F, 1, 2, 1); lbtooth2.setRotationPoint(2F, 1F, 0F); lbtooth2.setTextureSize(128, 64); lbtooth2.mirror = true; setRotation(lbtooth2, 0F, 0F, 0F); leftupperjaw.addChild(lbtooth2); lbtooth3 = new ModelRenderer(this, 0, 50); lbtooth3.addBox(0F, 0F, 0F, 1, 2, 1); lbtooth3.setRotationPoint(4F, 1F, 0F); lbtooth3.setTextureSize(128, 64); lbtooth3.mirror = true; setRotation(lbtooth3, 0F, 0F, 0F); leftupperjaw.addChild(lbtooth3); lbtooth4 = new ModelRenderer(this, 0, 50); lbtooth4.addBox(0F, 0F, 0F, 1, 2, 1); lbtooth4.setRotationPoint(6F, 1F, 0F); lbtooth4.setTextureSize(128, 64); lbtooth4.mirror = true; setRotation(lbtooth4, 0F, 0F, 0F); leftupperjaw.addChild(lbtooth4); lbtooth5 = new ModelRenderer(this, 0, 50); lbtooth5.addBox(0F, 0F, 0F, 1, 2, 1); lbtooth5.setRotationPoint(8F, 1F, 0F); lbtooth5.setTextureSize(128, 64); lbtooth5.mirror = true; setRotation(lbtooth5, 0F, 0F, 0F); leftupperjaw.addChild(lbtooth5); lbackspike1 = new ModelRenderer(this, 10, 24); lbackspike1.addBox(0F, 0F, 0F, 1, 1, 3); lbackspike1.setRotationPoint(-0.5F, -2F, 3.5F); lbackspike1.setTextureSize(128, 64); lbackspike1.mirror = true; setRotation(lbackspike1, 0F, 0F, 0F); lefthead.addChild(lbackspike1); lbackspike2 = new ModelRenderer(this, 10, 24); lbackspike2.addBox(0F, 0F, 0F, 1, 1, 3); lbackspike2.setRotationPoint(-0.5F, -4F, 3.5F); lbackspike2.setTextureSize(128, 64); lbackspike2.mirror = true; setRotation(lbackspike2, 0F, 0F, 0F); lefthead.addChild(lbackspike2); lbackspike3 = new ModelRenderer(this, 10, 24); lbackspike3.addBox(0F, 0F, 0F, 1, 1, 3); lbackspike3.setRotationPoint(-0.5F, -6F, 3.5F); lbackspike3.setTextureSize(128, 64); lbackspike3.mirror = true; setRotation(lbackspike3, 0F, 0F, 0F); lefthead.addChild(lbackspike3); lackspike4 = new ModelRenderer(this, 10, 24); lackspike4.addBox(0F, 0F, 0F, 1, 1, 3); lackspike4.setRotationPoint(-0.5F, -8F, 3.5F); lackspike4.setTextureSize(128, 64); lackspike4.mirror = true; setRotation(lackspike4, 0F, 0F, 0F); lefthead.addChild(lackspike4); lefteye1 = new ModelRenderer(this, 0, 24); lefteye1.addBox(0F, 0F, 0F, 3, 3, 1); lefteye1.setRotationPoint(0.5F, -6F, -5.5F); lefteye1.setTextureSize(128, 64); lefteye1.mirror = true; setRotation(lefteye1, 0F, 0F, 0F); lefthead.addChild(lefteye1); lefteye2 = new ModelRenderer(this, 0, 24); lefteye2.addBox(0F, 0F, 0F, 3, 3, 1); lefteye2.setRotationPoint(-3.5F, -6F, -5.5F); lefteye2.setTextureSize(128, 64); lefteye2.mirror = true; setRotation(lefteye2, 0F, 0F, 0F); lefthead.addChild(lefteye2); middlehead = new ModelRenderer(this, 0, 30); middlehead.addBox(-4.5F, -9F, -4.5F, 9, 9, 8); middlehead.setRotationPoint(3F, -3F, -7F); middlehead.setTextureSize(128, 64); middlehead.mirror = true; setRotation(middlehead, 0F, 0F, 0F); middlejaw = new ModelRenderer(this, 0, 50); middlejaw.addBox(-4.5F, 1F, -6F, 9, 1, 9); middlejaw.setRotationPoint(0, 0, 0); middlejaw.setTextureSize(128, 64); middlejaw.mirror = true; setRotation(middlejaw, 0.3346075F, 0F, 0F); middlehead.addChild(middlejaw); middleupperjaw = new ModelRenderer(this, 0, 28); middleupperjaw.addBox(0F, 0F, 0F, 9, 1, 1); middleupperjaw.setRotationPoint(-4.5F, -1F, -5.5F); middleupperjaw.setTextureSize(128, 64); middleupperjaw.mirror = true; setRotation(middleupperjaw, 0F, 0F, 0F); middlehead.addChild(middleupperjaw); mstooth1 = new ModelRenderer(this, 0, 50); mstooth1.addBox(0F, 0F, 0F, 1, 1, 1); mstooth1.setRotationPoint(-3.5F, 0F, -6F); mstooth1.setTextureSize(128, 64); mstooth1.mirror = true; setRotation(mstooth1, 0F, 0F, 0F); middlejaw.addChild(mstooth1); mstooth2 = new ModelRenderer(this, 0, 50); mstooth2.addBox(0F, 0F, 0F, 1, 1, 1); mstooth2.setRotationPoint(-1.5F, 0F, -6F); mstooth2.setTextureSize(128, 64); mstooth2.mirror = true; setRotation(mstooth2, 0F, 0F, 0F); middlejaw.addChild(mstooth2); mstooth3 = new ModelRenderer(this, 0, 50); mstooth3.addBox(0F, 0F, 0F, 1, 1, 1); mstooth3.setRotationPoint(0.5F, 0F, -6F); mstooth3.setTextureSize(128, 64); mstooth3.mirror = true; setRotation(mstooth3, 0F, 0F, 0F); middlejaw.addChild(mstooth3); mstooth4 = new ModelRenderer(this, 0, 50); mstooth4.addBox(0F, 0F, 0F, 1, 1, 1); mstooth4.setRotationPoint(2.5F, 0F, -6F); mstooth4.setTextureSize(128, 64); mstooth4.mirror = true; setRotation(mstooth4, 0F, 0F, 0F); middlejaw.addChild(mstooth4); mbtooth1 = new ModelRenderer(this, 0, 50); mbtooth1.addBox(0F, 0F, 0F, 1, 2, 1); mbtooth1.setRotationPoint(0F, 1F, 0F); mbtooth1.setTextureSize(128, 64); mbtooth1.mirror = true; setRotation(mbtooth1, 0F, 0F, 0F); middleupperjaw.addChild(mbtooth1); mbtooth2 = new ModelRenderer(this, 0, 50); mbtooth2.addBox(0F, 0F, 0F, 1, 2, 1); mbtooth2.setRotationPoint(2F, 1F, 0F); mbtooth2.setTextureSize(128, 64); mbtooth2.mirror = true; setRotation(mbtooth2, 0F, 0F, 0F); middleupperjaw.addChild(mbtooth2); mbtooth3 = new ModelRenderer(this, 0, 50); mbtooth3.addBox(0F, 0F, 0F, 1, 2, 1); mbtooth3.setRotationPoint(4F, 1F, 0F); mbtooth3.setTextureSize(128, 64); mbtooth3.mirror = true; setRotation(mbtooth3, 0F, 0F, 0F); middleupperjaw.addChild(mbtooth3); mbtooth4 = new ModelRenderer(this, 0, 50); mbtooth4.addBox(0F, 0F, 0F, 1, 2, 1); mbtooth4.setRotationPoint(6F, 1F, 0F); mbtooth4.setTextureSize(128, 64); mbtooth4.mirror = true; setRotation(mbtooth4, 0F, 0F, 0F); middleupperjaw.addChild(mbtooth4); mbtooth5 = new ModelRenderer(this, 0, 50); mbtooth5.addBox(0F, 0F, 0F, 1, 2, 1); mbtooth5.setRotationPoint(8F, 1F, 0F); mbtooth5.setTextureSize(128, 64); mbtooth5.mirror = true; setRotation(mbtooth5, 0F, 0F, 0F); middleupperjaw.addChild(mbtooth5); mbackspike1 = new ModelRenderer(this, 10, 24); mbackspike1.addBox(0F, 0F, 0F, 1, 1, 3); mbackspike1.setRotationPoint(-0.5F, -2F, 3.5F); mbackspike1.setTextureSize(128, 64); mbackspike1.mirror = true; setRotation(mbackspike1, 0F, 0F, 0F); middlehead.addChild(mbackspike1); mbackspike2 = new ModelRenderer(this, 10, 24); mbackspike2.addBox(0F, 0F, 0F, 1, 1, 3); mbackspike2.setRotationPoint(-0.5F, -4F, 3.5F); mbackspike2.setTextureSize(128, 64); mbackspike2.mirror = true; setRotation(mbackspike2, 0F, 0F, 0F); middlehead.addChild(mbackspike2); mbackspike3 = new ModelRenderer(this, 10, 24); mbackspike3.addBox(0F, 0F, 0F, 1, 1, 3); mbackspike3.setRotationPoint(-0.5F, -6F, 3.5F); mbackspike3.setTextureSize(128, 64); mbackspike3.mirror = true; setRotation(mbackspike3, 0F, 0F, 0F); middlehead.addChild(mbackspike3); mbackspike4 = new ModelRenderer(this, 10, 24); mbackspike4.addBox(0F, 0F, 0F, 1, 1, 3); mbackspike4.setRotationPoint(-0.5F, -8F, 3.5F); mbackspike4.setTextureSize(128, 64); mbackspike4.mirror = true; setRotation(mbackspike4, 0F, 0F, 0F); middlehead.addChild(mbackspike4); middleeye1 = new ModelRenderer(this, 0, 24); middleeye1.addBox(0F, 0F, 0F, 3, 3, 1); middleeye1.setRotationPoint(0.5F, -6F, -5.5F); middleeye1.setTextureSize(128, 64); middleeye1.mirror = true; setRotation(middleeye1, 0F, 0F, 0F); middlehead.addChild(middleeye1); middleeye2 = new ModelRenderer(this, 0, 24); middleeye2.addBox(0F, 0F, 0F, 3, 3, 1); middleeye2.setRotationPoint(-3.5F, -6F, -5.5F); middleeye2.setTextureSize(128, 64); middleeye2.mirror = true; setRotation(middleeye2, 0F, 0F, 0F); middlehead.addChild(middleeye2); righthead = new ModelRenderer(this, 0, 30); righthead.addBox(-4.5F, -9F, -4.5F, 9, 9, 8); righthead.setRotationPoint(13F, -3F, -7F); righthead.setTextureSize(128, 64); righthead.mirror = true; setRotation(righthead, 0F, 0F, 0F); rightjaw = new ModelRenderer(this, 0, 50); rightjaw.addBox(-4.5F, 1F, -6F, 9, 1, 9); rightjaw.setRotationPoint(0, 0, 0); rightjaw.setTextureSize(128, 64); rightjaw.mirror = true; setRotation(rightjaw, 0.3346075F, 0F, 0F); righthead.addChild(rightjaw); rightupperjaw = new ModelRenderer(this, 0, 28); rightupperjaw.addBox(0F, 0F, 0F, 9, 1, 1); rightupperjaw.setRotationPoint(-4.5F, -1F, -5.5F); rightupperjaw.setTextureSize(128, 64); rightupperjaw.mirror = true; setRotation(rightupperjaw, 0F, 0F, 0F); righthead.addChild(rightupperjaw); rstooth1 = new ModelRenderer(this, 0, 50); rstooth1.addBox(0F, 0F, 0F, 1, 1, 1); rstooth1.setRotationPoint(-3.5F, 0F, -6F); rstooth1.setTextureSize(128, 64); rstooth1.mirror = true; setRotation(rstooth1, 0F, 0F, 0F); rightjaw.addChild(rstooth1); rstooth2 = new ModelRenderer(this, 0, 50); rstooth2.addBox(0F, 0F, 0F, 1, 1, 1); rstooth2.setRotationPoint(-1.5F, 0F, -6F); rstooth2.setTextureSize(128, 64); rstooth2.mirror = true; setRotation(rstooth2, 0F, 0F, 0F); rightjaw.addChild(rstooth2); rstooth3 = new ModelRenderer(this, 0, 50); rstooth3.addBox(0F, 0F, 0F, 1, 1, 1); rstooth3.setRotationPoint(0.5F, 0F, -6F); rstooth3.setTextureSize(128, 64); rstooth3.mirror = true; setRotation(rstooth3, 0F, 0F, 0F); rightjaw.addChild(rstooth3); rstooth4 = new ModelRenderer(this, 0, 50); rstooth4.addBox(0F, 0F, 0F, 1, 1, 1); rstooth4.setRotationPoint(2.5F, 0F, -6F); rstooth4.setTextureSize(128, 64); rstooth4.mirror = true; setRotation(rstooth4, 0F, 0F, 0F); rightjaw.addChild(rstooth4); rbtooth1 = new ModelRenderer(this, 0, 50); rbtooth1.addBox(0F, 0F, 0F, 1, 2, 1); rbtooth1.setRotationPoint(0F, 1F, 0F); rbtooth1.setTextureSize(128, 64); rbtooth1.mirror = true; setRotation(rbtooth1, 0F, 0F, 0F); rightupperjaw.addChild(rbtooth1); rbtooth2 = new ModelRenderer(this, 0, 50); rbtooth2.addBox(0F, 0F, 0F, 1, 2, 1); rbtooth2.setRotationPoint(2F, 1F, 0F); rbtooth2.setTextureSize(128, 64); rbtooth2.mirror = true; setRotation(rbtooth2, 0F, 0F, 0F); rightupperjaw.addChild(rbtooth2); rbtooth3 = new ModelRenderer(this, 0, 50); rbtooth3.addBox(0F, 0F, 0F, 1, 2, 1); rbtooth3.setRotationPoint(4F, 1F, 0F); rbtooth3.setTextureSize(128, 64); rbtooth3.mirror = true; setRotation(rbtooth3, 0F, 0F, 0F); rightupperjaw.addChild(rbtooth3); rbtooth4 = new ModelRenderer(this, 0, 50); rbtooth4.addBox(0F, 0F, 0F, 1, 2, 1); rbtooth4.setRotationPoint(6F, 1F, 0F); rbtooth4.setTextureSize(128, 64); rbtooth4.mirror = true; setRotation(rbtooth4, 0F, 0F, 0F); rightupperjaw.addChild(rbtooth4); rbtooth5 = new ModelRenderer(this, 0, 50); rbtooth5.addBox(0F, 0F, 0F, 1, 2, 1); rbtooth5.setRotationPoint(8F, 1F, 0F); rbtooth5.setTextureSize(128, 64); rbtooth5.mirror = true; setRotation(rbtooth5, 0F, 0F, 0F); rightupperjaw.addChild(rbtooth5); rbackspike1 = new ModelRenderer(this, 10, 24); rbackspike1.addBox(0F, 0F, 0F, 1, 1, 3); rbackspike1.setRotationPoint(-0.5F, -2F, 3.5F); rbackspike1.setTextureSize(128, 64); rbackspike1.mirror = true; setRotation(rbackspike1, 0F, 0F, 0F); righthead.addChild(rbackspike1); rbackspike2 = new ModelRenderer(this, 10, 24); rbackspike2.addBox(0F, 0F, 0F, 1, 1, 3); rbackspike2.setRotationPoint(-0.5F, -4F, 3.5F); rbackspike2.setTextureSize(128, 64); rbackspike2.mirror = true; setRotation(rbackspike2, 0F, 0F, 0F); righthead.addChild(rbackspike2); rbackspike3 = new ModelRenderer(this, 10, 24); rbackspike3.addBox(0F, 0F, 0F, 1, 1, 3); rbackspike3.setRotationPoint(-0.5F, -6F, 3.5F); rbackspike3.setTextureSize(128, 64); rbackspike3.mirror = true; setRotation(rbackspike3, 0F, 0F, 0F); righthead.addChild(rbackspike3); rbackspike4 = new ModelRenderer(this, 10, 24); rbackspike4.addBox(0F, 0F, 0F, 1, 1, 3); rbackspike4.setRotationPoint(-0.5F, -8F, 3.5F); rbackspike4.setTextureSize(128, 64); rbackspike4.mirror = true; setRotation(rbackspike4, 0F, 0F, 0F); righthead.addChild(rbackspike4); righteye1 = new ModelRenderer(this, 0, 24); righteye1.addBox(0F, 0F, 0F, 3, 3, 1); righteye1.setRotationPoint(0.5F, -6F, -5.5F); righteye1.setTextureSize(128, 64); righteye1.mirror = true; setRotation(righteye1, 0F, 0F, 0F); righthead.addChild(righteye1); righteye2 = new ModelRenderer(this, 0, 24); righteye2.addBox(0F, 0F, 0F, 3, 3, 1); righteye2.setRotationPoint(-3.5F, -6F, -5.5F); righteye2.setTextureSize(128, 64); righteye2.mirror = true; setRotation(righteye2, 0F, 0F, 0F); righthead.addChild(righteye2); middlewall = new ModelRenderer(this, 46, 0); middlewall.addBox(0F, 0F, 0F, 40, 40, 1); middlewall.setRotationPoint(-18F, -15F, 17F); middlewall.setTextureSize(128, 64); middlewall.mirror = true; setRotation(middlewall, 0F, 0F, 0F); rightwall = new ModelRenderer(this, 46, 0); rightwall.addBox(0F, 0F, 0F, 40, 40, 1); rightwall.setRotationPoint(22F, -15F, 17F); rightwall.setTextureSize(128, 64); rightwall.mirror = true; setRotation(rightwall, 0F, 0.669215F, 0F); leftwall = new ModelRenderer(this, 46, 0); leftwall.addBox(-40F, 0F, 0F, 40, 40, 1); leftwall.setRotationPoint(-18F, -15F, 17F); leftwall.setTextureSize(128, 64); leftwall.mirror = true; setRotation(leftwall, 0F, -0.6692116F, 0F); walltentacle1 = new ModelRenderer(this, 0, 0); walltentacle1.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle1.setRotationPoint(-30F, -3F, 9F); walltentacle1.setTextureSize(128, 64); walltentacle1.mirror = true; setRotation(walltentacle1, 0F, 0F, 0F); walltentacle2 = new ModelRenderer(this, 0, 0); walltentacle2.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle2.setRotationPoint(-33F, 9F, 7F); walltentacle2.setTextureSize(128, 64); walltentacle2.mirror = true; setRotation(walltentacle2, 0F, 0F, 0F); walltentacle3 = new ModelRenderer(this, 0, 0); walltentacle3.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle3.setRotationPoint(-42F, 0F, 0F); walltentacle3.setTextureSize(128, 64); walltentacle3.mirror = true; setRotation(walltentacle3, 0F, 0F, 0F); walltentacle4 = new ModelRenderer(this, 0, 0); walltentacle4.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle4.setRotationPoint(-23F, 6F, 15F); walltentacle4.setTextureSize(128, 64); walltentacle4.mirror = true; setRotation(walltentacle4, 0F, 0F, 0F); walltentacle5 = new ModelRenderer(this, 0, 0); walltentacle5.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle5.setRotationPoint(42F, 0F, 3F); walltentacle5.setTextureSize(128, 64); walltentacle5.mirror = true; setRotation(walltentacle5, 0F, 0F, 0F); walltentacle6 = new ModelRenderer(this, 0, 0); walltentacle6.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle6.setRotationPoint(33F, -6F, 9F); walltentacle6.setTextureSize(128, 64); walltentacle6.mirror = true; setRotation(walltentacle6, 0F, 0F, 0F); walltentacle7 = new ModelRenderer(this, 0, 0); walltentacle7.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle7.setRotationPoint(36F, 11F, 7F); walltentacle7.setTextureSize(128, 64); walltentacle7.mirror = true; setRotation(walltentacle7, 0F, 0F, 0F); walltentacle8 = new ModelRenderer(this, 0, 0); walltentacle8.addBox(-1.5F, -1.5F, -12F, 3, 3, 12); walltentacle8.setRotationPoint(46.13334F, 17F, 0F); walltentacle8.setTextureSize(128, 64); walltentacle8.mirror = true; setRotation(walltentacle8, 0F, 0F, 0F); } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { GL11.glPushMatrix(); super.render(entity, f, f1, f2, f3, f4, f5); GL11.glScalef(2.0F, 2.0F, 2.0F); GL11.glTranslatef(0F, -0.75F, 0F); setRotationAngles(f, f1, f2, f3, f4, f5, entity); frontspike1.render(f5); frontspike2.render(f5); frontspike3.render(f5); frontspike4.render(f5); frontspike5.render(f5); leftneck.render(f5); middleneck.render(f5); rightneck.render(f5); body.render(f5); tentacle2base.render(f5); tentacle1.render(f5); tentacle2.render(f5); tentacle3.render(f5); tentacle4.render(f5); tentacle5.render(f5); tentacle6.render(f5); tentacle7.render(f5); tentacle8.render(f5); tentacle9.render(f5); tentacle10.render(f5); tentacle11.render(f5); tentacle12.render(f5); tentacle13.render(f5); tentacle14.render(f5); tentacle15.render(f5); tentacle16.render(f5); tentacle17.render(f5); tentacle18.render(f5); tentacle19.render(f5); tentacle20.render(f5); tlib12.render(f5); tlib22.render(f5); tspike12.render(f5); tspike22.render(f5); tspike32.render(f5); tspike42.render(f5); tlib1.render(f5); tlib2.render(f5); tspike1.render(f5); tspike2.render(f5); tspike3.render(f5); tspike4.render(f5); lefthead.render(f5); middlehead.render(f5); righthead.render(f5); middlewall.render(f5); rightwall.render(f5); leftwall.render(f5); walltentacle1.render(f5); walltentacle2.render(f5); walltentacle3.render(f5); walltentacle4.render(f5); walltentacle5.render(f5); walltentacle6.render(f5); walltentacle7.render(f5); walltentacle8.render(f5); GL11.glPopMatrix(); } 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) { lefthead.rotateAngleY = f3 / (180F / (float) Math.PI); lefthead.rotateAngleX = f4 / (180F / (float) Math.PI); middlehead.rotateAngleY = f3 / (180F / (float) Math.PI); middlehead.rotateAngleX = f4 / (180F / (float) Math.PI); righthead.rotateAngleY = f3 / (180F / (float) Math.PI); righthead.rotateAngleX = f4 / (180F / (float) Math.PI); walltentacle1.rotateAngleX = MathHelper.cos(f4 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle2.rotateAngleX = MathHelper.cos(f4 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle3.rotateAngleX = MathHelper.cos(f4 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle4.rotateAngleX = MathHelper.cos(f4 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle5.rotateAngleX = MathHelper.cos(f4 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle6.rotateAngleX = MathHelper.cos(f4 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle7.rotateAngleX = MathHelper.cos(f4 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle8.rotateAngleX = MathHelper.cos(f4 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle1.rotateAngleY = MathHelper.cos(f3 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle2.rotateAngleY = MathHelper.cos(f3 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle3.rotateAngleY = MathHelper.cos(f3 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle4.rotateAngleY = MathHelper.cos(f3 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle5.rotateAngleY = MathHelper.cos(f3 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle6.rotateAngleY = MathHelper.cos(f3 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle7.rotateAngleY = MathHelper.cos(f3 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle8.rotateAngleY = MathHelper.cos(f3 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle1.rotateAngleZ = MathHelper.cos(f5 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle2.rotateAngleZ = MathHelper.cos(f5 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle3.rotateAngleZ = MathHelper.cos(f5 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle4.rotateAngleZ = MathHelper.cos(f5 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle5.rotateAngleZ = MathHelper.cos(f5 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle6.rotateAngleZ = MathHelper.cos(f5 * 0.6662F) * 2.0F * f1 * 0.5F; walltentacle7.rotateAngleZ = MathHelper.cos(f5 * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F; walltentacle8.rotateAngleZ = MathHelper.cos(f5 * 0.6662F) * 2.0F * f1 * 0.5F; if (((EntityChagaroth) entity).deathTicks <= 200 && ((EntityChagaroth) entity).deathTicks > 0) { ++rot; lefthead.rotateAngleY = (180F - rot) / (float) Math.PI; lefthead.rotateAngleX = (180F + rot) / (float) Math.PI; lefthead.rotateAngleZ = (180F + rot) / (float) Math.PI; middlehead.rotateAngleY = (180F + rot) / (float) Math.PI; middlehead.rotateAngleX = (180F - rot) / (float) Math.PI; middlehead.rotateAngleZ = (180F - rot) / (float) Math.PI; righthead.rotateAngleY = (180F + rot) / (float) Math.PI; righthead.rotateAngleX = (180F + rot) / (float) Math.PI; righthead.rotateAngleZ = (180F + rot) / (float) Math.PI; walltentacle1.isHidden = true; walltentacle2.isHidden = true; walltentacle3.isHidden = true; walltentacle4.isHidden = true; walltentacle5.isHidden = true; walltentacle6.isHidden = true; walltentacle7.isHidden = true; walltentacle8.isHidden = true; leftwall.isHidden = true; rightwall.isHidden = true; } if (((EntityChagaroth) entity).deathTicks == 0) { lefthead.rotateAngleY = f3 / (180F / (float) Math.PI); lefthead.rotateAngleX = f4 / (180F / (float) Math.PI); lefthead.rotateAngleZ = 0; middlehead.rotateAngleY = f3 / (180F / (float) Math.PI); middlehead.rotateAngleX = f4 / (180F / (float) Math.PI); middlehead.rotateAngleZ = 0; righthead.rotateAngleY = f3 / (180F / (float) Math.PI); righthead.rotateAngleX = f4 / (180F / (float) Math.PI); righthead.rotateAngleZ = 0; walltentacle1.isHidden = false; walltentacle2.isHidden = false; walltentacle3.isHidden = false; walltentacle4.isHidden = false; walltentacle5.isHidden = false; walltentacle6.isHidden = false; walltentacle7.isHidden = false; walltentacle8.isHidden = false; leftwall.isHidden = false; rightwall.isHidden = false; } } }