84 lines
2.9 KiB
Java
84 lines
2.9 KiB
Java
package com.pahimar.ee3.client.renderer.tileentity;
|
|
|
|
import com.pahimar.ee3.client.renderer.model.ModelResearchStation;
|
|
import com.pahimar.ee3.reference.Textures;
|
|
import com.pahimar.ee3.tileentity.TileEntityResearchStation;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.renderer.entity.RenderItem;
|
|
import net.minecraft.client.renderer.entity.RenderManager;
|
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
|
import net.minecraft.entity.item.EntityItem;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public class TileEntityRendererResearchStation extends TileEntitySpecialRenderer
|
|
{
|
|
private final ModelResearchStation modelResearchStation = new ModelResearchStation();
|
|
private final RenderItem customRenderItem;
|
|
|
|
public TileEntityRendererResearchStation()
|
|
{
|
|
customRenderItem = new RenderItem()
|
|
{
|
|
@Override
|
|
public boolean shouldBob()
|
|
{
|
|
|
|
return false;
|
|
}
|
|
};
|
|
|
|
customRenderItem.setRenderManager(RenderManager.instance);
|
|
}
|
|
|
|
@Override
|
|
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float tick)
|
|
{
|
|
if (tileEntity instanceof TileEntityResearchStation)
|
|
{
|
|
TileEntityResearchStation tileEntityResearchStation = (TileEntityResearchStation) tileEntity;
|
|
|
|
/**
|
|
* Render the Research Station
|
|
*/
|
|
GL11.glPushMatrix();
|
|
|
|
// Scale, Translate, Rotate
|
|
GL11.glScalef(1.0F, 1.0F, 1.0F);
|
|
GL11.glTranslatef((float) x + 0.0F, (float) y + 0.0F, (float) z + 1.0F);
|
|
|
|
// Bind texture
|
|
this.bindTexture(Textures.Model.RESEARCH_STATION);
|
|
|
|
// Render
|
|
modelResearchStation.render();
|
|
|
|
GL11.glPopMatrix();
|
|
|
|
/**
|
|
* Render the Tome of Alchemical Knowledge
|
|
*/
|
|
GL11.glPushMatrix();
|
|
|
|
ItemStack alchenomicon = tileEntityResearchStation.getStackInSlot(TileEntityResearchStation.ALCHENOMICON_SLOT_INVENTORY_INDEX);
|
|
if (Minecraft.getMinecraft().gameSettings.fancyGraphics && alchenomicon != null)
|
|
{
|
|
EntityItem ghostEntityItem = new EntityItem(tileEntityResearchStation.getWorldObj());
|
|
ghostEntityItem.hoverStart = 0.0F;
|
|
ghostEntityItem.setEntityItemStack(alchenomicon);
|
|
|
|
GL11.glTranslated(x + 0.6F, y + 1.015625F, z + 0.35F);
|
|
GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
|
|
GL11.glRotatef(45F, 0.0F, 0.0F, 1.0F);
|
|
|
|
customRenderItem.doRender(ghostEntityItem, 0, 0, 0, 0, 0);
|
|
}
|
|
|
|
GL11.glPopMatrix();
|
|
}
|
|
}
|
|
}
|