181 lines
7.2 KiB
Java
181 lines
7.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;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
public class ModelBileDemon extends ModelBase
|
|
{
|
|
//fields
|
|
ModelRenderer belly;
|
|
ModelRenderer chest;
|
|
ModelRenderer head;
|
|
ModelRenderer nose;
|
|
ModelRenderer leftHorn;
|
|
ModelRenderer leftArmSpacer;
|
|
ModelRenderer leftArm;
|
|
ModelRenderer leftChain;
|
|
ModelRenderer leftBall;
|
|
ModelRenderer rightHorn;
|
|
ModelRenderer rightChain;
|
|
ModelRenderer rightBall;
|
|
ModelRenderer rightArmSpacer;
|
|
ModelRenderer rightArm;
|
|
|
|
public ModelBileDemon()
|
|
{
|
|
textureWidth = 128;
|
|
textureHeight = 64;
|
|
belly = new ModelRenderer(this, 0, 31);
|
|
belly.addBox(-8F, -1F, -10F, 16, 15, 18);
|
|
belly.setRotationPoint(0F, 10F, 0F);
|
|
belly.setTextureSize(128, 64);
|
|
belly.mirror = true;
|
|
setRotation(belly, 0F, 0F, 0F);
|
|
chest = new ModelRenderer(this, 70, 46);
|
|
chest.addBox(-7F, -4F, -6F, 14, 4, 14);
|
|
chest.setRotationPoint(0F, 10F, 0F);
|
|
chest.setTextureSize(128, 64);
|
|
chest.mirror = true;
|
|
setRotation(chest, -0.1115358F, 0F, 0F);
|
|
head = new ModelRenderer(this, 0, 0);
|
|
head.addBox(-4F, -8F, -4F, 8, 8, 8);
|
|
head.setRotationPoint(0F, 6F, 3F);
|
|
head.setTextureSize(128, 64);
|
|
head.mirror = true;
|
|
setRotation(head, 0F, 0F, 0F);
|
|
nose = new ModelRenderer(this, 0, 0);
|
|
nose.addBox(-1F, -4F, -5F, 2, 1, 1);
|
|
nose.setRotationPoint(0F, 6F, 3F);
|
|
nose.setTextureSize(128, 64);
|
|
nose.mirror = true;
|
|
setRotation(nose, 0F, 0F, 0F);
|
|
leftHorn = new ModelRenderer(this, 93, 1);
|
|
leftHorn.addBox(4F, -7F, 0F, 16, 1, 1);
|
|
leftHorn.setRotationPoint(0F, 6F, 3F);
|
|
leftHorn.setTextureSize(128, 64);
|
|
leftHorn.mirror = true;
|
|
setRotation(leftHorn, 0F, 0F, 0F);
|
|
leftArmSpacer = new ModelRenderer(this, 80, 1);
|
|
leftArmSpacer.addBox(0F, -2F, -2F, 1, 4, 4);
|
|
leftArmSpacer.setRotationPoint(7F, 8F, 3F);
|
|
leftArmSpacer.setTextureSize(128, 64);
|
|
leftArmSpacer.mirror = true;
|
|
setRotation(leftArmSpacer, 0F, 0F, 0F);
|
|
leftArm = new ModelRenderer(this, 62, 1);
|
|
leftArm.addBox(1F, -2F, -2F, 4, 18, 4);
|
|
leftArm.setRotationPoint(7F, 8F, 3F);
|
|
leftArm.setTextureSize(128, 64);
|
|
leftArm.mirror = true;
|
|
setRotation(leftArm, 0F, 0F, 0F);
|
|
leftChain = new ModelRenderer(this, 95, 5);
|
|
leftChain.addBox(17F, -6F, 0F, 1, 6, 1);
|
|
leftChain.setRotationPoint(0F, 6F, 3F);
|
|
leftChain.setTextureSize(128, 64);
|
|
leftChain.mirror = true;
|
|
setRotation(leftChain, 0F, 0F, 0F);
|
|
leftBall = new ModelRenderer(this, 107, 4);
|
|
leftBall.addBox(15F, 0F, -2F, 5, 5, 5);
|
|
leftBall.setRotationPoint(0F, 6F, 3F);
|
|
leftBall.setTextureSize(128, 64);
|
|
leftBall.mirror = true;
|
|
setRotation(leftBall, 0F, 0F, 0F);
|
|
rightHorn = new ModelRenderer(this, 93, 1);
|
|
rightHorn.mirror = true;
|
|
rightHorn.addBox(-20F, -7F, 0F, 16, 1, 1);
|
|
rightHorn.setRotationPoint(0F, 6F, 3F);
|
|
rightHorn.setTextureSize(128, 64);
|
|
rightHorn.mirror = true;
|
|
setRotation(rightHorn, 0F, 0F, 0F);
|
|
rightHorn.mirror = false;
|
|
rightChain = new ModelRenderer(this, 95, 5);
|
|
rightChain.mirror = true;
|
|
rightChain.addBox(-18F, -6F, 0F, 1, 6, 1);
|
|
rightChain.setRotationPoint(0F, 6F, 3F);
|
|
rightChain.setTextureSize(128, 64);
|
|
rightChain.mirror = true;
|
|
setRotation(rightChain, 0F, 0F, 0F);
|
|
rightChain.mirror = false;
|
|
rightBall = new ModelRenderer(this, 107, 4);
|
|
rightBall.mirror = true;
|
|
rightBall.addBox(-20F, 0F, -2F, 5, 5, 5);
|
|
rightBall.setRotationPoint(0F, 6F, 3F);
|
|
rightBall.setTextureSize(128, 64);
|
|
rightBall.mirror = true;
|
|
setRotation(rightBall, 0F, 0F, 0F);
|
|
rightBall.mirror = false;
|
|
rightArmSpacer = new ModelRenderer(this, 80, 1);
|
|
rightArmSpacer.mirror = true;
|
|
rightArmSpacer.addBox(-1F, -2F, -2F, 1, 4, 4);
|
|
rightArmSpacer.setRotationPoint(-7F, 8F, 3F);
|
|
rightArmSpacer.setTextureSize(128, 64);
|
|
rightArmSpacer.mirror = true;
|
|
setRotation(rightArmSpacer, 0F, 0F, 0F);
|
|
rightArmSpacer.mirror = false;
|
|
rightArm = new ModelRenderer(this, 62, 1);
|
|
rightArm.mirror = true;
|
|
rightArm.addBox(-5F, -2F, -2F, 4, 18, 4);
|
|
rightArm.setRotationPoint(-7F, 8F, 3F);
|
|
rightArm.setTextureSize(128, 64);
|
|
rightArm.mirror = true;
|
|
setRotation(rightArm, 0F, 0F, 0F);
|
|
rightArm.mirror = false;
|
|
}
|
|
|
|
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);
|
|
float scale = 1.3f;
|
|
GL11.glScalef(scale, scale, scale);
|
|
GL11.glTranslatef(0.0f, -(6.0f / 16.0f), 0.0f);
|
|
belly.render(f5);
|
|
chest.render(f5);
|
|
head.render(f5);
|
|
nose.render(f5);
|
|
leftHorn.render(f5);
|
|
leftArmSpacer.render(f5);
|
|
leftArm.render(f5);
|
|
leftChain.render(f5);
|
|
leftBall.render(f5);
|
|
rightHorn.render(f5);
|
|
rightChain.render(f5);
|
|
rightBall.render(f5);
|
|
rightArmSpacer.render(f5);
|
|
rightArm.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.rightArm.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1;
|
|
this.leftArm.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1;
|
|
this.rightArmSpacer.rotateAngleX = MathHelper.cos(f * 0.3662F + (float) Math.PI) * 1.0F * f1;
|
|
this.leftArmSpacer.rotateAngleX = MathHelper.cos(f * 0.3662F) * 1.0F * f1;
|
|
this.leftBall.rotateAngleX = this.head.rotateAngleX;
|
|
this.leftBall.rotateAngleY = this.head.rotateAngleY;
|
|
this.rightBall.rotateAngleX = this.head.rotateAngleX;
|
|
this.rightBall.rotateAngleY = this.head.rotateAngleY;
|
|
this.leftChain.rotateAngleX = this.head.rotateAngleX;
|
|
this.leftChain.rotateAngleY = this.head.rotateAngleY;
|
|
this.rightChain.rotateAngleX = this.head.rotateAngleX;
|
|
this.rightChain.rotateAngleY = this.head.rotateAngleY;
|
|
this.leftHorn.rotateAngleX = this.head.rotateAngleX;
|
|
this.leftHorn.rotateAngleY = this.head.rotateAngleY;
|
|
this.rightHorn.rotateAngleX = this.head.rotateAngleX;
|
|
this.rightHorn.rotateAngleY = this.head.rotateAngleY;
|
|
this.nose.rotateAngleX = this.head.rotateAngleX;
|
|
this.nose.rotateAngleY = this.head.rotateAngleY;
|
|
}
|
|
} |