equivalent-exchange-3/src/main/java/com/pahimar/ee3/client/renderer/tileentity/TileEntityRendererResearchS...

83 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();
}
}
}