com.blogspot.jabelarminecraft.wildanimals.models.ModelRaptor.java Source code

Java tutorial

Introduction

Here is the source code for com.blogspot.jabelarminecraft.wildanimals.models.ModelRaptor.java

Source

/**
Copyright (C) 2014 by jabelar
    
This file is part of jabelar's Minecraft Forge modding examples; as such,
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.
    
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
    
For a copy of the GNU General Public License see <http://www.gnu.org/licenses/>.
*/

package com.blogspot.jabelarminecraft.wildanimals.models;

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

import org.lwjgl.opengl.GL11;

// Date: 6/4/2014 7:54:04 AM
// Template version 1.1
// Java generated by Techne
// Keep in mind that you still need to fill in some blanks
// - ZeuX

public class ModelRaptor extends ModelWildAnimals {

    // Setup Tail angles
    float tail_angleY = 0.0F;
    float tail_angleY_incriment = 0.0005F;
    float tail_angleY_limit = 0.05F;
    float tail_angleY_growth = 0.2F;
    int tail_angleY_direction = 1;

    // Setup Scale
    float shrink_factor = 2.0F;

    // Setup Camo
    boolean camo = false;

    // Setup models
    ModelRenderer head;
    ModelRenderer headb;
    ModelRenderer headuppera;
    ModelRenderer headupperb;
    ModelRenderer headlowera;
    ModelRenderer headlowerb;
    ModelRenderer tongue;
    ModelRenderer body;
    ModelRenderer neck;
    ModelRenderer rightarm;
    ModelRenderer righthanda;
    ModelRenderer righthandb;
    ModelRenderer leftarm;
    ModelRenderer lefthanda;
    ModelRenderer lefthandb;
    ModelRenderer leftleg;
    ModelRenderer leftlegb;
    ModelRenderer leftlegc;
    ModelRenderer leftfoottoe2b;
    ModelRenderer leftfoottoe1b;
    ModelRenderer leftfoottoe2a;
    ModelRenderer leftfoottoe1a;
    ModelRenderer leftfoot;
    ModelRenderer rightleg;
    ModelRenderer rightlegb;
    ModelRenderer rightlegc;
    ModelRenderer rightfoottoe1a;
    ModelRenderer rightfoottoe2b;
    ModelRenderer rightfoottoe2a;
    ModelRenderer rightfoottoe1b;
    ModelRenderer rightfoot;
    ModelRenderer taila;
    ModelRenderer tailb;
    ModelRenderer tailc;
    ModelRenderer taild;
    ModelRenderer taile;
    ModelRenderer tooth1a;
    ModelRenderer tooth2a;
    ModelRenderer tooth1b;
    ModelRenderer tooth2b;
    ModelRenderer tooth1c;
    ModelRenderer tooth2c;
    ModelRenderer tooth1d;
    ModelRenderer tooth2d;
    ModelRenderer tooth1e;
    ModelRenderer tooth2e;
    ModelRenderer tooth1f;
    ModelRenderer tooth2f;
    ModelRenderer tooth1g;
    ModelRenderer tooth2g;
    ModelRenderer tooth1h;
    ModelRenderer tooth2h;
    ModelRenderer tooth1i;
    ModelRenderer tooth2i;
    ModelRenderer tooth1j;
    ModelRenderer tooth2j;
    ModelRenderer tooth1k;
    ModelRenderer tooth2k;
    ModelRenderer tooth1l;
    ModelRenderer tooth2l;
    ModelRenderer tooth1m;
    ModelRenderer tooth2m;
    ModelRenderer tooth1n;
    ModelRenderer tooth2n;
    ModelRenderer tooth1o;
    ModelRenderer tooth2o;

