001    package cpw.mods.fml.common.modloader;
002    
003    import java.util.Set;
004    
005    import net.minecraft.entity.player.EntityPlayer;
006    import net.minecraft.inventory.Container;
007    import net.minecraft.world.World;
008    
009    import com.google.common.collect.Sets;
010    
011    import cpw.mods.fml.common.network.IGuiHandler;
012    
013    public class ModLoaderGuiHelper implements IGuiHandler
014    {
015    
016        private BaseModProxy mod;
017        private Set<Integer> ids;
018        private Container container;
019        private int currentID;
020    
021        ModLoaderGuiHelper(BaseModProxy mod)
022        {
023            this.mod = mod;
024            this.ids = Sets.newHashSet();
025        }
026    
027        @Override
028        public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
029        {
030            return container;
031        }
032    
033        @Override
034        public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
035        {
036            return ModLoaderHelper.getClientSideGui(mod, player, ID, x, y, z);
037        }
038    
039        public void injectContainerAndID(Container container, int ID)
040        {
041            this.container = container;
042            this.currentID = ID;
043        }
044    
045        public Object getMod()
046        {
047            return mod;
048        }
049    
050        public void associateId(int additionalID)
051        {
052            this.ids.add(additionalID);
053        }
054    
055    }