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 ModelEngTanningRack extends ModelBase { //fields ModelRenderer side2; ModelRenderer side1; ModelRenderer Blade2; ModelRenderer Top; ModelRenderer Base; ModelRenderer Blade; ModelRenderer Lever; ModelRenderer pivot; public ModelEngTanningRack() { textureWidth = 64; textureHeight = 32; side2 = new ModelRenderer(this, 50, 0); side2.addBox(6F, 5F, -2.5F, 2, 17, 5); side2.setRotationPoint(0F, 0F, 0F); side2.setTextureSize(64, 32); setRotation(side2, 0F, 0F, 0F); side1 = new ModelRenderer(this, 50, 0); side1.addBox(-8F, 5F, -2.5F, 2, 17, 5); side1.setRotationPoint(0F, 0F, 0F); side1.setTextureSize(64, 32); setRotation(side1, 0F, 0F, 0F); Blade2 = new ModelRenderer(this, 26, 28); Blade2.addBox(-6F, 1F, -0.5F, 12, 3, 1); Blade2.setRotationPoint(0F, 4F, 1F); Blade2.setTextureSize(64, 32); setRotation(Blade2, -0.2443461F, 0F, 0F); Top = new ModelRenderer(this, 0, 28); Top.addBox(-6F, 5F, -0.5F, 12, 3, 1); Top.setRotationPoint(0F, 0F, 0F); Top.setTextureSize(64, 32); setRotation(Top, 0F, 0F, 0F); Base = new ModelRenderer(this, 0, 0); Base.addBox(-8F, 22F, -3.5F, 16, 2, 6); Base.setRotationPoint(0F, 0F, 0F); Base.setTextureSize(64, 32); setRotation(Base, 0F, 0F, 0F); Blade = new ModelRenderer(this, 26, 28); Blade.addBox(-6F, 1F, -0.5F, 12, 3, 1); Blade.setRotationPoint(0F, 4F, -1F); Blade.setTextureSize(64, 32); setRotation(Blade, 0.2443461F, 0F, 0F); Lever = new ModelRenderer(this, 0, 8); Lever.addBox(-1F, 1F, -0.5F, 1, 10, 1); Lever.setRotationPoint(5F, 5F, 0F); Lever.setTextureSize(64, 32); setRotation(Lever, 0F, 0F, 1.570796F); pivot = new ModelRenderer(this, 4, 8); pivot.addBox(-1.5F, -1F, -1F, 2, 2, 2); pivot.setRotationPoint(5F, 5F, 0F); pivot.setTextureSize(64, 32); setRotation(pivot, 0F, 0F, 1.570796F); } 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); } public void renderModel(float f5) { Base.render(f5); Top.render(f5); side1.render(f5); side2.render(f5); } public void renderBlade(float f5) { Blade.render(f5); Blade2.render(f5); } public void rotateLever(float animation) { pivot.rotateAngleX = Lever.rotateAngleX = (float) Math.toRadians(animation*45F); } public void renderLever(float f5) { pivot.render(f5); Lever.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } }