    001    package cpw.mods.fml.common.network;
    002
    003    import net.minecraft.entity.player.EntityPlayer;
    004    import net.minecraft.world.World;
    005
    006    public 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    }