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    
015    package cpw.mods.fml.client.modloader;
016    
017    import net.minecraft.block.Block;
018    import net.minecraft.client.renderer.RenderBlocks;
019    import net.minecraft.src.BaseMod;
020    import net.minecraft.world.IBlockAccess;
021    import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
022    
023    /**
024     * @author cpw
025     *
026     */
027    public 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    }