82 lines
2.6 KiB
Java
82 lines
2.6 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.entity.monster.EntityBlaze;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ModelElemental extends ModelBase
|
|
{
|
|
//fields
|
|
ModelRenderer body;
|
|
ModelRenderer Shape2;
|
|
ModelRenderer Shape1;
|
|
ModelRenderer Shape3;
|
|
|
|
public ModelElemental()
|
|
{
|
|
textureWidth = 64;
|
|
textureHeight = 32;
|
|
body = new ModelRenderer(this, 33, 0);
|
|
body.addBox(-3F, -3F, -3F, 6, 6, 6);
|
|
body.setRotationPoint(0F, 14F, 0F);
|
|
body.setTextureSize(64, 32);
|
|
body.mirror = true;
|
|
setRotation(body, 0F, 0F, 0F);
|
|
Shape2 = new ModelRenderer(this, 0, 0);
|
|
Shape2.addBox(-4F, -4F, -4F, 8, 8, 8);
|
|
Shape2.setRotationPoint(0F, 14F, 0F);
|
|
Shape2.setTextureSize(64, 32);
|
|
Shape2.mirror = true;
|
|
setRotation(Shape2, ((float) Math.PI / 4F), ((float) Math.PI / 4F), 0F);
|
|
Shape1 = new ModelRenderer(this, 0, 0);
|
|
Shape1.addBox(-4F, -4F, -4F, 8, 8, 8);
|
|
Shape1.setRotationPoint(0F, 14F, 0F);
|
|
Shape1.setTextureSize(64, 32);
|
|
Shape1.mirror = true;
|
|
setRotation(Shape1, 0F, ((float) Math.PI / 4F), ((float) Math.PI / 4F));
|
|
Shape3 = new ModelRenderer(this, 0, 0);
|
|
Shape3.addBox(-4F, -4F, -4F, 8, 8, 8);
|
|
Shape3.setRotationPoint(0F, 14F, 0F);
|
|
Shape3.setTextureSize(64, 32);
|
|
Shape3.mirror = true;
|
|
setRotation(Shape3, ((float) Math.PI / 4F), 0F, ((float) Math.PI / 4F));
|
|
}
|
|
|
|
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);
|
|
body.render(f5);
|
|
Shape2.render(f5);
|
|
Shape1.render(f5);
|
|
Shape3.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);
|
|
World world = entity.worldObj;
|
|
|
|
if (world == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
int ratio = 20;
|
|
float rot = (entity.worldObj.getWorldTime() % ratio) / ratio;
|
|
Shape1.rotateAngleX = f / 5;
|
|
Shape2.rotateAngleZ = f / 5;
|
|
Shape3.rotateAngleY = f / 5;
|
|
EntityBlaze d;
|
|
}
|
|
}
|