/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.client.render; import mods.railcraft.common.blocks.aesthetics.glass.BlockStrengthGlass; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; import net.minecraftforge.client.IItemRenderer.ItemRenderType; import org.lwjgl.opengl.GL11; /** * * @author CovertJaguar <http://www.railcraft.info> */ public class RenderBlockStrengthGlass extends BlockRenderer { public RenderBlockStrengthGlass() { super(BlockStrengthGlass.getBlock()); } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderblocks) { block.setBlockBounds(0, 0, 0, 1, 1, 1); if (renderblocks.overrideBlockTexture == null) { BlockStrengthGlass.renderingHighlight = true; RenderTools.renderStandardBlock(renderblocks, block, x, y, z); } BlockStrengthGlass.renderingHighlight = false; RenderTools.renderStandardBlock(renderblocks, block, x, y, z); return true; } @Override public void renderItem(RenderBlocks renderBlocks, ItemStack item, ItemRenderType renderType) { BlockStrengthGlass.renderingHighlight = true; setItemColor(item); RenderTools.renderBlockOnInventory(renderBlocks, getBlock(), item.getItemDamage(), 1); BlockStrengthGlass.renderingHighlight = false; setItemColor(item); RenderTools.renderBlockOnInventory(renderBlocks, getBlock(), item.getItemDamage(), 1); } private void setItemColor(ItemStack item) { int color = item.getItem().getColorFromItemStack(item, 0); float r = (float) (color >> 16 & 0xff) / 255F; float g = (float) (color >> 8 & 0xff) / 255F; float b = (float) (color & 0xff) / 255F; GL11.glColor4f(r, g, b, 1.0F); } }