Advanced Achievements
12.1Advanced Achievements enables unique and challenging achievements on Minecraft servers.
12.1lateststability, diagnostics, database safety4 weeks ago Update Highlights
This release focuses on stability, diagnostics, database safety, and advancement generation reliability.Added
- New read-only/aach doctor [page]diagnostics covering: - YAML/configuration - Java & server platform - Integrations - Database health - Queue state - Added missing permissions and improved player-only command feedback. - Added additional regression and descriptor tests. - Added Maven Wrapper and Java 21 / 25 CI coverage.Fixed
- Reworked/aach generateforced regeneration. - Forced generation now performs: - Batched deletion - A singleBukkit.reloadData()- Batched recreation - Already-deleted advancement files are handled safely. - Generation failures now stop immediately, log once, suppress false success messages, and correctly release the generation lock. - Moved/aach inspectBukkit interactions back to the main thread. - Fixed cached-statistic database write confirmation and retry behavior. - Serialized JDBC access to improve database consistency and thread safety.Changed
- Minimum supported environment is now: - Paper / Purpur 1.21+ - Java 21+ - New installations now default to SQLite. - Existing H2 databases remain fully supported with no migration required. - Updated PostgreSQL JDBC to 42.7.13. - Preserved relocated JDBC service providers. - Startup advancement generation remains additive and does not trigger a server data reload. - Root and plugin modules now use Maven${revision}versioning. - Improved plugin descriptor/version validation.Maintenance
- Expanded automated test coverage. - Refreshed changelog and project documentation. - General build, database, and reliability improvements.11.7Progression, Brewing & Stability UpdateSep 13, 2026 AdvancedAchievements v11.7
A major stability and feature update focused on progressive achievements, brewing achievements, GUI accuracy, and localization.Specific Potion Recipe Achievements
* Added support for achievements based on brewing specific potion types. * Potion achievements can now match: * Item type, such asLINGERING_POTION* Exact PaperPotionType, such asTURTLE_MASTER* Added configurable achievements for all 19 craftable potion effects. * Default configuration uses the more difficult lingering potion variants where applicable. * Strong and extended duplicates are intentionally omitted. * Existing numeric Brewing achievements for total potions brewed continue to work normally. Specific potion achievements include support for: * Persistence * GUI progress * Commands * Resets * Cooldowns * PlaceholdersFixed
Progressive / Multi-Tier Achievements
* Fixed an issue where multi-tier achievements could fail to award when thresholds were internally stored in the wrong order. * Progressive achievements are now evaluated individually at every configured threshold. * Players can correctly receive lower achievement tiers even if a higher threshold is processed first. * Achievement thresholds are now restored in the correct subcategory and threshold order when achievement data is rebuilt. * Prevented incorrect achievement ordering from stopping evaluation of other eligible tiers. For example:1 → 20 → 100Each tier will now be awarded independently as the player reaches it.Achievement GUI
* Fixed completed achievement tiers occasionally appearing as incomplete while their database save was still processing asynchronously. * Made the received-achievement cache thread-safe for simultaneous achievement processing and asynchronous GUI loading.Advancement / Category Ordering
* Preserved achievement ordering by subcategory and threshold. * Prevented achievements from different subcategories from becoming interleaved. * Keeps advancement chains and category GUI ordering consistent.Internal Improvements
* Improved achievement threshold processing reliability. * Improved synchronization between achievement awarding, database persistence, and GUI loading. * Added additional regression coverage for progressive achievements and achievement-map rebuilding. * Added dedicated tests using thresholds such asAnvilsUsed: 1, 20, 100. * Verified reverse-inserted achievement tiers are still awarded in the correct progression. * Verified potion recipe matching and threshold processing in the packaged plugin.Added
Ukrainian Translation
* Added full Ukrainian language support.11.6Achievement System ChangesSep 3, 2026 * Removed all permission requirements from normal achievement progression. * Players can now earn achievements withoutachievement.<Name>, category, subcategory, count, or other dynamically generated permissions. * Removed achievement permission checks from event listeners, statistic-based achievements, the GUI, and/aach give. */aach givestill requires the sender to haveachievement.give, but the target player no longer needs permission for the achievement itself. *DisabledCategoriesis now the only configuration option used to disable entire achievement categories. * Removed the obsoleteHideNoPermissionCategoriessetting and related permission/language entries. * Achievement advancement synchronization failures are now non-fatal and can no longer prevent achievements from being saved, cached, or rewarded. * Existing restrictions for disabled worlds, game modes, NPCs, cancelled events, and disabled categories remain unchanged. * Added regression tests covering permission-free achievement progression and the preserved restriction system.11.4hotfix gui.ymlAug 31, 2026 Fixed and built. Root cause: GUIItems treated the fallback Item key as an achievement type, producing Item.Item. Loader now supports both direct fallback items and typed items (normal, rare), including reload cache clearing: GUIItems.java Added regression coverage: GUIItemsTest.java11.3hotfix config handlingAug 30, 2026 Fixed
* Fixed the plugin not loading when multiple achievements use duplicateDisplayNamevalues. * Unique internalNamevalues are still enforced. * Blank display names remain invalid.Improved Achievement Loading
The plugin now continues loading when individual achievements contain invalid configuration instead of failing the entire plugin. It now: * Skips malformed achievements while continuing to load valid ones. * Skips invalid or non-positive threshold entries. * Isolates malformed categories and subcategories. * Logs the exact configuration path for every skipped entry. * Prints a final count of skipped entries after loading. * Prevents failed entries from reserving advancement keys. Global failures that make safe operation impossible, such as unreadable YAML files or invalid database settings, remain fatal.11.2Safer Reloads, Async Database Reads & Improved StabilityAug 30, 2026 This update focuses on making configuration reloads safer, reducing database work on the main server thread, and improving reliability under concurrent activity.Reload & Configuration Improvements
Reloads now properly preserve and re-register the advancement listener.* Configuration-dependent scheduled tasks are fully cancelled and recreated* during reloads. Added transactional configuration reloads.* Configuration is now parsed and validated in temporary state before being applied. * If validation fails, the previous working configuration remains active. * Failed reloads can no longer leave the plugin partially configured. * Added additional validation for: * Database types * Colors * Intervals and thresholds * Database table prefixes * Malformed configuration sections * Duplicate display names * Advancement-key collisionsPerformance Improvements
GUI, book, and ranking database reads now run asynchronously*, reducing unnecessary work on the main server thread. Category GUI completion dates now use bulk database queries* instead of querying achievements individually. Subcategory statistics now use bulk queries*, significantly reducing database requests when loading larger menus. * Improved concurrent cache initialization to prevent statistic updates from being lost during simultaneous operations.Reliability & Testing
* Added regression tests covering: * Configuration rollback after failed reloads * Bundled configuration parsing * Advancement listener registration * Scheduled task recreation * Concurrent caching behavior * Bulk database operations Overall, this release makes reloads considerably safer while reducing database overhead and improving stability on active servers.11.0Aug 19, 2026 - Updated CI to Java 21 + modern GitHub Actions in BUILD.yml. - Made plugin.yml use Maven-filtered ${project.version}. Built output now resolves to 8.0.2. - Added resource filtering and MockBukkit test dependency in advanced-achievements-plugin/pom.xml. - Added Byte Buddy/Mockito version properties and dependency pinning in pom.xml. - Added AdvancementGenerationPerTick to config.yml. - Fixed H2 test/data-folder path handling in H2DatabaseManager.java. - Hardened EOF handling in YamlUpdater.java. - Fixed the potion tests to match the current API in MaterialHelperTest.java. - Fixed item reward testing with MockBukkit in RewardParserTest.java. - Replaced reward command printStackTrace() calls with structured logger calls in RewardParser.java. - Ran formatter; it touched existing format drift across the repo. -Updated project version to 11.0 in pom.xml and plugin parent version in advanced-achievements-plugin/pom.xml. - Removed the advanced-achievements-api Maven module, dependency, and shade filter. - Deleted the public API surface: AdvancedAchievementsAPI AdvancedAchievementsAPIFetcher AdvancedAchievementsBukkitAPI PlayerAdvancedAchievementEvent API-related test - Moved only the required internal category/domain classes into the plugin module so the plugin still compiles without offering a separate API. Replaced the Bukkit custom API event dispatch with direct internal award handling via awardAchievement(...). Please consider leaving a good review for the plugin. Discord Support10.5Configurable Advancement Toast Pop-upsMay 18, 2026 Added ShowAdvancementToasts* config option. * Server owners can now disable Minecraft advancement pop-ups shown in the top-right corner. * This also prevents catch-up advancement pop-ups from appearing when players join. Run /aach generate* after changing this option. Config Option
Please consider leaving a good review for the plugin. Discord Support# Show Minecraft advancement toast pop-ups in the top-right corner when plugin advancements are awarded. Set to false # to disable those pop-ups, including catch-up notifications that can appear when players join. If changed, run # /aach generate to regenerate advancements with the new value taken into account. ShowAdvancementToasts: true10.0fixes and improvementsFeb 6, 2026 - Fix a bad give command crashing parseCommandReward. - Stop dependabot from running. - Fix the generate command not working and throwing an error. - Generate command will run and auto update on server start up. - Ensure balanced performance during the generation by batching the operations. - Updated the background used for the advancement UI and provided proper info for users to find more valid ones. - One config change.
9.02024 UPDATEDSep 20, 2024 - Added support for 1.20+ MC versions. - Added Java 21 requirement. - Updated all dependencies and libraries to 2024 versions. - Fixed and replaced deprecated methods. - Improved potion handling and recognition.
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Plasmo Voice
A proximity voice chat mod with audio positioning and lots of features
4.1MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta