package net.tropicraft.client.entity.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.util.MathHelper;
public class ModelKoaMan extends ModelBase {
public ModelRenderer bipedHead;
public ModelRenderer bipedBody;
public ModelRenderer bipedRightArm;
public ModelRenderer bipedLeftArm;
public ModelRenderer bipedRightLeg;
public ModelRenderer bipedLeftLeg;
public ModelRenderer headband;
public ModelRenderer armband1;
public ModelRenderer leaf;
public ModelRenderer leaf3;
public ModelRenderer leaf2;
public ModelRenderer leaf4;
public ModelRenderer leaf5;
public ModelRenderer leaf6;
public ModelRenderer leaf7;
public ModelRenderer leaf8;
public ModelRenderer leaf9;
public ModelRenderer leaf10;
public ModelRenderer armband11;
public ModelKoaMan() {
//textureWidth = 64;
//textureHeight = 32;
bipedHead = new ModelRenderer(this, 0, 2);
bipedHead.addBox(-4F, -8F, -4F, 8, 8, 8);
bipedHead.setRotationPoint(0F, 0F, 0F);
bipedHead.setTextureSize(64, 32);
bipedHead.mirror = true;
setRotation(bipedHead, 0F, 0F, 0F);
bipedBody = new ModelRenderer(this, 16, 16);
bipedBody.addBox(-4F, 0F, -2F, 8, 12, 4);
bipedBody.setRotationPoint(0F, 0F, 0F);
bipedBody.setTextureSize(64, 32);
bipedBody.mirror = true;
setRotation(bipedBody, 0F, 0F, 0F);
bipedRightArm = new ModelRenderer(this, 40, 16);
bipedRightArm.addBox(-2F, -2F, -2F, 3, 12, 4);
bipedRightArm.setRotationPoint(-4F, 3F, 0F);
bipedRightArm.setTextureSize(64, 32);
bipedRightArm.mirror = true;
setRotation(bipedRightArm, 0F, 0F, 0F);
bipedLeftArm = new ModelRenderer(this, 40, 16);
bipedLeftArm.addBox(-1F, -2F, -2F, 3, 12, 4);
bipedLeftArm.setRotationPoint(5F, 3F, 0F);
bipedLeftArm.setTextureSize(64, 32);
bipedLeftArm.mirror = true; //hey baby whats shakin //bacon :D /me wants bacon mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
setRotation(bipedLeftArm, 0F, 0F, 0F);
bipedRightLeg = new ModelRenderer(this, 0, 16);
bipedRightLeg.addBox(-2F, 0F, -2F, 4, 12, 4);
bipedRightLeg.setRotationPoint(-2F, 12F, 0F);
bipedRightLeg.setTextureSize(64, 32);
bipedRightLeg.mirror = true;
setRotation(bipedRightLeg, 0F, 0F, 0F);
bipedLeftLeg = new ModelRenderer(this, 0, 16);
bipedLeftLeg.addBox(-2F, 0F, -2F, 4, 12, 4);
bipedLeftLeg.setRotationPoint(2F, 12F, 0F);
bipedLeftLeg.setTextureSize(64, 32);
bipedLeftLeg.mirror = true;
setRotation(bipedLeftLeg, 0F, 0F, 0F);
headband = new ModelRenderer(this, 24, 0);
headband.addBox(-5F, 0F, -5F, 10, 2, 10);
headband.setRotationPoint(0F, -7F, 0F); //0,-7,0 before
headband.setTextureSize(64, 32);
headband.mirror = true;
setRotation(headband, 0F, 0F, 0F);
armband1 = new ModelRenderer(this, 35, 5);
armband1.addBox(-2F, 0F, -3F, 4, 1, 6); //offset, dimensions
armband1.setRotationPoint(-6F, 3F, 0F); //position
armband1.setTextureSize(64, 32);
armband1.mirror = true;
setRotation(armband1, 0F, 0F, 0F);
leaf = new ModelRenderer(this, 0, 0);
leaf.addBox(0F, 0F, 0F, 1, 0, 1);
leaf.setRotationPoint(2F, -6F, -6F);
leaf.setTextureSize(64, 32);
leaf.mirror = true;
setRotation(leaf, 0F, 0F, 0F);
leaf3 = new ModelRenderer(this, 0, 0);
leaf3.addBox(0F, 0F, 0F, 1, 0, 1);
leaf3.setRotationPoint(-1F, -6F, -6F);
leaf3.setTextureSize(64, 32);
leaf3.mirror = true;
setRotation(leaf3, 0F, 0F, 0F);
leaf2 = new ModelRenderer(this, 0, 0);
leaf2.addBox(0F, 0F, 0F, 1, 0, 1);
leaf2.setRotationPoint(-4F, -6F, -6F);
leaf2.setTextureSize(64, 32);
leaf2.mirror = true;
setRotation(leaf2, 0F, 0F, 0F);
leaf4 = new ModelRenderer(this, 0, 0);
leaf4.addBox(0F, 0F, 0F, 1, 0, 1);
leaf4.setRotationPoint(0F, -7F, -6F);
leaf4.setTextureSize(64, 32);
leaf4.mirror = true;
setRotation(leaf4, 0F, 0F, 0F);
leaf5 = new ModelRenderer(this, 0, 0);
leaf5.addBox(0F, 0F, 0F, 1, 0, 1);
leaf5.setRotationPoint(5F, -6F, -1F);
leaf5.setTextureSize(64, 32);
leaf5.mirror = true;
setRotation(leaf5, 0F, 0F, 0F);
leaf6 = new ModelRenderer(this, 0, 0);
leaf6.addBox(0F, 0F, 0F, 1, 0, 1);
leaf6.setRotationPoint(5F, -6F, 3F);
leaf6.setTextureSize(64, 32);
leaf6.mirror = true;
setRotation(leaf6, 0F, 0F, 0F);
leaf7 = new ModelRenderer(this, 0, 0);
leaf7.addBox(0F, 0F, 0F, 1, 0, 1);
leaf7.setRotationPoint(-6F, -6F, 0F);
leaf7.setTextureSize(64, 32);
leaf7.mirror = true;
setRotation(leaf7, 0F, 0F, 0F);
leaf8 = new ModelRenderer(this, 0, 0);
leaf8.addBox(0F, 0F, 0F, 1, 0, 1);
leaf8.setRotationPoint(-6F, -6F, -4F);
leaf8.setTextureSize(64, 32);
leaf8.mirror = true;
setRotation(leaf8, 0F, 0F, 0F);
leaf9 = new ModelRenderer(this, 0, 0);
leaf9.addBox(0F, 0F, 0F, 1, 0, 1);
leaf9.setRotationPoint(-2F, -6F, 5F);
leaf9.setTextureSize(64, 32);
leaf9.mirror = true;
setRotation(leaf9, 0F, 0F, 0F);
leaf10 = new ModelRenderer(this, 0, 0);
leaf10.addBox(0F, 0F, 0F, 1, 0, 1);
leaf10.setRotationPoint(2F, -6F, 5F);
leaf10.setTextureSize(64, 32);
leaf10.mirror = true;
setRotation(leaf10, 0F, 0F, 0F);
armband11 = new ModelRenderer(this, 35, -1);
armband11.addBox(-2F, 0F, -3F, 4, 1, 6); //offset, dimensions
armband11.setRotationPoint(6F, 3F, 0F); //position
armband11.setTextureSize(64, 32);
armband11.mirror = true;
setRotation(armband11, 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);
bipedHead.render(f5);
bipedBody.render(f5);
bipedRightArm.render(f5);
bipedLeftArm.render(f5);
bipedRightLeg.render(f5);
bipedLeftLeg.render(f5);
headband.render(f5);
armband1.render(f5); //right arm :)
leaf.render(f5);
leaf3.render(f5);
leaf2.render(f5);
leaf4.render(f5);
leaf5.render(f5);
leaf6.render(f5);
leaf7.render(f5);
leaf8.render(f5);
leaf9.render(f5);
leaf10.render(f5);
armband11.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z) {
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
private void a(ModelRenderer a, ModelRenderer b) {
a.rotateAngleX = b.rotateAngleX;
a.rotateAngleY = b.rotateAngleY;
a.rotateAngleZ = b.rotateAngleZ;
}
@Override
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity ent) {
//super.setRotationAngles(f, f1, f2, f3, f4, f5);
bipedHead.rotateAngleY = f3 / 57.29578F;
bipedHead.rotateAngleX = f4 / 57.29578F;
a(headband, bipedHead);
leaf.rotateAngleX = leaf3.rotateAngleX = leaf2.rotateAngleX = leaf4.rotateAngleX = leaf5.rotateAngleX = leaf6.rotateAngleX = leaf7.rotateAngleX =
leaf8.rotateAngleX = leaf9.rotateAngleX = leaf10.rotateAngleX = headband.rotateAngleY = bipedHead.rotateAngleY;
leaf.rotateAngleY = leaf3.rotateAngleY = leaf2.rotateAngleY = leaf4.rotateAngleY = leaf5.rotateAngleY = leaf6.rotateAngleY = leaf7.rotateAngleY =
leaf8.rotateAngleY = leaf9.rotateAngleY = leaf10.rotateAngleY = headband.rotateAngleY = bipedHead.rotateAngleY;
leaf.rotateAngleZ = leaf3.rotateAngleZ = leaf2.rotateAngleZ = leaf4.rotateAngleZ = leaf5.rotateAngleZ = leaf6.rotateAngleZ = leaf7.rotateAngleZ =
leaf8.rotateAngleZ = leaf9.rotateAngleZ = leaf10.rotateAngleZ = headband.rotateAngleZ = bipedHead.rotateAngleZ;
//a(headband, bipedHead);
bipedRightArm.rotateAngleX = MathHelper.cos(f * 0.6662F + 3.141593F) * 2.0F * f1 * 0.5F;
bipedLeftArm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 2.0F * f1 * 0.5F;
bipedRightArm.rotateAngleZ = 0.0F;
bipedLeftArm.rotateAngleZ = 0.0F;
a(armband1, bipedRightArm);
bipedRightLeg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
bipedLeftLeg.rotateAngleX = MathHelper.cos(f * 0.6662F + 3.141593F) * 1.4F * f1;
bipedRightLeg.rotateAngleY = 0.0F;
bipedLeftLeg.rotateAngleY = 0.0F;
a(armband11, bipedLeftArm);
if (isRiding) {
bipedRightArm.rotateAngleX += -0.6283185F;
bipedLeftArm.rotateAngleX += -0.6283185F;
bipedRightLeg.rotateAngleX = -1.256637F;
bipedLeftLeg.rotateAngleX = -1.256637F;
bipedRightLeg.rotateAngleY = 0.3141593F;
bipedLeftLeg.rotateAngleY = -0.3141593F;
a(armband1, bipedRightArm);
a(armband11, bipedLeftArm);
}
bipedRightArm.rotateAngleY = 0.0F;
bipedLeftArm.rotateAngleY = 0.0F;
a(armband1, bipedRightArm);
a(armband11, bipedLeftArm);
if (onGround > -9990F) {
float f6 = onGround;
bipedBody.rotateAngleY = MathHelper.sin(MathHelper.sqrt_float(f6) * 3.141593F * 2.0F) * 0.2F;
bipedRightArm.rotationPointZ = MathHelper.sin(bipedBody.rotateAngleY) * 5F;
bipedRightArm.rotationPointX = -MathHelper.cos(bipedBody.rotateAngleY) * 5F;
a(armband1, bipedRightArm);
bipedLeftArm.rotationPointZ = -MathHelper.sin(bipedBody.rotateAngleY) * 5F;
bipedLeftArm.rotationPointX = MathHelper.cos(bipedBody.rotateAngleY) * 5F;
a(armband11, bipedLeftArm);
bipedRightArm.rotateAngleY += bipedBody.rotateAngleY;
a(armband1, bipedRightArm);
bipedLeftArm.rotateAngleY += bipedBody.rotateAngleY;
bipedLeftArm.rotateAngleX += bipedBody.rotateAngleY;
a(armband1, bipedRightArm);
a(armband11, bipedLeftArm);
f6 = 1.0F - onGround;
f6 *= f6;
f6 *= f6;
f6 = 1.0F - f6;
float f7 = MathHelper.sin(f6 * 3.141593F);
float f8 = MathHelper.sin(onGround * 3.141593F) * -(bipedHead.rotateAngleX - 0.7F) * 0.75F;
bipedRightArm.rotateAngleX -= (double) f7 * 1.2D + (double) f8;
bipedRightArm.rotateAngleY += bipedBody.rotateAngleY * 2.0F;
bipedRightArm.rotateAngleZ = MathHelper.sin(onGround * 3.141593F) * -0.4F;
a(armband1, bipedRightArm);
a(armband11, bipedLeftArm);
}
{
bipedBody.rotateAngleX = 0.0F;
bipedRightLeg.rotationPointZ = 0.0F;
bipedLeftLeg.rotationPointZ = 0.0F;
bipedRightLeg.rotationPointY = 12F;
bipedLeftLeg.rotationPointY = 12F;
bipedHead.rotationPointY = 0.0F;
a(headband, bipedHead);
float ffff = headband.rotationPointY;
leaf.rotationPointY = leaf3.rotationPointY = leaf2.rotationPointY = leaf4.rotationPointY = leaf5.rotationPointY = leaf6.rotationPointY = leaf7.rotationPointY =
leaf8.rotationPointY = leaf9.rotationPointY = leaf10.rotationPointY = headband.rotationPointY = bipedHead.rotationPointY + ffff;
}
bipedRightArm.rotateAngleZ += MathHelper.cos(f2 * 0.09F) * 0.05F + 0.05F;
bipedLeftArm.rotateAngleZ -= MathHelper.cos(f2 * 0.09F) * 0.05F + 0.05F;
bipedRightArm.rotateAngleX += MathHelper.sin(f2 * 0.067F) * 0.05F;
bipedLeftArm.rotateAngleX -= MathHelper.sin(f2 * 0.067F) * 0.05F;
a(armband1, bipedRightArm);
a(armband11, bipedLeftArm);
//a(headband, bipedHead);
}
}