    public ModelRaptor() {

        textureWidth = 256;
        textureHeight = 256;

        head = new ModelRenderer(this, 0, 0);
        head.addBox(-4F, -8F, -4F, 8, 7, 8);
        head.setRotationPoint(0F, -5F, -20F);
        head.setTextureSize(64, 32);
        head.mirror = true;
        setRotation(head, 0F, 0F, 0F);
        headb = new ModelRenderer(this, 40, 0);
        headb.addBox(-3F, -9F, -3F, 6, 1, 6);
        headb.setRotationPoint(0F, -5F, -20F);
        headb.setTextureSize(64, 32);
        headb.mirror = true;
        setRotation(headb, 0F, 0F, 0F);
        headuppera = new ModelRenderer(this, 0, 20);
        headuppera.addBox(-4F, -7F, -15F, 8, 1, 11);
        headuppera.setRotationPoint(0F, -5F, -20F);
        headuppera.setTextureSize(64, 32);
        headuppera.mirror = true;
        setRotation(headuppera, 0F, 0F, 0F);
        headupperb = new ModelRenderer(this, 45, 20);
        headupperb.addBox(-4F, -6F, -16F, 8, 1, 12);
        headupperb.setRotationPoint(0F, -5F, -20F);
        headupperb.setTextureSize(64, 32);
        headupperb.mirror = true;
        setRotation(headupperb, 0F, 0F, 0F);
        headlowera = new ModelRenderer(this, 0, 35);
        headlowera.addBox(-4F, -3.7F, -15F, 8, 1, 12);
        headlowera.setRotationPoint(0F, -5F, -20F);
        headlowera.setTextureSize(64, 32);
        headlowera.mirror = true;
        setRotation(headlowera, 0.1919862F, 0F, 0F);
        headlowerb = new ModelRenderer(this, 45, 35);
        headlowerb.addBox(-4F, -2.7F, -9F, 8, 1, 6);
        headlowerb.setRotationPoint(0F, -5F, -20F);
        headlowerb.setTextureSize(64, 32);
        headlowerb.mirror = true;
        setRotation(headlowerb, 0.1919862F, 0F, 0F);
        tongue = new ModelRenderer(this, 80, 35);
        tongue.addBox(-2F, -3.9F, -13F, 4, 1, 10);
        tongue.setRotationPoint(0F, -5F, -20F);
        tongue.setTextureSize(64, 32);
        tongue.mirror = true;
        setRotation(tongue, 0.1919862F, 0F, 0F);
        body = new ModelRenderer(this, 0, 55);
        body.addBox(-6F, -17F, -8F, 12, 21, 8);
        body.setRotationPoint(0F, 0F, 0F);
        body.setTextureSize(64, 32);
        body.mirror = true;
        setRotation(body, 1.308997F, 0F, 0F);
        neck = new ModelRenderer(this, 50, 55);
        neck.addBox(-4F, -18F, -16F, 8, 10, 6);
        neck.setRotationPoint(0F, 0F, 0F);
        neck.setTextureSize(64, 32);
        neck.mirror = true;
        setRotation(neck, 0.4363323F, 0F, 0F);
        rightarm = new ModelRenderer(this, 150, 50);
        rightarm.addBox(-2F, -1F, -1F, 2, 12, 2);
        rightarm.setRotationPoint(-6F, 0F, -16F);
        rightarm.setTextureSize(64, 32);
        rightarm.mirror = true;
        setRotation(rightarm, -0.7853982F, 0F, 0F);
        righthanda = new ModelRenderer(this, 170, 50);
        righthanda.addBox(-3F, 9F, 0F, 1, 4, 1);
        righthanda.setRotationPoint(-6F, 0F, -16F);
        righthanda.setTextureSize(64, 32);
        righthanda.mirror = true;
        setRotation(righthanda, -0.7853982F, -0.2792527F, 0F);
        righthandb = new ModelRenderer(this, 180, 50);
        righthandb.addBox(0F, 9F, -1F, 1, 4, 1);
        righthandb.setRotationPoint(-6F, 0F, -16F);
        righthandb.setTextureSize(64, 32);
        righthandb.mirror = true;
        setRotation(righthandb, -0.7853982F, 0.2792527F, 0F);
        leftarm = new ModelRenderer(this, 150, 80);
        leftarm.addBox(0F, -1F, -1F, 2, 12, 2);
        leftarm.setRotationPoint(6F, 0F, -16F);
        leftarm.setTextureSize(64, 32);
        leftarm.mirror = true;
        setRotation(leftarm, -0.7853982F, 0F, 0F);
        lefthanda = new ModelRenderer(this, 170, 80);
        lefthanda.addBox(2F, 9F, 0F, 1, 4, 1);
        lefthanda.setRotationPoint(6F, 0F, -16F);
        lefthanda.setTextureSize(64, 32);
        lefthanda.mirror = true;
        setRotation(lefthanda, -0.7853982F, 0.2792527F, 0F);
        lefthandb = new ModelRenderer(this, 180, 80);
        lefthandb.addBox(-1F, 10F, -1F, 1, 4, 1);
        lefthandb.setRotationPoint(6F, 0F, -15F);
        lefthandb.setTextureSize(64, 32);
        lefthandb.mirror = true;
        setRotation(lefthandb, -0.7853982F, -0.2792527F, 0.0174533F);
        leftleg = new ModelRenderer(this, 0, 120);
        leftleg.addBox(-3F, -2F, -2.5F, 3, 7, 5);
        leftleg.setRotationPoint(-6F, 2F, -3F);
        leftleg.setTextureSize(64, 32);
        leftleg.mirror = true;
        setRotation(leftleg, 0F, 0F, 0F);
        leftlegb = new ModelRenderer(this, 0, 140);
        leftlegb.addBox(-3F, 0F, -5F, 3, 15, 4);
        leftlegb.setRotationPoint(-6F, 2F, -3F);
        leftlegb.setTextureSize(64, 32);
        leftlegb.mirror = true;
        setRotation(leftlegb, 1.134464F, 0F, 0F);
        leftlegc = new ModelRenderer(this, 0, 165);
        leftlegc.addBox(-3F, 2.1F, 12F, 3, 15, 3);
        leftlegc.setRotationPoint(-6F, 2F, -3F);
        leftlegc.setTextureSize(64, 32);
        leftlegc.mirror = true;
        setRotation(leftlegc, -0.4363323F, 0F, 0F);
        leftfoottoe2b = new ModelRenderer(this, 37, 175);
        leftfoottoe2b.addBox(-4F, 20F, 0F, 1, 2, 1);
        leftfoottoe2b.setRotationPoint(-6F, 2F, -3F);
        leftfoottoe2b.setTextureSize(64, 32);
        leftfoottoe2b.mirror = true;
        setRotation(leftfoottoe2b, 0F, 0F, 0F);
        leftfoottoe1b = new ModelRenderer(this, 37, 165);
        leftfoottoe1b.addBox(0F, 20F, -2F, 1, 2, 2);
        leftfoottoe1b.setRotationPoint(-6F, 2F, -3F);
        leftfoottoe1b.setTextureSize(64, 32);
        leftfoottoe1b.mirror = true;
        setRotation(leftfoottoe1b, 0F, 0F, 0F);
        leftfoottoe2a = new ModelRenderer(this, 20, 175);
        leftfoottoe2a.addBox(-5F, 20F, 1F, 3, 2, 3);
        leftfoottoe2a.setRotationPoint(-6F, 2F, -3F);
        leftfoottoe2a.setTextureSize(64, 32);
        leftfoottoe2a.mirror = true;
        setRotation(leftfoottoe2a, 0F, 0F, 0F);
        leftfoottoe1a = new ModelRenderer(this, 20, 165);
        leftfoottoe1a.addBox(-1F, 20F, 0F, 3, 2, 4);
        leftfoottoe1a.setRotationPoint(-6F, 2F, -3F);
        leftfoottoe1a.setTextureSize(64, 32);
        leftfoottoe1a.mirror = true;
        setRotation(leftfoottoe1a, 0F, 0F, 0F);
        leftfoot = new ModelRenderer(this, 20, 140);
        leftfoot.addBox(-5F, 20F, 4F, 7, 2, 3);
        leftfoot.setRotationPoint(-6F, 2F, -3F);
        leftfoot.setTextureSize(64, 32);
        leftfoot.mirror = true;
        setRotation(leftfoot, 0F, 0F, 0F);
        rightleg = new ModelRenderer(this, 50, 120);
        rightleg.addBox(0F, -2F, -2.5F, 3, 7, 5);
        rightleg.setRotationPoint(6F, 2F, -3F);
        rightleg.setTextureSize(64, 32);
        rightleg.mirror = true;
        setRotation(rightleg, 0F, 0F, 0F);
        rightlegb = new ModelRenderer(this, 50, 140);
        rightlegb.addBox(0F, 0F, -5F, 3, 15, 4);
        rightlegb.setRotationPoint(6F, 2F, -3F);
        rightlegb.setTextureSize(64, 32);
        rightlegb.mirror = true;
        setRotation(rightlegb, 1.134464F, 0F, 0F);
        rightlegc = new ModelRenderer(this, 50, 165);
        rightlegc.addBox(0F, 2.1F, 12F, 3, 15, 3);
        rightlegc.setRotationPoint(6F, 2F, -3F);
        rightlegc.setTextureSize(64, 32);
        rightlegc.mirror = true;
        setRotation(rightlegc, -0.4363323F, 0F, 0F);
        rightfoottoe1a = new ModelRenderer(this, 70, 165);
        rightfoottoe1a.addBox(-2F, 20F, 0F, 3, 2, 4);
        rightfoottoe1a.setRotationPoint(6F, 2F, -3F);
        rightfoottoe1a.setTextureSize(64, 32);
        rightfoottoe1a.mirror = true;
        setRotation(rightfoottoe1a, 0F, 0F, 0F);
        rightfoottoe2b = new ModelRenderer(this, 87, 175);
        rightfoottoe2b.addBox(3F, 20F, 0F, 1, 2, 1);
        rightfoottoe2b.setRotationPoint(6F, 2F, -3F);
        rightfoottoe2b.setTextureSize(64, 32);
        rightfoottoe2b.mirror = true;
        setRotation(rightfoottoe2b, 0F, 0F, 0F);
        rightfoottoe2a = new ModelRenderer(this, 70, 175);
        rightfoottoe2a.addBox(2F, 20F, 1F, 3, 2, 3);
        rightfoottoe2a.setRotationPoint(6F, 2F, -3F);
        rightfoottoe2a.setTextureSize(64, 32);
        rightfoottoe2a.mirror = true;
        setRotation(rightfoottoe2a, 0F, 0F, 0F);
        rightfoottoe1b = new ModelRenderer(this, 87, 165);
        rightfoottoe1b.addBox(-1F, 20F, -2F, 1, 2, 2);
        rightfoottoe1b.setRotationPoint(6F, 2F, -3F);
        rightfoottoe1b.setTextureSize(64, 32);
        rightfoottoe1b.mirror = true;
        setRotation(rightfoottoe1b, 0F, 0F, 0F);
        rightfoot = new ModelRenderer(this, 70, 140);
        rightfoot.addBox(-2F, 20F, 4F, 7, 2, 3);
        rightfoot.setRotationPoint(6F, 2F, -3F);
        rightfoot.setTextureSize(64, 32);
        rightfoot.mirror = true;
        setRotation(rightfoot, 0F, 0F, 0F);
        taila = new ModelRenderer(this, 0, 95);
        taila.addBox(-5F, 2F, -8F, 10, 10, 7);
        taila.setRotationPoint(0F, 0F, 0F);
        taila.setTextureSize(64, 32);
        taila.mirror = true;
        setRotation(taila, 1.500983F, 0F, 0F);
        tailb = new ModelRenderer(this, 40, 95);
        tailb.addBox(-4F, 11F, -7F, 8, 10, 5);
        tailb.setRotationPoint(0F, 0F, 0F);
        tailb.setTextureSize(64, 32);
        tailb.mirror = true;
        setRotation(tailb, 1.500983F, 0F, 0F);
        tailc = new ModelRenderer(this, 70, 95);
        tailc.addBox(-3F, 20F, -6F, 6, 10, 3);
        tailc.setRotationPoint(0F, 0F, 0F);
        tailc.setTextureSize(64, 32);
        tailc.mirror = true;
        setRotation(tailc, 1.500983F, 0F, 0F);
        taild = new ModelRenderer(this, 95, 95);
        taild.addBox(-2F, 29F, -5F, 4, 5, 1);
        taild.setRotationPoint(0F, 0F, 0F);
        taild.setTextureSize(64, 32);
        taild.mirror = true;
        setRotation(taild, 1.500983F, 0F, 0F);
        taile = new ModelRenderer(this, 110, 95);
        taile.addBox(-1F, 33F, -5F, 2, 5, 1);
        taile.setRotationPoint(0F, 0F, 0F);
        taile.setTextureSize(64, 32);
        taile.mirror = true;
        setRotation(taile, 1.500983F, 0F, 0F);
        tooth1a = new ModelRenderer(this, 250, 0);
        tooth1a.addBox(-3.9F, -12.5F, -8.9F, 1, 1, 1);
        tooth1a.setRotationPoint(0F, -5F, -20F);
        tooth1a.setTextureSize(64, 32);
        tooth1a.mirror = true;
        setRotation(tooth1a, 0.9075712F, 0F, 0F);
        tooth2a = new ModelRenderer(this, 250, 0);
        tooth2a.addBox(2.9F, -12.5F, -8.9F, 1, 1, 1);
        tooth2a.setRotationPoint(0F, -5F, -20F);
        tooth2a.setTextureSize(64, 32);
        tooth2a.mirror = true;
        setRotation(tooth2a, 0.9075712F, 0F, 0F);
        tooth1b = new ModelRenderer(this, 250, 0);
        tooth1b.addBox(-3.9F, -11.6F, -7.9F, 1, 1, 1);
        tooth1b.setRotationPoint(0F, -5F, -20F);
        tooth1b.setTextureSize(64, 32);
        tooth1b.mirror = true;
        setRotation(tooth1b, 0.9075712F, 0F, 0F);
        tooth2b = new ModelRenderer(this, 250, 0);
        tooth2b.addBox(2.9F, -11.6F, -7.9F, 1, 1, 1);
        tooth2b.setRotationPoint(0F, -5F, -20F);
        tooth2b.setTextureSize(64, 32);
        tooth2b.mirror = true;
        setRotation(tooth2b, 0.9075712F, 0F, 0F);
        tooth1c = new ModelRenderer(this, 250, 0);
        tooth1c.addBox(-3.9F, -10.7F, -6.9F, 1, 1, 1);
        tooth1c.setRotationPoint(0F, -5F, -20F);
        tooth1c.setTextureSize(64, 32);
        tooth1c.mirror = true;
        setRotation(tooth1c, 0.9075712F, 0F, 0F);
        tooth2c = new ModelRenderer(this, 250, 0);
        tooth2c.addBox(2.9F, -10.7F, -6.9F, 1, 1, 1);
        tooth2c.setRotationPoint(0F, -5F, -20F);
        tooth2c.setTextureSize(64, 32);
        tooth2c.mirror = true;
        setRotation(tooth2c, 0.9075712F, 0F, 0F);
        tooth1d = new ModelRenderer(this, 250, 0);
        tooth1d.addBox(-3.9F, -9.8F, -5.9F, 1, 1, 1);
        tooth1d.setRotationPoint(0F, -5F, -20F);
        tooth1d.setTextureSize(64, 32);
        tooth1d.mirror = true;
        setRotation(tooth1d, 0.9075712F, 0F, 0F);
        tooth2d = new ModelRenderer(this, 250, 0);
        tooth2d.addBox(2.9F, -9.8F, -5.9F, 1, 1, 1);
        tooth2d.setRotationPoint(0F, -5F, -20F);
        tooth2d.setTextureSize(64, 32);
        tooth2d.mirror = true;
        setRotation(tooth2d, 0.9075712F, 0F, 0F);
        tooth1e = new ModelRenderer(this, 250, 0);
        tooth1e.addBox(-3.9F, -8.9F, -4.9F, 1, 1, 1);
        tooth1e.setRotationPoint(0F, -5F, -20F);
        tooth1e.setTextureSize(64, 32);
        tooth1e.mirror = true;
        setRotation(tooth1e, 0.9075712F, 0F, 0F);
        tooth2e = new ModelRenderer(this, 250, 0);
        tooth2e.addBox(2.9F, -8.9F, -4.9F, 1, 1, 1);
        tooth2e.setRotationPoint(0F, -5F, -20F);
        tooth2e.setTextureSize(64, 32);
        tooth2e.mirror = true;
        setRotation(tooth2e, 0.9075712F, 0F, 0F);
        tooth1f = new ModelRenderer(this, 250, 0);
        tooth1f.addBox(-3.9F, -8F, -3.9F, 1, 1, 1);
        tooth1f.setRotationPoint(0F, -5F, -20F);
        tooth1f.setTextureSize(64, 32);
        tooth1f.mirror = true;
        setRotation(tooth1f, 0.9075712F, 0F, 0F);
        tooth2f = new ModelRenderer(this, 250, 0);
        tooth2f.addBox(2.9F, -8F, -3.9F, 1, 1, 1);
        tooth2f.setRotationPoint(0F, -5F, -20F);
        tooth2f.setTextureSize(64, 32);
        tooth2f.mirror = true;
        setRotation(tooth2f, 0.9075712F, 0F, 0F);
        tooth1g = new ModelRenderer(this, 250, 0);
        tooth1g.addBox(-3.9F, -7.1F, -2.9F, 1, 1, 1);
        tooth1g.setRotationPoint(0F, -5F, -20F);
        tooth1g.setTextureSize(64, 32);
        tooth1g.mirror = true;
        setRotation(tooth1g, 0.9075712F, 0F, 0F);
        tooth2g = new ModelRenderer(this, 250, 0);
        tooth2g.addBox(2.9F, -7.1F, -2.9F, 1, 1, 1);
        tooth2g.setRotationPoint(0F, -5F, -20F);
        tooth2g.setTextureSize(64, 32);
        tooth2g.mirror = true;
        setRotation(tooth2g, 0.9075712F, 0F, 0F);
        tooth1h = new ModelRenderer(this, 250, 0);
        tooth1h.addBox(-3.9F, -6.2F, -1.9F, 1, 1, 1);
        tooth1h.setRotationPoint(0F, -5F, -20F);
        tooth1h.setTextureSize(64, 32);
        tooth1h.mirror = true;
        setRotation(tooth1h, 0.9075712F, 0F, 0F);
        tooth2h = new ModelRenderer(this, 250, 0);
        tooth2h.addBox(2.9F, -6.2F, -1.9F, 1, 1, 1);
        tooth2h.setRotationPoint(0F, -5F, -20F);
        tooth2h.setTextureSize(64, 32);
        tooth2h.mirror = true;
        setRotation(tooth2h, 0.9075712F, 0F, 0F);
        tooth1i = new ModelRenderer(this, 250, 0);
        tooth1i.addBox(-3.9F, -14.5F, -7.3F, 1, 1, 1);
        tooth1i.setRotationPoint(0F, -5F, -20F);
        tooth1i.setTextureSize(64, 32);
        tooth1i.mirror = true;
        setRotation(tooth1i, 0.7853982F, 0F, 0F);
        tooth2i = new ModelRenderer(this, 250, 0);
        tooth2i.addBox(2.9F, -14.5F, -7.3F, 1, 1, 1);
        tooth2i.setRotationPoint(0F, -5F, -20F);
        tooth2i.setTextureSize(64, 32);
        tooth2i.mirror = true;
        setRotation(tooth2i, 0.7853982F, 0F, 0F);
        tooth1j = new ModelRenderer(this, 250, 0);
        tooth1j.addBox(-3.9F, -13.5F, -6.3F, 1, 1, 1);
        tooth1j.setRotationPoint(0F, -5F, -20F);
        tooth1j.setTextureSize(64, 32);
        tooth1j.mirror = true;
        setRotation(tooth1j, 0.7853982F, 0F, 0F);
        tooth2j = new ModelRenderer(this, 250, 0);
        tooth2j.addBox(2.9F, -13.5F, -6.3F, 1, 1, 1);
        tooth2j.setRotationPoint(0F, -5F, -20F);
        tooth2j.setTextureSize(64, 32);
        tooth2j.mirror = true;
        setRotation(tooth2j, 0.7853982F, 0F, 0F);
        tooth1k = new ModelRenderer(this, 250, 0);
        tooth1k.addBox(-3.9F, -12.5F, -5.3F, 1, 1, 1);
        tooth1k.setRotationPoint(0F, -5F, -20F);
        tooth1k.setTextureSize(64, 32);
        tooth1k.mirror = true;
        setRotation(tooth1k, 0.7853982F, 0F, 0F);
        tooth2k = new ModelRenderer(this, 250, 0);
        tooth2k.addBox(2.9F, -12.5F, -5.3F, 1, 1, 1);
        tooth2k.setRotationPoint(0F, -5F, -20F);
        tooth2k.setTextureSize(64, 32);
        tooth2k.mirror = true;
        setRotation(tooth2k, 0.7853982F, 0F, 0F);
        tooth1l = new ModelRenderer(this, 250, 0);
        tooth1l.addBox(-3.9F, -11.5F, -4.3F, 1, 1, 1);
        tooth1l.setRotationPoint(0F, -5F, -20F);
        tooth1l.setTextureSize(64, 32);
        tooth1l.mirror = true;
        setRotation(tooth1l, 0.7853982F, 0F, 0F);
        tooth2l = new ModelRenderer(this, 250, 0);
        tooth2l.addBox(2.9F, -11.5F, -4.3F, 1, 1, 1);
        tooth2l.setRotationPoint(0F, -5F, -20F);
        tooth2l.setTextureSize(64, 32);
        tooth2l.mirror = true;
        setRotation(tooth2l, 0.7853982F, 0F, 0F);
        tooth1m = new ModelRenderer(this, 250, 0);
        tooth1m.addBox(-3.9F, -10.5F, -3.3F, 1, 1, 1);
        tooth1m.setRotationPoint(0F, -5F, -20F);
        tooth1m.setTextureSize(64, 32);
        tooth1m.mirror = true;
        setRotation(tooth1m, 0.7853982F, 0F, 0F);
        tooth2m = new ModelRenderer(this, 250, 0);
        tooth2m.addBox(2.9F, -10.5F, -3.3F, 1, 1, 1);
        tooth2m.setRotationPoint(0F, -5F, -20F);
        tooth2m.setTextureSize(64, 32);
        tooth2m.mirror = true;
        setRotation(tooth2m, 0.7853982F, 0F, 0F);
        tooth1n = new ModelRenderer(this, 250, 0);
        tooth1n.addBox(-3.9F, -9.5F, -2.3F, 1, 1, 1);
        tooth1n.setRotationPoint(0F, -5F, -20F);
        tooth1n.setTextureSize(64, 32);
        tooth1n.mirror = true;
        setRotation(tooth1n, 0.7853982F, 0F, 0F);
        tooth2n = new ModelRenderer(this, 250, 0);
        tooth2n.addBox(2.9F, -9.5F, -2.3F, 1, 1, 1);
        tooth2n.setRotationPoint(0F, -5F, -20F);
        tooth2n.setTextureSize(64, 32);
        tooth2n.mirror = true;
        setRotation(tooth2n, 0.7853982F, 0F, 0F);
        tooth1o = new ModelRenderer(this, 250, 0);
        tooth1o.addBox(-3.9F, -8.5F, -1.3F, 1, 1, 1);
        tooth1o.setRotationPoint(0F, -5F, -20F);
        tooth1o.setTextureSize(64, 32);
        tooth1o.mirror = true;
        setRotation(tooth1o, 0.7853982F, 0F, 0F);
        tooth2o = new ModelRenderer(this, 250, 0);
        tooth2o.addBox(2.9F, -8.5F, -1.3F, 1, 1, 1);
        tooth2o.setRotationPoint(0F, -5F, -20F);
        tooth2o.setTextureSize(64, 32);
        tooth2o.mirror = true;
        setRotation(tooth2o, 0.7853982F, 0F, 0F);

    }

