package openblocks.client.renderer.item; import java.util.EnumSet; import java.util.Set; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.item.ItemStack; import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.common.util.ForgeDirection; import openblocks.OpenBlocks; import openblocks.common.item.ItemPaintCan; import openmods.utils.render.RenderUtils; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; public class ItemRendererPaintCan implements IItemRenderer { private static final Set<ForgeDirection> secondPassEnabledSides = EnumSet.of(ForgeDirection.UP); @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { return true; } @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { return true; } @Override public void renderItem(ItemRenderType type, ItemStack itemstack, Object... data) { if (data.length > 0 && data[0] instanceof RenderBlocks) { if (type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON) GL11.glTranslated(+0.5, +0.5, +0.5); RenderBlocks renderer = (RenderBlocks)data[0]; int color = ItemPaintCan.getColorFromStack(itemstack); OpenBlocks.Blocks.paintCan.renderPass = 0; RenderUtils.renderInventoryBlock(renderer, OpenBlocks.Blocks.paintCan, 0, 0xFFFFFF); OpenBlocks.Blocks.paintCan.renderPass = 1; RenderUtils.renderInventoryBlock(renderer, OpenBlocks.Blocks.paintCan, 0, color, secondPassEnabledSides); GL11.glEnable(GL12.GL_RESCALE_NORMAL); } } }