package WayofTime.alchemicalWizardry.common.renderer.model; import WayofTime.alchemicalWizardry.common.entity.mob.EntityLowerGuardian; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; public class ModelLowerGuardian extends ModelBase { //fields ModelRenderer Body; ModelRenderer Torso; ModelRenderer Head; ModelRenderer leftArm; ModelRenderer rightArm; ModelRenderer leftLeg; ModelRenderer leftFoot; ModelRenderer rightLeg; ModelRenderer rightFoot; ModelRenderer leftHorn; ModelRenderer hornAppendage1; ModelRenderer hornAppendage2; ModelRenderer rightHorn; ModelRenderer hornAppendage3; ModelRenderer hornAppendage4; public ModelLowerGuardian() { textureWidth = 64; textureHeight = 64; Body = new ModelRenderer(this, 0, 0); Body.addBox(-8F, -7F, -4F, 16, 14, 8); Body.setRotationPoint(0F, -3F, 0F); Body.setTextureSize(64, 64); Body.mirror = true; setRotation(Body, 0F, 0F, 0F); Torso = new ModelRenderer(this, 0, 25); Torso.addBox(-4F, 0F, -3F, 8, 4, 6); Torso.setRotationPoint(0F, 4F, 0F); Torso.setTextureSize(64, 64); Torso.mirror = true; setRotation(Torso, 0F, 0F, 0F); Head = new ModelRenderer(this, 29, 25); Head.addBox(-4F, -8F, -4F, 8, 8, 8); Head.setRotationPoint(0F, -10F, 0F); Head.setTextureSize(64, 64); Head.mirror = true; setRotation(Head, 0F, 0F, 0F); leftArm = new ModelRenderer(this, 17, 42); leftArm.addBox(0F, -2F, -2F, 4, 18, 4); leftArm.setRotationPoint(8F, -8F, 0F); leftArm.setTextureSize(64, 64); leftArm.mirror = true; setRotation(leftArm, 0F, 0F, 0F); rightArm = new ModelRenderer(this, 17, 42); rightArm.mirror = true; rightArm.addBox(-4F, -2F, -2F, 4, 18, 4); rightArm.setRotationPoint(-8F, -8F, 0F); rightArm.setTextureSize(64, 64); rightArm.mirror = true; setRotation(rightArm, 0F, 0F, 0F); rightArm.mirror = false; leftLeg = new ModelRenderer(this, 0, 42); leftLeg.addBox(0F, -2F, -2F, 4, 17, 4); leftLeg.setRotationPoint(4F, 6F, 0F); leftLeg.setTextureSize(64, 64); leftLeg.mirror = true; setRotation(leftLeg, 0F, 0F, 0F); leftFoot = new ModelRenderer(this, 34, 42); leftFoot.addBox(0F, 15F, -6F, 4, 3, 8); leftFoot.setRotationPoint(4F, 6F, 0F); leftFoot.setTextureSize(64, 64); leftFoot.mirror = true; setRotation(leftFoot, 0F, 0F, 0F); rightLeg = new ModelRenderer(this, 0, 42); rightLeg.mirror = true; rightLeg.addBox(-4F, -2F, -2F, 4, 17, 4); rightLeg.setRotationPoint(-4F, 6F, 0F); rightLeg.setTextureSize(64, 64); rightLeg.mirror = true; setRotation(rightLeg, 0F, 0F, 0F); rightLeg.mirror = false; rightFoot = new ModelRenderer(this, 34, 42); rightFoot.mirror = true; rightFoot.addBox(-4F, 15F, -6F, 4, 3, 8); rightFoot.setRotationPoint(-4F, 6F, 0F); rightFoot.setTextureSize(64, 64); rightFoot.mirror = true; setRotation(rightFoot, 0F, 0F, 0F); rightFoot.mirror = false; leftHorn = new ModelRenderer(this, 0, 0); leftHorn.addBox(4F, -11F, 0F, 1, 6, 1); leftHorn.setRotationPoint(0F, -10F, 0F); leftHorn.setTextureSize(64, 64); leftHorn.mirror = true; setRotation(leftHorn, 0F, 0F, 0F); hornAppendage1 = new ModelRenderer(this, 0, 0); hornAppendage1.addBox(4F, -7F, -1F, 1, 1, 1); hornAppendage1.setRotationPoint(0F, -10F, 0F); hornAppendage1.setTextureSize(64, 64); hornAppendage1.mirror = true; setRotation(hornAppendage1, 0F, 0F, 0F); hornAppendage2 = new ModelRenderer(this, 0, 0); hornAppendage2.addBox(4F, -6F, 1F, 1, 1, 1); hornAppendage2.setRotationPoint(0F, -10F, 0F); hornAppendage2.setTextureSize(64, 64); hornAppendage2.mirror = true; setRotation(hornAppendage2, 0F, 0F, 0F); rightHorn = new ModelRenderer(this, 0, 0); rightHorn.mirror = true; rightHorn.addBox(-5F, -11F, 0F, 1, 6, 1); rightHorn.setRotationPoint(0F, -10F, 0F); rightHorn.setTextureSize(64, 64); rightHorn.mirror = true; setRotation(rightHorn, 0F, 0F, 0F); rightHorn.mirror = false; hornAppendage3 = new ModelRenderer(this, 0, 0); hornAppendage3.mirror = true; hornAppendage3.addBox(-5F, -7F, -1F, 1, 1, 1); hornAppendage3.setRotationPoint(0F, -10F, 0F); hornAppendage3.setTextureSize(64, 64); hornAppendage3.mirror = true; setRotation(hornAppendage3, 0F, 0F, 0F); hornAppendage3.mirror = false; hornAppendage4 = new ModelRenderer(this, 0, 0); hornAppendage4.mirror = true; hornAppendage4.addBox(-5F, -6F, 1F, 1, 1, 1); hornAppendage4.setRotationPoint(0F, -10F, 0F); hornAppendage4.setTextureSize(64, 64); hornAppendage4.mirror = true; setRotation(hornAppendage4, 0F, 0F, 0F); hornAppendage4.mirror = false; } 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); Body.render(f5); Torso.render(f5); Head.render(f5); leftArm.render(f5); rightArm.render(f5); leftLeg.render(f5); leftFoot.render(f5); rightLeg.render(f5); rightFoot.render(f5); leftHorn.render(f5); hornAppendage1.render(f5); hornAppendage2.render(f5); rightHorn.render(f5); hornAppendage3.render(f5); hornAppendage4.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setLivingAnimations(EntityLivingBase par1EntityLivingBase, float par2, float par3, float par4) { EntityLowerGuardian entityLowerGuardian = (EntityLowerGuardian) par1EntityLivingBase; int i = entityLowerGuardian.getAttackTimer(); if (i > 0) { this.rightLeg.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float) i - par4, 10.0F); this.rightFoot.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float) i - par4, 10.0F); //this.ironGolemLeftArm.rotateAngleX = -2.0F + 1.5F * this.func_78172_a((float)i - par4, 10.0F); } } private float func_78172_a(float par1, float par2) { return (Math.abs(par1 % par2 - par2 * 0.5F) - par2 * 0.25F) / (par2 * 0.25F); } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.Head.rotateAngleX = f4 / (180F / (float) Math.PI); this.Head.rotateAngleY = f3 / (180F / (float) Math.PI); this.leftLeg.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; this.rightLeg.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; this.leftFoot.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; this.rightFoot.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; this.rightArm.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1; this.leftArm.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1; this.hornAppendage1.rotateAngleX = this.Head.rotateAngleX; this.hornAppendage1.rotateAngleY = this.Head.rotateAngleY; this.hornAppendage2.rotateAngleX = this.Head.rotateAngleX; this.hornAppendage2.rotateAngleY = this.Head.rotateAngleY; this.hornAppendage3.rotateAngleX = this.Head.rotateAngleX; this.hornAppendage3.rotateAngleY = this.Head.rotateAngleY; this.hornAppendage4.rotateAngleX = this.Head.rotateAngleX; this.hornAppendage4.rotateAngleY = this.Head.rotateAngleY; this.leftHorn.rotateAngleX = this.Head.rotateAngleX; this.leftHorn.rotateAngleY = this.Head.rotateAngleY; this.rightHorn.rotateAngleX = this.Head.rotateAngleX; this.rightHorn.rotateAngleY = this.Head.rotateAngleY; } }