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 ModelWoodCarpenter extends ModelBase
{
//fields
ModelRenderer top;
ModelRenderer FRleg;
ModelRenderer bottom;
ModelRenderer BRleg;
ModelRenderer BLleg;
ModelRenderer FLleg;
ModelRenderer plank2;
ModelRenderer hammerhandle;
ModelRenderer block;
ModelRenderer nail;
ModelRenderer vice;
ModelRenderer hammerhead;
ModelRenderer plank;
public ModelWoodCarpenter()
{
textureWidth = 64;
textureHeight = 64;
top = new ModelRenderer(this, 0, 0);
top.addBox(-8F, 4F, -8F, 16, 4, 16);
top.setRotationPoint(0F, 0F, 0F);
top.setTextureSize(64, 64);
top.mirror = true;
setRotation(top, 0F, 0F, 0F);
FRleg = new ModelRenderer(this, 0, 35);
FRleg.addBox(3F, 8F, -7F, 4, 12, 4);
FRleg.setRotationPoint(0F, 0F, 0F);
FRleg.setTextureSize(64, 64);
FRleg.mirror = true;
setRotation(FRleg, 0F, 0F, 0F);
bottom = new ModelRenderer(this, 0, 20);
bottom.addBox(-6.5F, 14F, -6.5F, 13, 2, 13);
bottom.setRotationPoint(0F, 0F, 0F);
bottom.setTextureSize(64, 64);
bottom.mirror = true;
setRotation(bottom, 0F, 0F, 0F);
BRleg = new ModelRenderer(this, 0, 35);
BRleg.addBox(3F, 8F, 3F, 4, 12, 4);
BRleg.setRotationPoint(0F, 0F, 0F);
BRleg.setTextureSize(64, 64);
BRleg.mirror = true;
setRotation(BRleg, 0F, 0F, 0F);
BLleg = new ModelRenderer(this, 0, 35);
BLleg.addBox(-7F, 8F, 3F, 4, 12, 4);
BLleg.setRotationPoint(0F, 0F, 0F);
BLleg.setTextureSize(64, 64);
BLleg.mirror = true;
setRotation(BLleg, 0F, 0F, 0F);
FLleg = new ModelRenderer(this, 0, 35);
FLleg.addBox(-7F, 8F, -7F, 4, 12, 4);
FLleg.setRotationPoint(0F, 0F, 0F);
FLleg.setTextureSize(64, 64);
FLleg.mirror = true;
setRotation(FLleg, 0F, 0F, 0F);
plank2 = new ModelRenderer(this, 0, 51);
plank2.addBox(-5F, -1F, -1F, 10, 1, 2);
plank2.setRotationPoint(2F, 4F, 6F);
plank2.setTextureSize(64, 64);
plank2.mirror = true;
setRotation(plank2, 0F, -0.0698132F, 0F);
hammerhandle = new ModelRenderer(this, 5, 51);
hammerhandle.addBox(-3F, 0F, 0F, 6, 1, 1);
hammerhandle.setRotationPoint(-2F, 13F, -2F);
hammerhandle.setTextureSize(64, 64);
hammerhandle.mirror = true;
setRotation(hammerhandle, 0F, 1.570796F, 0F);
block = new ModelRenderer(this, 0, 0);
block.addBox(-2F, -2F, -2F, 4, 4, 4);
block.setRotationPoint(0F, 2F, 0F);
block.setTextureSize(64, 64);
block.mirror = true;
setRotation(block, 0F, -0.0523599F, 0F);
nail = new ModelRenderer(this, 0, 8);
nail.addBox(0F, -2F, 0F, 1, 3, 1);
nail.setRotationPoint(0F, 0F, 0F);
nail.setTextureSize(64, 64);
nail.mirror = true;
setRotation(nail, 0F, 0F, 0F);
vice = new ModelRenderer(this, 4, 11);
vice.addBox(-2F, -1F, -1F, 4, 3, 2);
vice.setRotationPoint(5F, 4F, -8F);
vice.setTextureSize(64, 64);
vice.mirror = true;
setRotation(vice, 0F, 0F, 0F);
hammerhead = new ModelRenderer(this, 4, 12);
hammerhead.addBox(-1F, -1F, -1F, 3, 2, 2);
hammerhead.setRotationPoint(-2F, 13F, 2F);
hammerhead.setTextureSize(64, 64);
hammerhead.mirror = true;
setRotation(hammerhead, 0F, 0F, 0F);
plank = new ModelRenderer(this, 0, 51);
plank.addBox(-5F, -1F, -1F, 10, 1, 2);
plank.setRotationPoint(-4F, 4F, -3F);
plank.setTextureSize(64, 64);
plank.mirror = true;
setRotation(plank, 0F, 0.7679449F, 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);
}
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)
{
top.render(f);
FRleg.render(f);
bottom.render(f);
BRleg.render(f);
BLleg.render(f);
FLleg.render(f);
plank2.render(f);
hammerhandle.render(f);
block.render(f);
nail.render(f);
vice.render(f);
hammerhead.render(f);
plank.render(f);
}
}