The "Evolution Update". Jumping from 1.8 → 2.0. This version introduces deep menu customization, optimized data handling, and native 1.21.11 support.
TL;DR
- MC Support: 1.17 → 1.21.11 (Latest)
- Tech Stack: Upgraded from JDK 1.8 to JDK 17
- Customization: Fully configurable menu slots, lore layouts, and per-menu materials.
- New Features: Achievement pinning, and a dedicated /team GUI.
- Rewards: Internalized reward system with global and per-achievement config.
- Bonus: New custom Winter theme included.
Compatibility
- Minecraft: 1.17 – 1.21.11
- Java: Requires JDK 17 or higher.
- Platform: Paper, Spigot, and forks.
Breaking / Notable Changes
- JDK Upgrade: The plugin now requires Java 17. Support for Java 8 has been officially retired.
- Config Reorganization: The config.yml has been entirely restructured. It is recommended to let the plugin generate a new one.
- Solo Teams (UUID): In solo mode, teams are now based on the first 8 characters of the player's UUID to prevent mass duplication issues.
- Reward Logic: The reward system is now internal for better stability and performance.
New Features
Configuration & Menus
- Dynamic Menus: New menu section in config encompassing materials, slots, and lore_layouts.
- Lore Layouts: Modify the finest details of item and button lores directly in the config.
- Slot Config: You can now define exactly which slot every item occupies in each menu.
- Per-Menu Materials: Customize the look of each menu independently.
Gameplay & Achievements
- Pinning System: Players can now "pin" achievements. Added a dedicated placeholder for pinned progress.
- Team GUI: A new interactive menu to manage teams, accessible via /team.
- Winter Theme: A full custom Winter-themed skin for your menus.
Rewards System
- Per-Achievement Rewards: Configure specific rewards for each achievement.
- Global Rewards: Set rewards that apply to all completions.
Improvements & Fixes
- Performance: Significant optimizations for Database (DB) access to reduce lag on high-population servers.
- Core: Updated plugin.yml and internalized logic for smoother operation.
Support Matrix (Updates)
- 1.21.9: Added support for new blocks in USE and BLOCK_MODIFY categories. Added Copper Armor support for ARMOR_EQUIP.
- 1.21.11: Added Camelhusk tracking for the CAMEL_DISTANCE category.
YAML Configuration Preview
Add these new sections to your config to take advantage of the new layouts:
YAML
menu:
# Configure layouts for all menus
lore_layouts:
achievement_item:
- "&7Status: %status%"
- "&7Progress: %progress%"
- ""
- "&eClick to pin this achievement!"
# Configure custom slots for each menu
slots:
main_menu:
leaderboard: 48
team_manage: 50
close_button: 49
global_rewards:
- "eco give %player% 100"
- "msg %player% &aCongrats on your progress!"
Jumping from 1.4 → 1.8. All prior builds are retired. This is the last 1.x line before 2.0.
TL;DR
- MC support: 1.17 → 1.21.8
- No more external dep:
crazyadvancementsapiremoved (logic is now internal)- New achievement types:
EGG_THROW,GHAST_DISTANCE,WINDCHARGE_THROW,HORSE_DISTANCE- Quality & fixes: stricter VANILLA wildcard, snowball not double-counting, NPC wildcard works, cleaner logs
- New placeholders & command tweak
- Team auto-deletion flow (with confirm window & messages)
- Dev note: base package moved from
com.forgotdot.*→com.frameleaf.*
Compatibility
- Minecraft: 1.17 – 1.21.8
- Versioned listeners now register gracefully per version; optional handlers log as “registered” when present and stay silent when absent.
Breaking / Notable Changes
- Package path change (for devs):
com.forgotdot.*➜com.frameleaf.*
Update your imports if you integrate or extend the plugin.
- Dependency removal:
crazyadvancementsapiis no longer required; internal toast/advancement logic is bundled.
New
Achievement Categories
EGG_THROW— includes new egg variants where applicableGHAST_DISTANCE— (1.21.6+)WINDCHARGE_THROW— (1.21+)HORSE_DISTANCE— track distance covered while riding a horse
Placeholders
- Per-day total available (permission-aware):
%advancementscore_total_achievements_perday%
- Per-player completion (within current team):
-%advancementscore_player_completed%— calling player
-%advancementscore_player_completed_<PlayerName>%— specific player
- Team progress:
-%advancementscore_team_achievements%— current player’s team total
-%advancementscore_team_achievements_<teamId>%— for a given teamId
-%advancementscore_team_teamid_<teamId>%— prints<teamId>
Commands
-/achievement give <teamId> <achievementId> [playerName]
Optional playerName credits the completion to a specific player.
(/achievement progress set|add ...does not take a player; it records null for source.)
-/team confirmdelete <teamId>
Improvements & Fixes
- Console/Logging
- Cleaner, less noisy logs; optional version-specific listeners no longer warn when simply not present.
- “Unwanted” log lines removed or toned down.
- Licensing
- License check refined and hardened.
- VANILLA achievements
- Wildcard now only matches true vanilla (namespaceminecraft:).
Custom/datapack/plugin advancements won’t triggerVANILLAwhen using*.
- Throwables
- Snowball no longer increments x2 (main-hand only, right-click gating).
- Eggs use the same anti-double-trigger pattern; new egg variants supported where available.
- NPC Interaction (Citizens)
- Wildcard*works: when arguments contain*, the item in main hand is used as the “given” material.
- USE category
- Missing usable blocks added.
-achievements.ymltouched up & extended to include all shipped categories.
New Team Auto-Deletion Flow
When a team is reduced to one player and that player leaves (or the last player is kicked):
- The action is paused; the player (or staff with perms) must confirm deletion within 60s:
-/team confirmdelete <teamId>
- Admins (OP orteam.join) leaving a one-member team won’t auto-delete the team.
Add these toconfig.yml:
YAML:messages: team_delete_confirm_leave: "&cYou are the last member of &e%team_name%&c. Type &e/team confirmdelete %team_id% &cwithin &e%seconds%s&c to delete it. Your leave is on hold." team_delete_confirm_kick: "&eOnly you remain in &6%team_name%&e. Type &e/team confirmdelete %team_id% &ewithin &e%seconds%s &eto delete the team." team_delete_confirm_expired: "&cDeletion request expired." team_delete_aborted_members: "&eDeletion aborted: the team has more than one member now." player_leaderboard_entry: "&a%player_name% &7(%count% achievements)"
Support Matrix (what changed per MC version)
- 1.17: base
- 1.18: no code changes
- 1.19 / 1.20: extended BlockModify / Use coverage
- 1.21: extended BlockModify / Use, added WindchargeThrowListener, CamelDistanceListener, updated PotionUse
- 1.21.4: extended BlockModify / Use
- 1.21.5: extended Use, added EggThrowListener for new eggs
- 1.21.6: added GhastDistanceListener
- 1.21.8: this release, plus stability & logging polish
