001/*
002 * The FML Forge Mod Loader suite.
003 * Copyright (C) 2012 cpw
004 *
005 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free
006 * Software Foundation; either version 2.1 of the License, or any later version.
007 *
008 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
009 * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
010 *
011 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51
012 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
013 */
014
015package cpw.mods.fml.client.modloader;
016
017import net.minecraft.block.Block;
018import net.minecraft.client.renderer.RenderBlocks;
019import net.minecraft.src.BaseMod;
020import net.minecraft.world.IBlockAccess;
021import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
022
023/**
024 * @author cpw
025 *
026 */
027public class ModLoaderBlockRendererHandler implements ISimpleBlockRenderingHandler
028{
029    private int renderId;
030    private boolean render3dInInventory;
031    private BaseMod mod;
032
033    /**
034     * @param mod
035     *
036     */
037    public ModLoaderBlockRendererHandler(int renderId, boolean render3dInInventory, BaseMod mod)
038    {
039        this.renderId=renderId;
040        this.render3dInInventory=render3dInInventory;
041        this.mod=mod;
042    }
043
044    @Override
045    public int getRenderId()
046    {
047        return renderId;
048    }
049
050    @Override
051    public boolean shouldRender3DInInventory()
052    {
053        return render3dInInventory;
054    }
055
056    /**
057     * @param world
058     * @param x
059     * @param y
060     * @param z
061     * @param block
062     * @param modelId
063     * @param renderer
064     */
065    @Override
066    public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
067    {
068        return mod.renderWorldBlock(renderer, world, x, y, z, block, modelId);
069    }
070
071    /**
072     * @param block
073     * @param metadata
074     * @param modelID
075     * @param renderer
076     */
077    @Override
078    public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
079    {
080        mod.renderInvBlock(renderer, block, metadata, modelID);
081    }
082
083}