    @Override
    public void setRotation(ModelRenderer model, float x, float y, float z) {

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

    }

    // f & f1 are some type of limb movement factors

    @Override
    public void setRotationAngles(float limb_angle, float limb_progress, float f2, float f3, float f4, float f5,
            Entity entity) {
        //           super.setRotationAngles(limb_angle, limb_progress, f2, f3, f4, f5, entity);
        //           
        //           // Handle Walking Animation
        //           float limb_angle_multiplier = 0.6662F;  // 0.6662F Original
        //           float limb_rotation_multiplier = 0.7F;  // 1.4F Original
        //                  
        //           leftleg.rotateAngleX = MathHelper.cos(limb_angle * limb_angle_multiplier) * limb_rotation_multiplier * limb_progress;
        //           rightleg.rotateAngleX = MathHelper.cos(limb_angle * limb_angle_multiplier + (float)Math.PI) * limb_rotation_multiplier * limb_progress;
        //          
        //           // Handle Tail Wag Animation
        //           tail_angleY = tail_angleY  + tail_angleY_incriment * tail_angleY_direction;
        //           if (tail_angleY >= tail_angleY_limit) tail_angleY_direction = -1;
        //           if (tail_angleY <= (-tail_angleY_limit)) tail_angleY_direction = 1;
        //           
        //           // Handle Jaw
        ////           MyEntityRaptor raptor = (MyEntityRaptor) entity;
        ////           float jaw_position = raptor.jaw_position();
        //           //if (jaw_position > 0) System.out.println("Jaw of " + jaw_position);
        //           
        //           //System.out.println("tail_angleY = " + tail_angleY);
        //           
        //           
        //           // Head        
        //           headb.rotateAngleX = head.rotateAngleX;
        //           headb.rotateAngleY = head.rotateAngleY;
        //           headb.rotateAngleZ = head.rotateAngleZ;
        //           
        //           // Upper Jaw
        //           headuppera.rotateAngleX = head.rotateAngleX;
        //           headuppera.rotateAngleY = head.rotateAngleY;
        //           headuppera.rotateAngleZ = head.rotateAngleZ;
        //           
        //           headupperb.rotateAngleX = headuppera.rotateAngleX;
        //           headupperb.rotateAngleY = headuppera.rotateAngleY;
        //           headupperb.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1i.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1i.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1i.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2i.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2i.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2i.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1j.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1j.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1j.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2j.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2j.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2j.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1k.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1k.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1k.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2k.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2k.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2k.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1l.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1l.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1l.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2l.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2l.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2l.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1m.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1m.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1m.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2m.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2m.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2m.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1n.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1n.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1n.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2n.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2n.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2n.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth1o.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth1o.rotateAngleY = headuppera.rotateAngleY;
        //           tooth1o.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           tooth2o.rotateAngleX = headuppera.rotateAngleX + 0.7853982F;
        //           tooth2o.rotateAngleY = headuppera.rotateAngleY;
        //           tooth2o.rotateAngleZ = headuppera.rotateAngleZ;
        //           
        //           // Lower Jaw        
        //           headlowera.rotateAngleX = head.rotateAngleX + 0.1919862F; // - jaw_position;
        //           headlowera.rotateAngleY = head.rotateAngleY;
        //           headlowera.rotateAngleZ = head.rotateAngleZ;
        //           
        //           headlowerb.rotateAngleX = headlowera.rotateAngleX;
        //           headlowerb.rotateAngleY = headlowera.rotateAngleY;
        //           headlowerb.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tongue.rotateAngleX = headlowera.rotateAngleX;
        //           tongue.rotateAngleY = headlowera.rotateAngleY;
        //           tongue.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1a.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1a.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1a.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2a.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2a.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2a.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1b.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1b.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1b.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2b.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2b.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2b.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1c.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1c.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1c.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2c.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2c.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2c.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1d.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1d.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1d.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2d.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2d.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2d.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1e.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1e.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1e.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2e.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2e.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2e.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1f.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1f.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1f.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2f.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2f.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2f.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1g.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1g.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1g.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2g.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2g.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2g.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth1h.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth1h.rotateAngleY = headlowera.rotateAngleY;
        //           tooth1h.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           tooth2h.rotateAngleX = headlowera.rotateAngleX + (0.9075712F - 0.1919862F);
        //           tooth2h.rotateAngleY = headlowera.rotateAngleY;
        //           tooth2h.rotateAngleZ = headlowera.rotateAngleZ;
        //           
        //           // Handle Body
        //           neck.rotateAngleX = body.rotateAngleX + (0.4363323F - 1.308997F);
        //           neck.rotateAngleY = body.rotateAngleY;
        //           neck.rotateAngleZ = body.rotateAngleZ;
        //           
        //           taila.rotateAngleX = body.rotateAngleX + (1.500983F - 1.308997F);
        //           taila.rotateAngleY = body.rotateAngleY + tail_angleY;
        //           taila.rotateAngleZ = body.rotateAngleZ;
        //           
        //           tailb.rotateAngleX = taila.rotateAngleX;
        //           tailb.rotateAngleY = taila.rotateAngleY + tail_angleY * (1 + 1 * tail_angleY_growth);
        //           tailb.rotateAngleZ = taila.rotateAngleZ;
        //           
        //           tailc.rotateAngleX = taila.rotateAngleX;
        //           tailc.rotateAngleY = taila.rotateAngleY + tail_angleY * (1 + 2 * tail_angleY_growth);
        //           tailc.rotateAngleZ = taila.rotateAngleZ;
        //           
        //           taild.rotateAngleX = taila.rotateAngleX;
        //           taild.rotateAngleY = taila.rotateAngleY + tail_angleY * (1 + 3 * tail_angleY_growth);
        //           taild.rotateAngleZ = taila.rotateAngleZ;
        //           
        //           taile.rotateAngleX = taila.rotateAngleX;
        //           taile.rotateAngleY = taila.rotateAngleY + tail_angleY * (1 + 4 * tail_angleY_growth);
        //           taile.rotateAngleZ = taila.rotateAngleZ;
        //           
        //           // Handle Left arm
        //           lefthanda.rotateAngleX = leftarm.rotateAngleX + (-0.7853982F - (-0.7853982F));
        //           lefthanda.rotateAngleY = leftarm.rotateAngleY + 0.2792527F;
        //           lefthanda.rotateAngleZ = leftarm.rotateAngleZ;
        //           
        //           lefthandb.rotateAngleX = leftarm.rotateAngleX + (-0.7853982F - (-0.7853982F));
        //           lefthandb.rotateAngleY = leftarm.rotateAngleY + (-0.2792527F);
        //           lefthandb.rotateAngleZ = leftarm.rotateAngleZ;
        //           
        //           // Handle right arm
        //           righthanda.rotateAngleX = rightarm.rotateAngleX + (-0.7853982F - (-0.7853982F));
        //           righthanda.rotateAngleY = rightarm.rotateAngleY + (-0.2792527F);
        //           righthanda.rotateAngleZ = rightarm.rotateAngleZ;
        //           
        //           righthandb.rotateAngleX = rightarm.rotateAngleX + (-0.7853982F - (-0.7853982F));;
        //           righthandb.rotateAngleY = rightarm.rotateAngleY + 0.2792527F;
        //           righthandb.rotateAngleZ = rightarm.rotateAngleZ;
        //           
        //           // Handle Left leg
        //           leftlegb.rotateAngleX = leftleg.rotateAngleX + 1.134464F;
        //           leftlegb.rotateAngleY = leftleg.rotateAngleY;
        //           leftlegb.rotateAngleZ = leftleg.rotateAngleZ;
        //           
        //           leftlegc.rotateAngleX = leftleg.rotateAngleX + (-0.4363323F);
        //           leftlegc.rotateAngleY = leftleg.rotateAngleY;
        //           leftlegc.rotateAngleZ = leftleg.rotateAngleZ;
        //           
        //           leftfoot.rotateAngleX = leftleg.rotateAngleX;
        //           leftfoot.rotateAngleY = leftleg.rotateAngleY;
        //           leftfoot.rotateAngleZ = leftleg.rotateAngleZ;
        //           
        //           leftfoottoe1a.rotateAngleX = leftfoot.rotateAngleX;
        //           leftfoottoe1a.rotateAngleY = leftfoot.rotateAngleY;
        //           leftfoottoe1a.rotateAngleZ = leftfoot.rotateAngleZ;
        //           
        //           leftfoottoe2a.rotateAngleX = leftfoot.rotateAngleX;
        //           leftfoottoe2a.rotateAngleY = leftfoot.rotateAngleY;
        //           leftfoottoe2a.rotateAngleZ = leftfoot.rotateAngleZ;
        //           
        //           leftfoottoe1b.rotateAngleX = leftfoot.rotateAngleX;
        //           leftfoottoe1b.rotateAngleY = leftfoot.rotateAngleY;
        //           leftfoottoe1b.rotateAngleZ = leftfoot.rotateAngleZ;
        //           
        //           leftfoottoe2b.rotateAngleX = leftfoot.rotateAngleX;
        //           leftfoottoe2b.rotateAngleY = leftfoot.rotateAngleY;
        //           leftfoottoe2b.rotateAngleZ = leftfoot.rotateAngleZ;
        //           
        //           // Handle Right leg
        //           rightlegb.rotateAngleX = rightleg.rotateAngleX + 1.134464F;
        //           rightlegb.rotateAngleY = rightleg.rotateAngleY;
        //           rightlegb.rotateAngleZ = rightleg.rotateAngleZ;
        //           
        //           rightlegc.rotateAngleX = rightleg.rotateAngleX + (-0.4363323F);
        //           rightlegc.rotateAngleY = rightleg.rotateAngleY;
        //           rightlegc.rotateAngleZ = rightleg.rotateAngleZ;
        //           
        //           rightfoot.rotateAngleX = rightleg.rotateAngleX;
        //           rightfoot.rotateAngleY = rightleg.rotateAngleY;
        //           rightfoot.rotateAngleZ = rightleg.rotateAngleZ;
        //           
        //           rightfoottoe1a.rotateAngleX = rightfoot.rotateAngleX;
        //           rightfoottoe1a.rotateAngleY = rightfoot.rotateAngleY;
        //           rightfoottoe1a.rotateAngleZ = rightfoot.rotateAngleZ;
        //           
        //           rightfoottoe2a.rotateAngleX = rightfoot.rotateAngleX;
        //           rightfoottoe2a.rotateAngleY = rightfoot.rotateAngleY;
        //           rightfoottoe2a.rotateAngleZ = rightfoot.rotateAngleZ;
        //           
        //           rightfoottoe1b.rotateAngleX = rightfoot.rotateAngleX;
        //           rightfoottoe1b.rotateAngleY = rightfoot.rotateAngleY;
        //           rightfoottoe1b.rotateAngleZ = rightfoot.rotateAngleZ;
        //           
        //           rightfoottoe2b.rotateAngleX = rightfoot.rotateAngleX;
        //           rightfoottoe2b.rotateAngleY = rightfoot.rotateAngleY;
        //           rightfoottoe2b.rotateAngleZ = rightfoot.rotateAngleZ;
        //           
    }

