Abstract Menus | An advanced GUI plugin icon

Abstract Menus | An advanced GUI plugin -----

A powerful menus creation plugin. Animations, Templates, Dynamic generation and much more!




Folia support added. This is a beta version, so there may be problems on servers with Folia. Please report problems so we can fix them quickly.
[​IMG]
----------, Sep 8, 2024

Changes:
1) Added support for placeholders in Iterator catalogue
2) Added material-only check for heldItem rule (by special condition)
3) Fixed miniMessage sending on 1.21
4) Fixed refreshMenu for generated menu by matrix (refreshes the number of items)

now you can check only material by heldItem:
heldItem: {material: DIAMOND_SWORD}
And you can make this checker for item:
Code (Text):

{
  slot: 1
  material: "STONE"
  click {
    rules {
      or: [
        {heldItem: {material: DIAMOND_SWORD}},
        {heldItem: {material: STONE}}
      ]
    }
    actions: {
      message: "&aSpecial item in hand"
    }
    denyActions: {
      message: "&cNo special item in hand"
    }
  }
}
 
----------, Aug 16, 2024

Added support for Spigot and Paper 1.20.6 and 1.21.
----------, Jul 9, 2024

Rewritten skin actions to support new SkinsRestorer API (15.0+)
----------, Nov 15, 2023

Fixed GameProfile building issue on 1.20.2.
----------, Oct 22, 2023

Fixed Oraxen support. Update your Oraxen plugin, if you get ClassNotFoundException after this update.
----------, Jun 29, 2023

  • Added print action to print message in console
  • Fixed empty variable handling
----------, Feb 17, 2023

  • Fixed SkinsRestorer hook
  • Fixed variable synchronizing issue
  • Fixed maven dependency example in the docs
----------, Dec 23, 2022

Fixed legacy color codes formatting if MiniMessage enabled
----------, Sep 26, 2022

  • Fixed MiniMessage support for 1.19.x
  • Drag-and-drop fully disabled if there are no draggable slots
  • Fixed time formatting for 0 seconds
  • Fixed startup exception with SoundCategory class on Spigot 1.8
----------, Sep 24, 2022

Added:
  • Drag-and-drop feature (experimental).
  • Actions placeItem, removePlaced (for DnD).
  • Rule placedItem (for DnD).
  • Logical wrapper for rules called oneof.
  • Serializing and deserializing item from/to base64 string.
  • Actions setButton and removeButton.
  • Action customSound.
  • Parameter slot for inventoryItems rule to check item in some slot of player's inventory.
  • Command /am serve for auto reloading menus if it's file changed.
See updated docs to understand how to use these features.

Fixed:
  • Error with commands for personal variables.
  • Rule setProperty now work correctly with bindings.
  • Minor code improvements.
----------, Sep 15, 2022

Forgot to add promised actions blocks:
  • preOpenActions - executes before inventory created. Useful, for example, to change title before open menu.
  • postOpenActions - executes after menu opened.
Details here: https://abstractmenus.github.io/docs/general/menu_structure.html#menu-properties
----------, Jul 31, 2022

Added:
  • MiniMessage format support for regular messages and item properties.
  • New item property clickCooldown to set cooldown for buttons.
  • The equipItem property now can take item from another player's inventory.
  • New action and rule called playerScope to execute actions or check rules for other player, found by specified name.
Fixed:
  • Replacing colors for placeholders.
  • Rule freeSlotCount doesn't count equipment slots now.
  • Placeholders support in actions for variables (their short version). This is a breaking change. See explanation below.
  • The result of setProperty action now is not saved after menu reopen, as it must be.
  • Other minor optimizations.
  • Fixed some mistakes in documentation.
Attention! Breaking changes!
The short format of actions for variables has breaking changes. Now separator for arguments is a double ' ::', not single. Sorry for this change but previous format broke support for other placeholders with single ':' separator.
----------, Jul 31, 2022

  • Added custom inventory types.
  • Added base64 texture support.
  • Added equipItem item property to access items from player inventory.
  • Added playerIsOnline rule to check is player on the server.
----------, Jun 16, 2022

  • Fixed books on MC 1.8
  • Fixed async execution of some actions for inputChat action
----------, Apr 16, 2022

  • Added chat input action
  • Added updateActions to menu. These actions will be performed each time menu updated by updateInterval
  • Fixed menu lifecycle
----------, Apr 16, 2022

Fixed bug with context placeholders that appeared in AM 1.14.3
----------, Apr 15, 2022

  • Added command overriding feature
  • Added brief versions of variable actions (see updated docs)
  • Splitted variable actions into global and personal
  • Added existVarp rule to check personal variable without specifying player name
  • Fixed specific bug with refreshMenu and closeMenu actions
  • Optimized variables saving
----------, Apr 14, 2022

