Tags
Creators
Details
Licensed MIT
Published 6 months ago
Updated 6 months ago
All versions
1.0.6
Release
AuMenus v1.0.66 months ago 667
Compatibility
Minecraft: Java Edition
26.1.x
1.21.1–1.21.11
Platforms
Folia
Paper
Changes
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_transitionsin config.yml.
Performance:
- Material lookup cache:
Material.matchMaterialnow 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:
onDisablewas 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 throughUtil.snapshotOnlinePlayers()which retries on CME and falls back to empty. update_intervalbelow 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 arefreshStaticItemspass. - 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_cooldownwas 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>orhead-<owner>instead of plainPLAYER_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_namewhen an item has nocustom_nameso 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.setlogs[Meta] <player> set <key> (<type>) = <value>to console whendebug: true.- Editor logs
[Editor] <type> saved as material '<resolved>'whendebug: true.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:NKkzizIk:J0Adg3zr"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:NKkzizIk:J0Adg3zr"
}

