/******************************************************************************* * AbyssalCraft * Copyright (c) 2012 - 2017 Shinoow. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0.txt * * Contributors: * Shinoow - implementation ******************************************************************************/ package com.shinoow.abyssalcraft.client.model.block; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelDGhead extends ModelBase { ModelRenderer Head; ModelRenderer Jaw; ModelRenderer Tooth1; ModelRenderer Tooth2; ModelRenderer Tooth3; ModelRenderer Tooth4; ModelRenderer Tooth5; public ModelDGhead() { textureWidth = 128; textureHeight = 64; Head = new ModelRenderer(this, 0, 0); Head.addBox(-5F, -9F, -5F, 9, 9, 9); Head.setRotationPoint(1F, 22F, 1F); Head.setTextureSize(128, 64); Head.mirror = true; setRotation(Head, -0.2974289F, 0F, 0F); Jaw = new ModelRenderer(this, 36, 0); Jaw.addBox(-4F, 0F, -9F, 9, 1, 9); Jaw.setRotationPoint(0F, 23F, 5F); Jaw.setTextureSize(128, 64); Jaw.mirror = true; setRotation(Jaw, 0F, 0F, 0F); Tooth1 = new ModelRenderer(this, 48, 11); Tooth1.addBox(0F, -2F, 0F, 1, 2, 1); Tooth1.setRotationPoint(-4F, 23F, -4F); Tooth1.setTextureSize(128, 64); Tooth1.mirror = true; setRotation(Tooth1, 0F, 0F, 0F); Tooth2 = new ModelRenderer(this, 48, 11); Tooth2.addBox(0F, -2F, 0F, 1, 2, 1); Tooth2.setRotationPoint(-2F, 23F, -4F); Tooth2.setTextureSize(128, 64); Tooth2.mirror = true; setRotation(Tooth2, 0F, 0F, 0F); Tooth3 = new ModelRenderer(this, 48, 11); Tooth3.addBox(0F, -2F, 0F, 1, 2, 1); Tooth3.setRotationPoint(0F, 23F, -4F); Tooth3.setTextureSize(128, 64); Tooth3.mirror = true; setRotation(Tooth3, 0F, 0F, 0F); Tooth4 = new ModelRenderer(this, 48, 11); Tooth4.addBox(0F, -2F, 0F, 1, 2, 1); Tooth4.setRotationPoint(2F, 23F, -4F); Tooth4.setTextureSize(128, 64); Tooth4.mirror = true; setRotation(Tooth4, 0F, 0F, 0F); Tooth5 = new ModelRenderer(this, 48, 11); Tooth5.addBox(0F, -2F, 0F, 1, 2, 1); Tooth5.setRotationPoint(4F, 23F, -4F); Tooth5.setTextureSize(128, 64); Tooth5.mirror = true; setRotation(Tooth5, 0F, 0F, 0F); } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); Head.render(f5); Jaw.render(f5); Tooth1.render(f5); Tooth2.render(f5); Tooth3.render(f5); Tooth4.render(f5); Tooth5.render(f5); } 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 par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); Head.rotateAngleY = par4 / (180F / (float)Math.PI); Jaw.rotateAngleY = par4 / (180F / (float)Math.PI); Jaw.rotateAngleX = par5 / (180F / (float)Math.PI); Tooth1.rotateAngleY = par4 / (180F / (float)Math.PI); Tooth1.rotateAngleX = par5 / (180F / (float)Math.PI); Tooth2.rotateAngleY = par4 / (180F / (float)Math.PI); Tooth2.rotateAngleX = par5 / (180F / (float)Math.PI); Tooth3.rotateAngleY = par4 / (180F / (float)Math.PI); Tooth3.rotateAngleX = par5 / (180F / (float)Math.PI); Tooth4.rotateAngleY = par4 / (180F / (float)Math.PI); Tooth4.rotateAngleX = par5 / (180F / (float)Math.PI); Tooth5.rotateAngleY = par4 / (180F / (float)Math.PI); Tooth5.rotateAngleX = par5 / (180F / (float)Math.PI); } }