package me.tyler15555.minibosses.client; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; public class ModelForestGuard extends ModelBase { ModelRenderer head; ModelRenderer leg3; ModelRenderer leg4; ModelRenderer leg1; ModelRenderer leg2; ModelRenderer trunk; ModelRenderer branchLeft; ModelRenderer branchRight; public ModelForestGuard() { textureWidth = 64; textureHeight = 32; head = new ModelRenderer(this, 0, 0); head.addBox(-4F, -8F, -4F, 8, 8, 8); head.setRotationPoint(0F, 6F, -13F); head.setTextureSize(64, 32); head.mirror = true; setRotation(head, 0F, 0F, 0F); leg3 = new ModelRenderer(this, 0, 16); leg3.addBox(-2F, 0F, -2F, 4, 6, 4); leg3.setRotationPoint(-2F, 18F, -4F); leg3.setTextureSize(64, 32); leg3.mirror = true; setRotation(leg3, 0F, 0F, 0F); leg4 = new ModelRenderer(this, 0, 16); leg4.addBox(-2F, 0F, -2F, 4, 6, 4); leg4.setRotationPoint(2F, 18F, -4F); leg4.setTextureSize(64, 32); leg4.mirror = true; setRotation(leg4, 0F, 0F, 0F); leg1 = new ModelRenderer(this, 0, 16); leg1.addBox(0F, 0F, -2F, 4, 6, 4); leg1.setRotationPoint(-4F, 18F, 4F); leg1.setTextureSize(64, 32); leg1.mirror = true; setRotation(leg1, 0F, 0F, 0F); leg2 = new ModelRenderer(this, 0, 16); leg2.addBox(-2F, 0F, -2F, 4, 6, 4); leg2.setRotationPoint(2F, 18F, 4F); leg2.setTextureSize(64, 32); leg2.mirror = true; setRotation(leg2, 0F, 0F, 0F); trunk = new ModelRenderer(this, 0, 0); trunk.addBox(0F, 0F, 0F, 8, 25, 7); trunk.setRotationPoint(-4F, -7F, -3F); trunk.setTextureSize(64, 32); trunk.mirror = true; setRotation(trunk, 0F, 0F, 0F); branchLeft = new ModelRenderer(this, 0, 0); branchLeft.addBox(0F, 0F, 0F, 3, 3, 11); branchLeft.setRotationPoint(-7F, 0F, -11F); branchLeft.setTextureSize(64, 32); branchLeft.mirror = true; setRotation(branchLeft, 0F, 0F, 0F); branchRight = new ModelRenderer(this, 0, 0); branchRight.addBox(0F, 0F, 0F, 3, 3, 11); branchRight.setRotationPoint(4F, 0F, -11F); branchRight.setTextureSize(64, 32); branchRight.mirror = true; setRotation(branchRight, 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); leg3.render(f5); leg4.render(f5); leg1.render(f5); leg2.render(f5); trunk.render(f5); branchLeft.render(f5); branchRight.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 time, float moveSpeed, float par3, float yaw, float pitch, float par6, Entity entity) { super.setRotationAngles(time, moveSpeed, par3, yaw, pitch, par6, entity); this.leg1.rotateAngleX = MathHelper.cos(time * 0.6662F) * 1.4F * moveSpeed; this.leg2.rotateAngleX = MathHelper.cos(time * 0.6662F + (float)Math.PI) * 1.4F * moveSpeed; this.leg3.rotateAngleX = MathHelper.cos(time * 0.6662F + (float)Math.PI) * 1.4F * moveSpeed; this.leg4.rotateAngleX = MathHelper.cos(time * 0.6662F) * 1.4F * moveSpeed; } }