package minefantasy.mf2.client.render.block; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; /** * * @author Anonymous Productions * * Sources are provided for educational reasons. * though small bits of code, or methods can be used in your own creations. */ public class ModelBombPress extends ModelBase { ModelRenderer frame3; ModelRenderer socket; ModelRenderer frame2; ModelRenderer Leg2; ModelRenderer frame4; ModelRenderer handle; ModelRenderer frame1; ModelRenderer body; ModelRenderer Leg1; ModelRenderer Lever; public ModelBombPress() { textureWidth = 64; textureHeight = 32; frame4 = new ModelRenderer(this, 0, 0); frame4.addBox(-8F, 2F, 7F, 16, 2, 1); frame4.setRotationPoint(0F, 0F, 0F); frame4.setTextureSize(64, 32); setRotation(frame4, 0F, 1.570796F, 0F); socket = new ModelRenderer(this, 0, 21); socket.addBox(-1F, 5F, -1F, 2, 3, 2); socket.setRotationPoint(0F, 0F, 0F); socket.setTextureSize(64, 32); setRotation(socket, 0F, 0F, 0F); frame2 = new ModelRenderer(this, 0, 0); frame2.addBox(-8F, 0F, -6F, 16, 2, 1); frame2.setRotationPoint(0F, 0F, 0F); frame2.setTextureSize(64, 32); setRotation(frame2, 0F, 0F, 0F); Leg2 = new ModelRenderer(this, 0, 3); Leg2.addBox(-7F, 2F, 3F, 3, 14, 4); Leg2.setRotationPoint(0F, 0F, 0F); Leg2.setTextureSize(64, 32); setRotation(Leg2, 0F, 0F, 0F); frame3 = new ModelRenderer(this, 0, 0); frame3.addBox(-8F, 2F, -8F, 16, 2, 1); frame3.setRotationPoint(0F, 0F, 0F); frame3.setTextureSize(64, 32); setRotation(frame3, 0F, 1.570796F, 0F); handle = new ModelRenderer(this, 32, 16); handle.addBox(-0.5F, 9.5F, -1.5F, 2, 3, 2); handle.setRotationPoint(7F, 3F, 6F); handle.setTextureSize(64, 32); setRotation(handle, -1.308997F, 0F, 0F); frame1 = new ModelRenderer(this, 0, 0); frame1.addBox(-8F, 0F, 5F, 16, 2, 1); frame1.setRotationPoint(0F, 0F, 0F); frame1.setTextureSize(64, 32); setRotation(frame1, 0F, 0F, 0F); body = new ModelRenderer(this, 14, 3); body.addBox(-2F, -5F, -5F, 4, 10, 5); body.setRotationPoint(0F, 0F, 0F); body.setTextureSize(64, 32); setRotation(body, 1.570796F, 0F, 0F); Leg1 = new ModelRenderer(this, 0, 3); Leg1.addBox(4F, 2F, 3F, 3, 14, 4); Leg1.setRotationPoint(0F, 0F, 0F); Leg1.setTextureSize(64, 32); setRotation(Leg1, 0F, 0F, 0F); Leg1.mirror = false; Lever = new ModelRenderer(this, 32, 3); Lever.addBox(0F, 0F, -1F, 1, 12, 1); Lever.setRotationPoint(7F, 3F, 6F); Lever.setTextureSize(64, 32); setRotation(Lever, -1.308997F, 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); renderModel(f5, 0F); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void renderModel(float f, float f2) { Lever.rotateAngleX = handle.rotateAngleX = -0.75F + (0.55F*f2); frame1.rotationPointY = frame2.rotationPointY = frame3.rotationPointY = frame4.rotationPointY = socket.rotationPointY = body.rotationPointY = (12F*f2); frame3.render(f); socket.render(f); frame2.render(f); Leg2.render(f); frame4.render(f); handle.render(f); frame1.render(f); body.render(f); Leg1.render(f); Lever.render(f); } }