Перейти к содержимому
Mineforgian

AuMenus

Lightweight, open-source alternative to Deluxemenus for Paper and Folia 1.21.1+

Загрузки
246
Подписчики
2
Обновлён
10 мая 2026 г.
Лицензия
MIT

Опубликован 24 марта 2026 г.

banner

AuMenus

A lightweight, open-source GUI menu plugin for Paper & Folia 1.21.1+. The modern DeluxeMenus alternative with native Folia support, MiniMessage formatting, and zero required dependencies. One command migrates your existing DM configs.


Key Things That Set It Apart

01. Open source (MIT). Fork it, modify it, no restrictions. Most menu plugins are closed source or paid.

02. Native Folia & Paper support. Built on the region-threaded scheduler from day one. No compat layer, no external scheduler library.

03. Zero dependencies. Drop the jar in and it works. Vault and PlaceholderAPI are optional, not required.

04. Built-in DeluxeMenus migration tool. One command converts your existing configs.

05. Supports modern text formatting. Gradients, hover text, click events. MiniMessage native, not bolted on.


Features

MiniMessage Formatting

Modern text formatting with gradients, hover text, and click events. Legacy color codes still work for migration.

Requirement System

Conditions that control who can open menus, click items, and see items. Permissions, money, exp, items, metadata, regex, math expressions, location, and inverted checks. The expression engine handles &&, ||, parentheses, and string methods natively. DeluxeMenus needs a JavaScript engine for the same thing.

In-Game Editor

Drag and drop menu editing without touching config files. Move items around, add new ones, pick items up to clear slots. Closing the editor saves the YAML. DeluxeMenus does not have this.

Pagination

Multi page menus for large item lists. Built-in prev_page and next_page actions, plus {page} and {max_page} placeholders that work in titles, item names, and lore.

Smooth Menu Transitions

Page changes and same-size menu opens (like shop categories spread across multiple YAMLs) reuse the existing window instead of closing and reopening it. No flicker, even when the title contains the page number. No other menu plugin does this. Toggleable in config.yml.

Target Player

View another player's data through any menu by passing -p:playername to the command, or as the first argument with tab completion. Placeholders resolve against the target. Works online and (optionally) offline.

Persistent Player Metadata

Store per player data (strings, numbers, booleans) that survives restarts. No database file, no extra storage. Backed by Minecraft's PersistentDataContainer, stored on the player object directly. Set, add, subtract, switch, or remove via menu actions or /am meta. Read it back with PlaceholderAPI or check it in requirements.

Anvil and Chat Text Input

Collect free text from players. Anvil input opens an anvil GUI where the player types into the rename field. Chat input closes the menu and waits for the next chat message. Build search menus, naming systems, custom forms. DeluxeMenus does not have this.

Item Templates

Define a reusable item once in templates/, then use it across menus with variable substitution. Set material, name, lore, click actions, and requirements with {variable} placeholders, then fill in values per use. Write your shop entry once, reuse it for every item.

Pattern Layouts

Lay out a menu with a character grid instead of counting slot numbers. Map characters to items and AuMenus places them automatically.

Animated Items

Frame cycling items with configurable interval, reverse, and one-time playback. Each frame can override material, name, lore, and enchantments. Built in, no extra plugin needed.

Progress Bars

Fill a row of slots based on a current/max value from placeholders. Set the filled and empty visuals separately. Works for XP, quests, dungeon progress, anything with a ratio.

Dynamic Titles

Update an inventory's title on a timer with live placeholders. Countdown timers, online player counts, balance displays, weather and time indicators. Updates ride the same flicker-free path as page changes.

Player List Menus

Auto generate page items for every online player from a single template. Configure the head, name, and lore once. Click actions target the listed player. Build staff lists, friends menus, party invites, teleport menus.

Predicate Menus

Open different menus based on a requirement check. Configure a condition and two target menus, pass and fail. AuMenus routes the player to the right one.

Developer API

Other plugins can register custom action and requirement types, listen to menu events, and open menus programmatically. Available on JitPack. The codebase is open source so you can read exactly how it works.

DeluxeMenus Migration

One command converts existing DeluxeMenus configs. Menu options, items, actions, requirements, placeholders, even JavaScript expressions. Original files left untouched.


Extras

  • Anvil and chat text input
  • Per click type actions (left, right, shift+left, shift+right, middle)
  • Offline player placeholder support
  • BungeeCord and Velocity server switching
  • Click cooldowns, global default plus per menu overrides
  • Raw sound actions for resource pack custom sounds
  • Built-in placeholders: {page}, {max_page}, {target}, {player}, plus %aumenus_current_menu% and %aumenus_previous_menu%
  • Configurable plugin messages
  • HeadDatabase, ItemsAdder, Oraxen, Nexo support

For Contact

shopprofilesettings

Contact

Ченджлог

1.0.6Релиз26.1, 26.1.1, 26.1.2 · 10 мая 2026 г.

v1.0.6

Features:

  • Flicker-free menu transitions: page changes and same-size cross-menu opens swap title and contents in a single bundle packet, no intermediate empty frame. Toggle with smooth_transitions in config.yml.

Performance:

  • Material lookup cache: Material.matchMaterial now resolved once per unique string.
  • Static ItemStack cache: items with no placeholders and no player-dependent material are built once and cloned on subsequent renders. Cleared on reload.
  • Cross-menu smooth swap nulls only orphan slots instead of calling inventory.clear() on the whole inventory.