* Fixed varpt placeholder
----------, Mar 28, 2022

  • Optimized server ping for BungeeCord rules.
  • Added bungeePing field to main config. Now you can disable regular server ping if you don't use BungeeCord rules. By default this param is false.
  • Other minor code optimizations.
----------, Jan 24, 2022

Hello! This is huge update that comes with many cool features and bug fixes.

Added

Changed
  • Significantly reduced plugin size due to HOCON library rewriting.
  • To use nbt item property, you need to install NBT API plugin. We may not always be able to quickly update the built-in NBT library, so for those who always use the latest version of Spigot, this will be better.
  • Removed iRules and imrules blocks for all types, which was marked as deprecated in previous versions. Use logical wrappers for regular rules: https://abstractmenus.github.io/docs/advanced/logical.html#logical-rule-wrappers.

Fixed
  • Updated Nashorn (JavaScript engine) version to support Java 17.
  • Now skullOwner returns empty head if player profile not found. Also, improved system of profile loading.
  • The hdb property now returns empty head if HeadDatabase still not loaded all heads.
  • If you use integer numbers in variables, they will be displayed as integers, without floating part.

For developers

As we written in previous update, in this version we changed API in some parts. We also updated API docs and added javadocs ( https://abstractmenus.github.io/api/). Main changes:
  • Added Variables API
  • Modified Menu interface
  • Changed Activator class
  • Rewritten catalogs API
  • Rewritten configuration API
If you want to update your addons to AM 1.14, you should read docs before. We've rewritten docs. Now it more readable, with more examples.
----------, Jan 21, 2022

This is fix for modern users.
  • Fixed nbt item property for MC 1.18+
  • Updated JavaScript engine version to support Java 17
----------, Jan 3, 2022

Changes
  • Added miniMessage action. More about this here.
  • Added broadcast action.
  • Fixed legacy material loading (sometimes server hanged at first menu opening).
  • Fixed XP rules and actions.
  • Fixed fake error message from mmoitem property.
  • Changed skullOwner property backend to custom. Heads loading now should work faster.
  • Fixed error about sending plugin message when server disabled.
For developers

The next update (AM v1.14) will be more about API upgrading. In general, we planned refactoring of the configuration system backend. This means that all AM extensions won't work after updating to AM 1.14.

Why we need this? With backend updating we will greatly reduce jar file size and make serializing API more friendly.

Apologize in advance for this. This will be first and last time when we change API so much.
----------, Dec 12, 2021

Oops, wrong jar file. Updated.
----------, Dec 2, 2021

  • Added support for MC 1.18
  • Added ability to make buttons with AIR material. Useful for menus with custom texture.
  • group rule now is a list. Works similar to permission rule.
  • Fixed several bugs with rules execution order.
----------, Dec 2, 2021

Plugin
  • Added new logical wrappers for rules ("AND", "OR" and "NOT" notation). irules and imrules now deprecated, but still works.
  • Added modern "if" format. This similar to "js" but much faster. Old "if" still works but deprecated.
  • Added setGamemode action.
  • Added swapItems activator (F key by default).
  • Added new Bindings system. Now you can easy bind some item property to rules.
  • Fixed bug with empty menu after failed plugin reloading.
Documentation
  • Added new "FAQ" article.
  • Added useful information about HOCON format.
  • Updated to AM 1.13, including changed API.
  • Fixed some spelling.
For developers
  • Item class now is interface that realised inside plugin, not inside API module.
  • Changed item property interfaces. Now there is only ItemProperty interface with additional methods.
----------, Oct 12, 2021

  • Added static items block for animated menus. (docs)
  • Activators clickBlock, button, lever and plate now can accept list of locations.
  • Added support for Oraxen items (see new item property in the docs).
  • Fixed itemRemove and itemClear actions. Now they works with armor slots and second hand slot.
  • Fixed tab complete for commands when using HDB.
----------, Sep 9, 2021

  • Fixed SkinsRestorer hook loading.
  • Added restriction for menus with out of bound size to avoid bugs.
----------, Aug 1, 2021

  • Added SkinsRestorer hooks.
  • Added itemsAdder property to take items from ItemsAdder plugin.
  • A bit changed fireworkData item property. Now there is parameter to set power of firework. Firework's effects moved to the list inside this parameter. Check the docs for more information.
  • Actions givePermission and removePermission now is a lists of strings. So you can add or remove bunch of player's permissions by one action. Backward compatibility still works and you won't need to fix this parameters after update.
  • Fixed commands overriding for command activator.
  • Optimized region enter/leave activators for users who use this with WorldGuard 7+.
  • Removed previewSkin action due new skins hook which not supports this.
  • Set useWorldGuard, syncVariables and bungeecord to false in main config for optimization, because most users are not use this features. If it already activated in your config, then it won't be changed.

Documentation. We also pleased to introduce updated documentation. There is bunch of changes, but in general, now it has more friendly interface, more convenient pages structure, new content and spelling fixes. It also has search field to search words or phrases through all docs.

For developers. We moved API repo to GitHub. Now you can add it to your project through JitPack from this repo: https://github.com/AbstractMenus/api.
----------, Jul 30, 2021

This is small but very useful update.
  • Added new slot format - a cells matrix. More about this here.
  • Fixed some error messages.
----------, Jun 17, 2021

  • Added ranged slots (See Wiki->Item format->Slots for more information). Also removed boilerplate way of defining slots with separate x and y params. The inline format ("x, y") still there and won't be removed.
  • Fixed JavaScript executing for Java 15 and higher.
  • Added compatibility with Spigot 1.17 for some actions.
  • Changed menus loading message. Now plugin displays only one message with amount of loaded menus.
  • A bit changed error message for combined inside one file menus. Now plugin displays the name of the menu and the name of the file in which error ocurred.
  • Fixed variables lifetime formatting.
  • Minor optimization fixes.
A few words about JavaScript engine. JavaScript engine was removed from official JVM since Java 15. To continue using js rule, plugin loads this engine at server startup. This possible only for Spigot 1.16.5 and higher. If you use Java 15+ with Spigot less than 1.16.5, the js rule won't work.

We also want to inform you that the Russian version of the Wiki will not be supported from now. We decided to focus on improving English version of the Wiki to make it more readable for everyone. The Russian version of the Wiki will still exist, however please be aware that the information there may be deprecated. Thank you for understanding.
----------, Jun 15, 2021

Hello, %username%! This is new update with bulk of cool features.
  • Added new item property nbt to edit item's NBT tags.
  • Added new rule heldItem to check player's held item.
  • Added new action randActions to execute random action block from the list.
  • Added new action playerChat to send messages on behalf of the player.
  • Fixed problem with converting stored variable to number (for example, when using them in the `count` property).
  • A bit changed item properties API (for developers).
----------, Apr 19, 2021

  • Added new item property: damage
  • Fixed compatibility with current MMOItems version.
----------, Mar 9, 2021

This is small update with some bugs fixing
  • Fixed action addGroup and removeGroup
  • Removed legacy LuckPerms support. If you use LuckPerms version less than 5.0, please, update it on actual version.
----------, Feb 16, 2021

  • Added action itemClear
  • Added action inventoryClear
  • Fixed action itemRemove
  • Fixed mixing hex colors with default color codes
----------, Jan 6, 2021

  • New rule bungeeIsOnline to check, if specified BungeeCord server is online.
  • Fixed placeholders support in bungeeOnline rule.
  • Fixed colors issue (this problem was after previous update).
  • Fixed texture property on newest MC versions.
----------, Oct 24, 2020

  • New action `bulk` to execute multiple similar actions in the specified order.
  • New special actions `setProperty` and `remProperty` to assign or remove item property for some item in the menu.
  • New action `refreshItem` to refresh only one item in the menu.
  • New rules block called `mrules` (minor rules) and `imrules` (inverted minor rules). This blocks uses only in the menu item (button) section. These rules do not influence on item displaying and can be used just for some checking and do actions while item displaying. More information in our Wiki.
  • Added 1.16+ HEX colors support. For example, you can type: "#ff0000Hello, world!"
  • Modified all variables actions. Now you can create/edit/remove variables in bulk. See Wiki to more information.
----------, Oct 14, 2020

  • Added menu generation system
  • Added variables synchronizing between BungeeCord servers. This function is enabled by default. To disable it, see special parameter in the configuration.
  • Added API
  • Added 2 new actions for generated paginated menu
  • Fixed placeholders breaking after PAPI reloading
  • Optimized player heads rendering for online players
  • Optimized code
The 1.16 features, like RGB colors will be added in the next release.
----------, Sep 10, 2020

This is an update with minor fixes.
  • Fixed issue with inventory items moving while menu opened
  • Minor code optimization
----------, Aug 5, 2020

  • Fixed compatibility with new PlaceholderAPI version.
  • command activator event now has the highest priority and give other plugins to modify it.
----------, Aug 1, 2020

  • Economy actions now working with floating-point numbers.
  • Command activators now displayed on tab complete
  • Fixed material data property on 1.12 and lesser MC versions
  • Fixed BukkitRunnable issue on 1.10 and lesser
  • 1.16 support
----------, Jul 7, 2020

In this small update, we fixed placeholders replacement in item lore
----------, Jun 8, 2020

  • Fixed item flags loading
  • Fixed enchantments (it just didn't work after previously update)
----------, Jun 7, 2020

Resource Information
Author:
----------
Total Downloads: 377
First Release: Feb 17, 2020
Last Update: Sep 8, 2024
Category: ---------------
All-Time Rating:
26 ratings
Find more info at abstractmenus.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings