package com.cricketcraft.chisel.client.render;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.world.IBlockAccess;
import org.lwjgl.opengl.GL11;
import com.cricketcraft.chisel.Chisel;
import com.cricketcraft.chisel.block.BlockCarvableGlow;
import com.cricketcraft.chisel.config.Configurations;
import com.cricketcraft.chisel.utils.GeneralClient;
import com.cricketcraft.ctmlib.Drawing;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
public class RendererLayeredGlow implements ISimpleBlockRenderingHandler {
public RendererLayeredGlow() {
Chisel.renderGlowId = RenderingRegistry.getNextAvailableRenderId();
}
@Override
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
GeneralClient.setGLColorFromInt(Configurations.configColors[metadata]);
GL11.glDisable(GL11.GL_LIGHTING);
Drawing.drawBlock(block, ((BlockCarvableGlow)block).getGlowTexture(), renderer);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glColor3f(1, 1, 1);
Drawing.drawBlock(block, metadata, renderer);
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
}
@Override
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
Tessellator.instance.setColorOpaque_I(Configurations.configColors[world.getBlockMetadata(x, y, z)]);
Tessellator.instance.setBrightness(0xF000F0);
Drawing.renderAllFaces(renderer, block, x, y, z, ((BlockCarvableGlow) block).getGlowTexture());
renderer.renderStandardBlock(block, x, y, z);
return true;
}
@Override
public boolean shouldRender3DInInventory(int modelId) {
return true;
}
@Override
public int getRenderId() {
return Chisel.renderGlowId;
}
}