package erebus.client.model.armor;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.Entity;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class ModelRhinoHelm extends ModelBiped {
ModelRenderer helmFront;
ModelRenderer helmTop;
ModelRenderer helmRight;
ModelRenderer helmLeft;
ModelRenderer helmBack;
ModelRenderer crestTop;
ModelRenderer crestBack;
ModelRenderer rHorn1;
ModelRenderer rHorn2;
ModelRenderer rHorn3;
ModelRenderer lHorn1;
ModelRenderer lHorn2;
ModelRenderer lHorn3;
ModelRenderer rTopPlate;
ModelRenderer lTopPlate;
ModelRenderer rEarCup;
ModelRenderer lEarCup;
ModelRenderer facePlate1;
ModelRenderer facePlate2;
public ModelRhinoHelm() {
textureWidth = 64;
textureHeight = 32;
helmFront = new ModelRenderer(this, 22, 0);
helmFront.addBox(-4.5F, -8F, -5.5F, 9, 2, 1);
helmFront.setRotationPoint(0F, 0F, 0F);
setRotation(helmFront, 0F, 0F, 0F);
helmTop = new ModelRenderer(this, 17, 4);
helmTop.addBox(-3.5F, -8F, -4.5F, 7, 1, 8);
setRotation(helmTop, 0F, 0F, 0F);
helmRight = new ModelRenderer(this, 46, 8);
helmRight.addBox(-4.5F, -8F, -4.5F, 1, 8, 8);
setRotation(helmRight, 0F, 0F, 0F);
helmLeft = new ModelRenderer(this, 1, 8);
helmLeft.addBox(3.5F, -8F, -4.5F, 1, 8, 8);
setRotation(helmLeft, 0F, 0F, 0F);
helmBack = new ModelRenderer(this, 25, 15);
helmBack.addBox(-4.5F, -8F, 3.5F, 9, 8, 1);
setRotation(helmBack, 0F, 0F, 0F);
crestTop = new ModelRenderer(this, 8, 18);
crestTop.addBox(-1F, -10F, -5.5F, 2, 2, 12);
setRotation(crestTop, 0F, 0F, 0F);
crestBack = new ModelRenderer(this, 0, 5);
crestBack.addBox(-1F, -8F, 4.5F, 2, 8, 2);
setRotation(crestBack, 0F, 0F, 0F);
rHorn1 = new ModelRenderer(this, 43, 0);
rHorn1.addBox(-3F, -14.3F, -1.5F, 2, 6, 2);
setRotation(rHorn1, 0.3490659F, 0.1745329F, 0F);
rHorn2 = new ModelRenderer(this, 52, 0);
rHorn2.addBox(-2.5F, -13.5F, -7.5F, 1, 2, 2);
setRotation(rHorn2, -0.1396263F, 0.1745329F, 0F);
rHorn3 = new ModelRenderer(this, 59, 0);
rHorn3.addBox(-2.5F, -16.5F, -7.5F, 1, 3, 1);
setRotation(rHorn3, -0.1396263F, 0.1745329F, 0F);
lHorn1 = new ModelRenderer(this, 13, 0);
lHorn1.addBox(1F, -14.3F, -1.5F, 2, 6, 2);
setRotation(lHorn1, 0.3490659F, -0.1745329F, 0F);
lHorn2 = new ModelRenderer(this, 6, 0);
lHorn2.addBox(1.5F, -13.5F, -7.5F, 1, 2, 2);
setRotation(lHorn2, -0.1396263F, -0.1745329F, 0F);
lHorn3 = new ModelRenderer(this, 1, 0);
lHorn3.addBox(1.5F, -16.5F, -7.5F, 1, 3, 1);
setRotation(lHorn3, -0.1396263F, -0.1745329F, 0F);
rTopPlate = new ModelRenderer(this, 45, 25);
rTopPlate.addBox(-3F, -6.8F, 4.5F, 1, 3, 3);
setRotation(rTopPlate, 0.7853982F, 0F, 0F);
lTopPlate = new ModelRenderer(this, 45, 25);
lTopPlate.addBox(2F, -6.8F, 4.5F, 1, 3, 3);
setRotation(lTopPlate, 0.7853982F, 0F, 0F);
rEarCup = new ModelRenderer(this, 54, 25);
rEarCup.addBox(-5.5F, -4F, 1.5F, 1, 3, 3);
setRotation(rEarCup, 0.7853982F, 0F, 0F);
lEarCup = new ModelRenderer(this, 54, 25);
lEarCup.addBox(4.5F, -4F, 1.5F, 1, 3, 3);
setRotation(lEarCup, 0.7853982F, 0F, 0F);
facePlate1 = new ModelRenderer(this, 25, 25);
facePlate1.addBox(-4.5F, -4F, -5.5F, 9, 4, 1);
setRotation(facePlate1, 0F, 0F, 0F);
facePlate2 = new ModelRenderer(this, 0, 24);
facePlate2.addBox(-2F, -4F, -7.5F, 4, 4, 2);
setRotation(facePlate2, 0F, 0F, 0F);
helmFront.addChild(helmTop);
helmFront.addChild(helmRight);
helmFront.addChild(helmLeft);
helmFront.addChild(helmBack);
helmFront.addChild(crestTop);
helmFront.addChild(crestBack);
helmFront.addChild(rHorn1);
helmFront.addChild(rHorn2);
helmFront.addChild(rHorn3);
helmFront.addChild(lHorn1);
helmFront.addChild(lHorn2);
helmFront.addChild(lHorn3);
helmFront.addChild(rTopPlate);
helmFront.addChild(lTopPlate);
helmFront.addChild(rEarCup);
helmFront.addChild(lEarCup);
helmFront.addChild(facePlate1);
helmFront.addChild(facePlate2);
}
@Override
public void render(Entity entity, float limbSwing, float limbSwingAngle, float entityTickTime, float rotationYaw, float rotationPitch, float unitPixel) {
super.render(entity, limbSwing, limbSwingAngle, entityTickTime, rotationYaw, rotationPitch, unitPixel);
setRotationAngles(limbSwing, limbSwingAngle, entityTickTime, rotationYaw, rotationPitch, unitPixel, entity);
GlStateManager.pushMatrix();
GlStateManager.scale(1.2F, 1F, 1.2F);
helmFront.render(unitPixel);
GlStateManager.popMatrix();
}
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 limbSwing, float limbSwingAngle, float entityTickTime, float rotationYaw, float rotationPitch, float unitPixel, Entity entity) {
super.setRotationAngles(limbSwing, limbSwingAngle, entityTickTime, rotationYaw, rotationPitch, unitPixel, entity);
helmFront.rotateAngleY = bipedHead.rotateAngleY;
helmFront.rotateAngleX = bipedHead.rotateAngleX;
}
}