    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}