    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    }