2025-03-11 00:23:54 +01:00
|
|
|
package game.renderer.model;
|
|
|
|
|
2025-03-18 10:24:05 +01:00
|
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
|
2025-03-11 00:23:54 +01:00
|
|
|
import game.entity.Entity;
|
|
|
|
|
|
|
|
public class ModelCrystal extends ModelBase
|
|
|
|
{
|
|
|
|
/** The cube model for the Crystal. */
|
|
|
|
private ModelRenderer cube;
|
|
|
|
|
|
|
|
/** The glass model for the Crystal. */
|
|
|
|
private ModelRenderer glass = new ModelRenderer(this, "glass");
|
|
|
|
|
|
|
|
/** The base model for the Crystal. */
|
|
|
|
private ModelRenderer base;
|
|
|
|
|
|
|
|
public ModelCrystal(float p_i1170_1_, boolean p_i1170_2_)
|
|
|
|
{
|
|
|
|
this.glass.setTextureOffset(0, 0).addBox(-4.0F, -4.0F, -4.0F, 8, 8, 8);
|
|
|
|
this.cube = new ModelRenderer(this, "cube");
|
|
|
|
this.cube.setTextureOffset(32, 0).addBox(-4.0F, -4.0F, -4.0F, 8, 8, 8);
|
|
|
|
|
|
|
|
if (p_i1170_2_)
|
|
|
|
{
|
|
|
|
this.base = new ModelRenderer(this, "base");
|
|
|
|
this.base.setTextureOffset(0, 16).addBox(-6.0F, 0.0F, -6.0F, 12, 4, 12);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Sets the models various rotation angles then renders the model.
|
|
|
|
*/
|
|
|
|
public void render(Entity entityIn, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_, float p_78088_6_, float scale)
|
|
|
|
{
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glPushMatrix();
|
|
|
|
GL11.glScalef(2.0F, 2.0F, 2.0F);
|
|
|
|
GL11.glTranslatef(0.0F, -0.5F, 0.0F);
|
2025-03-11 00:23:54 +01:00
|
|
|
|
|
|
|
if (this.base != null)
|
|
|
|
{
|
|
|
|
this.base.render(scale);
|
|
|
|
}
|
|
|
|
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
|
|
|
GL11.glTranslatef(0.0F, 0.8F + p_78088_4_, 0.0F);
|
|
|
|
GL11.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
2025-03-11 00:23:54 +01:00
|
|
|
this.glass.render(scale);
|
|
|
|
float f = 0.875F;
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glScalef(f, f, f);
|
|
|
|
GL11.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
|
|
|
GL11.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
2025-03-11 00:23:54 +01:00
|
|
|
this.glass.render(scale);
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glScalef(f, f, f);
|
|
|
|
GL11.glRotatef(60.0F, 0.7071F, 0.0F, 0.7071F);
|
|
|
|
GL11.glRotatef(p_78088_3_, 0.0F, 1.0F, 0.0F);
|
2025-03-11 00:23:54 +01:00
|
|
|
this.cube.render(scale);
|
2025-03-18 10:24:05 +01:00
|
|
|
GL11.glPopMatrix();
|
2025-03-11 00:23:54 +01:00
|
|
|
}
|
|
|
|
}
|