001package cpw.mods.fml.common.network;
002
003import net.minecraft.entity.player.EntityPlayer;
004import net.minecraft.world.World;
005
006public interface IGuiHandler
007{
008    /**
009     * Returns a Server side Container to be displayed to the user.
010     * 
011     * @param ID
012     *            The Gui ID Number
013     * @param player
014     *            The player viewing the Gui
015     * @param world
016     *            The current world
017     * @param x
018     *            X Position
019     * @param y
020     *            Y Position
021     * @param z
022     *            Z Position
023     * @return A GuiScreen/Container to be displayed to the user, null if none.
024     */
025    public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z);
026    /**
027     * Returns a Container to be displayed to the user. On the client side, this
028     * needs to return a instance of GuiScreen On the server side, this needs to
029     * return a instance of Container
030     * 
031     * @param ID
032     *            The Gui ID Number
033     * @param player
034     *            The player viewing the Gui
035     * @param world
036     *            The current world
037     * @param x
038     *            X Position
039     * @param y
040     *            Y Position
041     * @param z
042     *            Z Position
043     * @return A GuiScreen/Container to be displayed to the user, null if none.
044     */
045    public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z);
046}