Fixes:

  • Crash on disable: onDisable was closing every online player's open inventory, NPEing on Folia for real Ender Chests during world teardown. Now only closes our own menus, try/catch around each.
  • ConcurrentModificationException on Folia from tab-complete and broadcast actions iterating Bukkit.getOnlinePlayers() mid-mutation. All iterations now go through Util.snapshotOnlinePlayers() which retries on CME and falls back to empty.
  • update_interval below 1 second was ignored (global task capped at 1 second). Task now ticks at 50ms.
  • Animated items flickering back to base (update task was overwriting frames the animation task had just written).
  • Static items with {page} / {max_page} in lore showed stale numbers after paging. Added a refreshStaticItems pass.
  • Meta add/subtract on DOUBLE accumulated floating-point error. Now uses BigDecimal and preserves input scale.
  • Bare action names in requirement deny lists (e.g. - close) were sent to chat instead of executed.
  • player: action no longer double-slashes commands starting with /.
  • click_cooldown was cached at enable and not refreshed on /am reload. Now read live from config.

Editor fixes:

  • Freshly dropped items were deleted on save (orphan-cleanup loop iterated a live view that included items it had just added).
  • Player head textures were lost. Dropped heads now save as basehead-<texture> or head-<owner> instead of plain PLAYER_HEAD.
  • Only material/slot/amount/name/lore were captured. Now also captures custom_model_data, item_model, tooltip_style, enchantments, item_flags, unbreakable, rarity, hide_tooltip, damage, and leather/potion RGB.
  • Names and lore now serialize with MiniMessage so colors, gradients, fonts, and decorations survive (was plain text).
  • Falls back to item_name when an item has no custom_name so resource-pack items with only the canonical name save correctly.
  • Nexo, ItemsAdder, Oraxen, and HeadDatabase items now save as nexo-<id> / itemsadder-<id> / oraxen-<id> / hdb-<id> via each plugin's reverse-lookup API instead of as their vanilla base material.
  • Items dragged in with stale editor PDC tags from a prior editor session (e.g. shift-clicked out, dropped into a new menu) were saved as bare slot: stubs. Tags are now ignored unless they target a name that already exists in the current menu's config.
  • Per-property metadata captures are wrapped so a single failing API call (e.g. on a future-version-only method) skips that section instead of aborting the whole item.

Diagnostics:

  • Defensive %player_name% fallback at the end of action/placeholder resolution, with debug log when the fallback fires.
  • MetaStore.set logs [Meta] <player> set <key> (<type>) = <value> to console when debug: true.
  • Editor logs [Editor] <type> saved as material '<resolved>' when debug: true.
1.0.5Релиз1.21.11, 26.1, 26.1.1 · 3 апреля 2026 г.

v1.0.5

Features:

  • Item templates: reusable items in templates/ folder with variable substitution
  • Pattern-based layouts: define menu layouts using character grids
  • Animated buttons: frame cycling with configurable interval, reverse, and one-time play
  • Progress bar items: fill slots based on current/max values from placeholders
  • Dynamic titles: update inventory title on timer with live placeholders
  • Player list items: auto-generate page items for online players
  • Predicate menus: open different menus based on requirements

Performance:

  • 27 optimizations across caching, scheduling, placeholder resolution, data structures, and rendering
  • Dirty checking on item updates (skip packet when unchanged)
  • Pre-built animation frames, page-only player list generation
  • Global async tasks replace per-holder tasks

Fixes:

  • Target player preserved on menu reload
  • player: action no longer double-slashes commands starting with /
  • Minimum click cooldown enforced
  • MiniMessage injection escaped in error messages
  • Global tasks cancelled on disable
  • Dead code removed, legacy codes replaced with MiniMessage
1.0.4Релиз1.21.10, 1.21.11, 26.1 · 28 марта 2026 г.

v1.0.4

Features:

  • /am with no args shows help
  • Hooks wiki page (Vault, PAPI, HeadDatabase, ItemsAdder, Oraxen, Nexo)
  • config.yml settings documented
  • rawsound, broadcast_rawsound, broadcast_rawsound_world actions documented

Fixes:

  • {target} and PAPI placeholders not resolving for target player in click actions
  • Anvil input showing XP cost visual desync
  • Click cooldown triggering on empty slot clicks
  • previous_menu not updating correctly when navigating between menus
  • target_player_arg tab completion not working until reload
  • Filler items overriding priority/view_require items on shared slots
  • %player_name% and built-in placeholders not resolving for target player in click actions
  • Unknown /am subcommands showing Brigadier error instead of help
  • string_contains_ignorecase missing from wiki
  • model_data/item_model docs clarified for resource pack users
1.0.3Релиз1.21.10, 1.21.11, 26.1 · 26 марта 2026 г.

v1.0.3

Features:

  • target_player_arg: first argument as target player, no -p: needed, with tab completion
  • %aumenus_current_menu%, %aumenus_previous_menu% placeholders
  • Configurable "player not found" message (config.yml messages section)
  • Download links added to README

Fixes:

  • Deny actions not running on failed optional requirements
  • previous_menu looping when navigating back between menus
  • Commands showing red after reload (CommandMap registration)
  • Fix {deluxemenus_meta_} in math placeholders not converting during migration

Wiki updated to latest.

1.0.2Релиз1.21.10, 1.21.11, 26.1 · 25 марта 2026 г.

Minor bug fixes to command registration

1.0.1Релиз1.21.9, 1.21.10, 1.21.11 · 25 марта 2026 г.

minor bug fixes & improvements

1.0.0Релиз1.21.9, 1.21.10, 1.21.11 · 24 марта 2026 г.

First Release

Комментарии

Загружаем…