    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}