    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    }