    001/*
    002 * Forge Mod Loader
    003 * Copyright (c) 2012-2013 cpw.
    004 * All rights reserved. This program and the accompanying materials
    005 * are made available under the terms of the GNU Lesser Public License v2.1
    006 * which accompanies this distribution, and is available at
    007 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
    008 *
    009 * Contributors:
    010 *     cpw - implementation
    011 */
    012
    013package cpw.mods.fml.common.modloader;
    014
    015import java.util.Set;
    016
    017import net.minecraft.entity.player.EntityPlayer;
    018import net.minecraft.inventory.Container;
    019import net.minecraft.world.World;
    020
    021import com.google.common.collect.Sets;
    022
    023import cpw.mods.fml.common.network.IGuiHandler;
    024
    025public class ModLoaderGuiHelper implements IGuiHandler
    026{
    027
    028    private BaseModProxy mod;
    029    private Set<Integer> ids;
    030    private Container container;
    031    private int currentID;
    032
    033    ModLoaderGuiHelper(BaseModProxy mod)
    034    {
    035        this.mod = mod;
    036        this.ids = Sets.newHashSet();
    037    }
    038
    039    @Override
    040    public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
    041    {
    042        return container;
    043    }
    044
    045    @Override
    046    public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
    047    {
    048        return ModLoaderHelper.getClientSideGui(mod, player, ID, x, y, z);
    049    }
    050
    051    public void injectContainerAndID(Container container, int ID)
    052    {
    053        this.container = container;
    054        this.currentID = ID;
    055    }
    056
    057    public Object getMod()
    058    {
    059        return mod;
    060    }
    061
    062    public void associateId(int additionalID)
    063    {
    064        this.ids.add(additionalID);
    065    }
    066
    067}