114 lines
4.2 KiB
Java
114 lines
4.2 KiB
Java
package WayofTime.alchemicalWizardry.common.renderer.model;
|
|
|
|
import net.minecraft.client.model.ModelBase;
|
|
import net.minecraft.client.model.ModelRenderer;
|
|
import net.minecraft.entity.Entity;
|
|
import net.minecraft.util.MathHelper;
|
|
|
|
public class ModelFallenAngel extends ModelBase
|
|
{
|
|
//fields
|
|
ModelRenderer leftWing;
|
|
ModelRenderer rightWing;
|
|
ModelRenderer head;
|
|
ModelRenderer body;
|
|
ModelRenderer rightarm;
|
|
ModelRenderer leftarm;
|
|
ModelRenderer rightleg;
|
|
ModelRenderer leftleg;
|
|
|
|
public ModelFallenAngel()
|
|
{
|
|
textureWidth = 64;
|
|
textureHeight = 32;
|
|
leftWing = new ModelRenderer(this, 33, 8);
|
|
leftWing.mirror = true;
|
|
leftWing.addBox(0F, 0F, 0F, 10, 7, 0);
|
|
leftWing.setRotationPoint(0F, 1F, 2F);
|
|
leftWing.setTextureSize(64, 32);
|
|
leftWing.mirror = true;
|
|
setRotation(leftWing, 0F, 0F, 0F);
|
|
rightWing = new ModelRenderer(this, 33, 8);
|
|
rightWing.addBox(-10F, 0F, 0F, 10, 7, 0);
|
|
rightWing.setRotationPoint(0F, 1F, 2F);
|
|
rightWing.setTextureSize(64, 32);
|
|
rightWing.mirror = true;
|
|
setRotation(rightWing, 0F, 0F, 0F);
|
|
rightWing.mirror = false;
|
|
head = new ModelRenderer(this, 0, 0);
|
|
head.addBox(-4F, -8F, -4F, 8, 8, 8);
|
|
head.setRotationPoint(0F, 0F, 0F);
|
|
head.setTextureSize(64, 32);
|
|
head.mirror = true;
|
|
setRotation(head, 0F, 0F, 0F);
|
|
body = new ModelRenderer(this, 16, 16);
|
|
body.addBox(-4F, 0F, -2F, 8, 12, 4);
|
|
body.setRotationPoint(0F, 0F, 0F);
|
|
body.setTextureSize(64, 32);
|
|
body.mirror = true;
|
|
setRotation(body, 0F, 0F, 0F);
|
|
rightarm = new ModelRenderer(this, 40, 16);
|
|
rightarm.addBox(-3F, -2F, -2F, 4, 12, 4);
|
|
rightarm.setRotationPoint(-5F, 2F, 0F);
|
|
rightarm.setTextureSize(64, 32);
|
|
rightarm.mirror = true;
|
|
setRotation(rightarm, 0F, 0F, 0F);
|
|
rightarm.mirror = false;
|
|
leftarm = new ModelRenderer(this, 40, 16);
|
|
leftarm.mirror = true;
|
|
leftarm.addBox(-1F, -2F, -2F, 4, 12, 4);
|
|
leftarm.setRotationPoint(5F, 2F, 0F);
|
|
leftarm.setTextureSize(64, 32);
|
|
leftarm.mirror = true;
|
|
setRotation(leftarm, 0F, 0F, 0F);
|
|
rightleg = new ModelRenderer(this, 0, 16);
|
|
rightleg.addBox(-2F, 0F, -2F, 4, 12, 4);
|
|
rightleg.setRotationPoint(-2F, 12F, 0F);
|
|
rightleg.setTextureSize(64, 32);
|
|
rightleg.mirror = true;
|
|
setRotation(rightleg, 0F, 0F, 0F);
|
|
rightleg.mirror = false;
|
|
leftleg = new ModelRenderer(this, 0, 16);
|
|
leftleg.mirror = true;
|
|
leftleg.addBox(-2F, 0F, -2F, 4, 12, 4);
|
|
leftleg.setRotationPoint(2F, 12F, 0F);
|
|
leftleg.setTextureSize(64, 32);
|
|
leftleg.mirror = true;
|
|
setRotation(leftleg, 0F, 0F, 0F);
|
|
}
|
|
|
|
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);
|
|
leftWing.render(f5);
|
|
rightWing.render(f5);
|
|
head.render(f5);
|
|
body.render(f5);
|
|
rightarm.render(f5);
|
|
leftarm.render(f5);
|
|
rightleg.render(f5);
|
|
leftleg.render(f5);
|
|
}
|
|
|
|
private void setRotation(ModelRenderer model, float x, float y, float z)
|
|
{
|
|
model.rotateAngleX = x;
|
|
model.rotateAngleY = y;
|
|
model.rotateAngleZ = z;
|
|
}
|
|
|
|
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
|
|
{
|
|
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
|
|
this.head.rotateAngleX = f4 / (180F / (float) Math.PI);
|
|
this.head.rotateAngleY = f3 / (180F / (float) Math.PI);
|
|
this.leftleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
|
|
this.rightleg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1;
|
|
this.rightarm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 1.4F * f1;
|
|
this.leftarm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
|
|
this.rightWing.rotateAngleY = MathHelper.cos(0.1662F);
|
|
this.leftWing.rotateAngleY = MathHelper.cos(0.1662F + (float) Math.PI);
|
|
}
|
|
}
|