@@ -0,0 +1,1735 @@
+package de.themoep.inventorygui;%0A%0Aimport org.bukkit.entity.HumanEntity;%0Aimport org.bukkit.inventory.ItemStack;%0A%0A/**%0A * An element that will not appear if there is no previous history,%0A * but will go back one step if there is%0A */%0Apublic class GuiBackElement extends StaticGuiElement %7B%0A%0A    /**%0A     * An element used to go back in history of the gui%0A     *%0A     * @param slotChar The character to replace in the gui setup string%0A     * @param item     The %7B@link ItemStack%7D representing this element%0A     * @param text     The text to display on this element, placeholders are automatically%0A     *                 replaced, see %7B@link InventoryGui#replaceVars%7D for a list of the%0A     *                 placeholder variables. Empty text strings are also filter out, use%0A     *                 a single space if you want to add an empty line!%3Cbr%3E%0A     *                 If it's not set/empty the item's default name will be used%0A     */%0A    public GuiBackElement(char slotChar, ItemStack item, String... text) %7B%0A        super(slotChar, item, text);%0A%0A        setAction(click -%3E %7B%0A            if (canGoBack(click.getEvent().getWhoClicked())) %7B%0A                InventoryGui.goBack(click.getEvent().getWhoClicked());%0A            %7D%0A            return true;%0A        %7D);%0A    %7D%0A%0A    @Override%0A    public ItemStack getItem(HumanEntity who, int slot) %7B%0A        if (!canGoBack(who)) %7B%0A            return gui.getFiller() != null ? gui.getFiller().getItem(who, slot) : null;%0A        %7D%0A%0A        return super.getItem(who, slot).clone();%0A    %7D%0A%0A    private boolean canGoBack(HumanEntity who) %7B%0A        return InventoryGui.getHistory(who).size() %3E 1 %7C%7C (InventoryGui.getHistory(who).size() == 1 && InventoryGui.getHistory(who).peekLast() != gui);%0A    %7D%0A%7D%0A

Add GuiBackElement (#7)