tcr/java/src/game/renderer/model/ModelCrystal.java

60 lines
1.9 KiB
Java
Executable file

package game.renderer.model;
import org.lwjgl.opengl.GL11;
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)
{
GL11.glPushMatrix();
GL11.glScalef(2.0F, 2.0F, 2.0F);
GL11.glTranslatef(0.0F, -0.5F, 0.0F);
if (this.base != null)
{
this.base.render(scale);
}
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);
this.glass.render(scale);
float f = 0.875F;
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);
this.glass.render(scale);
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);
this.cube.render(scale);
GL11.glPopMatrix();
}
}