    @Override
    public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) {

        // Set Rotation
        this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity);

        // Initiate Matrix
        GL11.glPushMatrix();

        // Set Scale
        GL11.glScalef(1.0F / shrink_factor, 1.0F / shrink_factor, 1.0F / shrink_factor);
        GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F);

        this.head.render(par7);
        this.headb.render(par7);
        this.headuppera.render(par7);
        this.headupperb.render(par7);
        this.tongue.render(par7);

        this.tooth1a.render(par7);
        this.tooth2a.render(par7);
        this.tooth1b.render(par7);
        this.tooth2b.render(par7);
        this.tooth1c.render(par7);
        this.tooth2c.render(par7);
        this.tooth1d.render(par7);
        this.tooth2d.render(par7);
        this.tooth1e.render(par7);
        this.tooth2e.render(par7);
        this.tooth1f.render(par7);
        this.tooth2f.render(par7);
        this.tooth1g.render(par7);
        this.tooth2g.render(par7);
        this.tooth1h.render(par7);
        this.tooth2h.render(par7);
        this.tooth1i.render(par7);
        this.tooth2i.render(par7);
        this.tooth1j.render(par7);
        this.tooth2j.render(par7);
        this.tooth1k.render(par7);
        this.tooth2k.render(par7);
        this.tooth1l.render(par7);
        this.tooth2l.render(par7);
        this.tooth1m.render(par7);
        this.tooth2m.render(par7);
        this.tooth1n.render(par7);
        this.tooth2n.render(par7);
        this.tooth1o.render(par7);
        this.tooth2o.render(par7);

        // Set Scale
        GL11.glScalef(0.995F, 1.0F, 1.0F);

        this.headlowera.render(par7);
        this.headlowerb.render(par7);

        GL11.glScalef(1 / 0.995F, 1.0F, 1.0F);

        this.body.render(par7);
        //this.neck.render(par7);
        this.taila.render(par7);
        this.tailb.render(par7);
        this.tailc.render(par7);
        this.taild.render(par7);
        this.taile.render(par7);

        this.leftarm.render(par7);
        this.lefthanda.render(par7);
        this.lefthandb.render(par7);

        this.rightarm.render(par7);
        this.righthanda.render(par7);
        this.righthandb.render(par7);

        this.leftleg.render(par7);
        //this.leftlegb.render(par7);
        this.leftlegc.render(par7);
        this.leftfoot.render(par7);
        this.leftfoottoe1a.render(par7);
        this.leftfoottoe2a.render(par7);
        this.leftfoottoe1b.render(par7);
        this.leftfoottoe2b.render(par7);

        this.rightleg.render(par7);
        //this.rightlegb.render(par7);
        this.rightlegc.render(par7);
        this.rightfoot.render(par7);
        this.rightfoottoe1a.render(par7);
        this.rightfoottoe2a.render(par7);
        this.rightfoottoe1b.render(par7);
        this.rightfoottoe2b.render(par7);

        // Handle Smaller Parts

        // Set Scale
        GL11.glScalef(0.995F, 1.0F, 1.0F);

        this.neck.render(par7);
        this.leftlegb.render(par7);
        this.rightlegb.render(par7);
        this.headlowerb.render(par7);

        // Finish Matrix
        GL11.glPopMatrix();

    }

}