Skip to content

Releases: XPaladiumyX/PremiumAdvancements-Releases

PremiumAdvancements v2.0

25 Jun 19:07
8b5694d

Choose a tag to compare

Changelog

v2.0

🎯 Major Features

📑 Multi-Tabs Support

Advancements are now organized into multiple tabs, each as a separate .yml file in the Advancements/ folder.

  • Tab System - Each file in Advancements/ creates one tab in the Minecraft advancement menu (L key)
  • Tab Selector GUI - /padv gui now shows a tab selection screen when multiple tabs exist. Click a tab to view/edit its advancements
  • Per-Tab Configuration - Each file has its own tab.namespace, root.icon, root.title, root.description, and root.background
  • Global IDs - Advancement IDs are unique across all tabs. Commands like /padv give, /padv take, /padv list work globally
  • Tab Placeholders - New placeholders: %premiumadvancements_tab_completed_<ns>%, _tab_total_<ns>%, _tab_percent_<ns>%

🔄 Auto-Migration (v1.70 → v2.0)

On first startup, if advancements.yml and/or adv-gui.yml are detected at the root:

  • Backup - Old files are copied to backups/migration_YYYY-MM-DD_HH-mm-ss/
  • Merge - A single Advancements/default.yml is created combining adv-gui.yml (tab config) + advancements.yml (advancements)
  • Rename - Old files are renamed to .migrated (never deleted)
  • Notification - Admins receive an in-game message with the backup path

🌐 Web Editor - Multi-Tab Support

The web editor now fully supports multiple tabs:

  • Tab Selector - Dropdown at the top of the sidebar to switch between tabs
  • Tab CRUD - Create, rename, configure, and delete tabs directly from the editor
  • Tab Settings - Configure namespace, title, description, root icon, and background per tab
  • Move Between Tabs - In the Advanced tab of each advancement, a "Tab" dropdown lets you move advancements between tabs
  • Version Gating - Multi-tab features are only visible for v2.0+ data (old v1.70 data shows a single-tab editor)
  • JSON Format - New {tabs: {namespace: {tab: {...}, advancements: {...}}}} format for upload/download

✨ Changes

  • /padv tabs - New command listing all tabs with namespace + advancement count
  • /padv wiki - New command opening the plugin wiki link
  • /padv info <id> - Now shows which tab the advancement belongs to
  • /padv reload - Now properly reloads all tabs (unregisters and re-registers all)
  • /padv apply - Reload completes in 1 tick instead of 20 ticks (near-instant UI update)
  • /padv gui - Opens the TabSelectorGUI first when multiple tabs exist
  • GUI: "← Back to Tabs" and "≡ Tabs" buttons in the advancement list
  • Advancements/ folder auto-created with a default.yml resource file if empty
  • config.yml editor section validation no longer checks for adv-gui.yml/advancements.yml
  • 45 trigger types - Added MANUAL (command-only) and PLACEHOLDER (PAPI-based) triggers
  • 14+ placeholders - Added per-tab placeholders (tab_completed, tab_total, tab_percent)
  • Web editor - Custom Minecraft-themed dropdowns and scrollbars now properly applied
  • Web editor - Trust code modal shown on first visit for browser authorization
  • Web editor - Advancement ID changes now properly update the map key in real-time
  • Language files - Added gui.back-to-tabs, help.commands.tabs, help.commands.wiki, PLACEHOLDER input prompts

🧩 Vanilla Advancement Integration

Minecraft's built-in advancements (Story, Adventure, Nether, End, Husbandry) are now loaded read-only:

  • Auto-loaded - All 125+ vanilla advancements loaded from Bukkit on startup
  • Read-only - Displayed in the web editor but cannot be edited or deleted
  • Proper display - Icons, titles, descriptions, and tree positions extracted via Paper API
  • Hidden toggle - Editor settings gear (⚙ in toolbar) lets you show/hide vanilla tabs in the dropdown
  • Connection lines - Vanilla parent-child tree structure preserved in the editor tree view
  • Hidden advancements - Properly filtered with the eye toggle in tree view
  • No file persistence - Vanilla tabs are never saved to .yml files, always reloaded from Bukkit

🖥️ Web Editor - Quality of Life

  • Editor settings modal - ⚙ gear button in toolbar opens settings with vanilla tabs ON/OFF toggle
  • Cache busting - Nginx ETag + no-cache headers so editor updates take effect without Ctrl+F5
  • version persistence - Editor version preserved in saved data so multi-tab mode survives Save → reload
  • Tab row layout - Improved button sizing and alignment in tab selector (⚙, +, vanilla toggle)
  • Lock icon - Vanilla advancements show a read-only lock indicator

🐛 Fixes

  • CRITICAL: AdvancementTab is already initialised error on reload - now reuses existing RootAdvancement
  • CRITICAL: /padv gui tab-filtered GUI not responding to clicks - fixed title collision with unfiltered GUI
  • CRITICAL: /padv apply deleting default.yml - file cleanup now checks YAML namespace, not just filename
  • CRITICAL: /padv apply failing with DuplicatedException - initSingleTab now catches all exceptions and falls back to getAdvancementTab()
  • CRITICAL: /padv apply creating vanilla .yml files on each apply - vanilla tabs are now properly flagged and excluded from file saves
  • CRITICAL: Web editor sidebar showed wrong trigger display - fixed Vue rendering with proper :key bindings
  • CRITICAL: Web editor advancement ID renames corrupted the map - now properly updates keys and tab lists
  • CRITICAL: Web editor applyCustomDropdowns and applyCustomScrollbar were never called - added lifecycle hooks
  • File Name - saveTabToFile() removes old files with matching YAML namespace but different filename (e.g. default.ymlpremium_advancements.yml)
  • Version now correctly shows 2.0 in plugin.yml and PlaceholderAPI expansion
  • gui.back-to-tabs added to en.yml and fr.yml language files
  • Missing help.commands.tabs added to both language files
  • ConfigUpdater: Fixed duplicated comments in config.yml (replaced broken comment re-insertion with backup+merge strategy)
  • ConfigUpdater: No longer creates adv-gui.yml on fresh installs (prevented unnecessary migration trigger)
  • Fresh installs: Advancements/default.yml now included as a JAR resource with 41 sample advancements
  • Vanilla advancement icons now properly display (GRASS_BLOCK fallback replaced with actual Minecraft item icons)
  • Vanilla advancement tree positions now correctly extracted via NMS reflection

💥 Breaking Changes

  • File Structure - Advancements are now in Advancements/*.yml instead of advancements.yml + adv-gui.yml
  • Migration - Automatic on first startup. Old files renamed to .migrated. Manual rollback possible from backups/
  • Paper 1.21.4+ - Plugin now requires Paper 1.21.4+ for the AdvancementDisplay API used in vanilla advancement extraction

PremiumAdvancements v1.70

20 Jun 12:45
5998899

Choose a tag to compare

Changelog

v1.70

🎯 Major Features

🌐 Web Editor (Browser-Based GUI)

Run /padv editor to get a link to the full-featured browser editor - no local server needed, works via REST API.

  • Live Tree View - Visual advancement hierarchy with real-time positioning, connection lines between nodes, zoom/pan
  • Drag & Drop Positioning - Toggle Move Mode ( button), click an advancement to pick it up, move the mouse to position it in real-time, click again to drop. ESC cancels and reverts to original position
  • Undo / Redo - Ctrl+Z / Ctrl+Y or top-right buttons. Works for both drags and keyboard nudges
  • Arrow Key Nudge - Fine-tune positions with arrow keys (0.5 step, Shift for 1.0)
  • Full Creation & Edit Wizard - Same 5-tab interface (Basic, Trigger, Display, Rewards, Advanced) with dropdowns, tag inputs, icon browser, toggle switches
  • Search & Filter - Filter advancements by name/ID in the sidebar
  • Import / Export JSON - Save and load full advancement presets
  • Responsive Layout - Works on mobile/tablet
  • SVG Controls - All buttons now use centered SVG icons (zoom, reset, eye, move)

🔔 Discord Webhook Integration

Send customizable Discord embeds when players complete advancements.

  • Per-advancement toggle in the edit GUI (slot 25) and YAML config
  • Customizable embed: title, description, color, thumbnail, footer
  • %player% and %advancement% placeholders in title/description
  • Global webhook URL in webhook.yml
  • Works alongside all existing reward types

✨ Changes

  • /padv editor - Opens the web editor (generates trust token on first use)
  • /padv editor-trust <code> - Authorizes a browser session for the editor
  • Webhook toggle in in-game edit GUI (slot 25, below PlayerPoints)
  • Frame type (TASK/GOAL/CHALLENGE) now correctly displays from display.frame in the web editor
  • Stats GUI rework - Player head now shows the actual target skin, recent completions condensed to single slot showing only the most recent, progress display clamped to prevent 101/100 overflow, navigation buttons only show when relevant with proper glass decoration

🐛 Fixes

  • Frame type parsing in web editor: was always showing TASK because display.frame was not read
  • Various web editor UI fixes (button centering, hint layout, responsive breakpoints)

PremiumAdvancements v1.60

24 May 18:46
c24a3f0

Choose a tag to compare

Changelog

v1.60

Major

  • No more restart required!!! Create, edit, delete, or reposition any advancement and run /padv reload - it applies instantly. No more waiting for server restarts to see changes.
  • Hidden advancements - new hidden: true option. Advancements stay invisible until all requires prerequisites are completed. Perfect for secret end-game rewards.
  • Connection system - visually link any advancement to any other with connection.target. Create tree branches with clear visual lines instead of everything connecting to root.
  • Multi-material support - specify multiple blocks, items, entities, inputs, or outputs in a single advancement using YAML lists (e.g. break both stone AND deepslate).

New Trigger

  • CHOP_TREE - breaks any log type automatically (oak, spruce, birch, jungle, acacia, dark oak, mangrove, cherry, pale oak).

Changes

  • Coordinates must now be >= 0 (both x and y). Negative values are rejected by the API.
  • Removed all "restart required" warnings from reload command.

Fixes

  • Hidden advancement unlock messages no longer leak to chat.
  • Progress restores correctly on rejoin for multi-requirement triggers.
  • Circular dependency detection prevents infinite loops.
  • Various GUI slot ordering, pagination, and shutdown fixes.

PremiumAdvancements v1.50

12 May 08:32
0794282

Choose a tag to compare

Changelog — v1.50

What's New

PlaceholderAPI Integration

8 new placeholders to display player progress anywhere on your server:

Placeholder Description
%premiumadvancements_completed% Total completed advancements
%premiumadvancements_total% Total available advancements
%premiumadvancements_progress_<id>% Per-advancement progress
%premiumadvancements_completed_<id>% Completion status (true/false)
%premiumadvancements_percent% Overall completion %
%premiumadvancements_latest% Name of last completed advancement
%premiumadvancements_ranking% Player rank by completions

25+ New Trigger Types

Trigger Description
FISH Catch fish
BREED Breed animals
TAME Tame animals
CONSUME Drink potions/milk/honey
EAT Eat food
HARVEST Harvest crops
TRADE Trade with villagers
ENCHANT Enchant with specific enchantment
POTION_EFFECT Get a potion effect
DEATH Die by specific causes
DAMAGE_DEALT Deal damage
DAMAGE_TAKEN Take damage
JUMP Jump
DROP_ITEM Drop specific items
SHEAR Shear entities
MILK Milk cows/mooshrooms
ARMOR_EQUIP Equip armor pieces
SNIFF Brush suspicious sand/gravel
RIPTIDE Use riptide trident
RAID_WIN Win a raid
TARGET_BLOCK Hit a target block
BELL_RING Ring a bell
CROSSBOW_SHOT Shoot a crossbow
FIREWORK Launch fireworks
GLIDE Glide with elytra
SWIM Swim
CLIMB Climb
SLEEP Sleep in a bed
FILL_BUCKET Fill a bucket
EMPTY_BUCKET Empty a bucket
COMPOSTER_USE Use a composter

New Commands

  • /padv info <id> — View advancement details and placeholder IDs
  • /padv placeholders — List all available placeholders

GUI Improvements

  • Advancement ID now shown in GUI lore for easier identification

Bug Fixes

  • Fixed progress not restoring on rejoin for multi-requirement triggers
  • Fixed mooshroom entity naming (MUSHROOM_COWMOOSHROOM)
  • Fixed MUSHROOM_COW entity matching for MILK/BREED/TAME/SHEAR triggers
  • Fixed sound serialization bugs in BREED trigger GUI
  • Fixed dot-format sound names across all advancements
  • Fixed chat input listener issues
  • Fixed TRAVEL_DIMENSION console error spam
  • Fixed various database shutdown issues
  • Many other stability improvements and bug fixes

PremiumAdvancements v1.40

04 Jan 21:19
9cdbace

Choose a tag to compare

📝 Changelog - Premium Advancements v1.40

🎉 Major Update: 7 New Trigger Types + Critical Fixes!

This update introduces 7 brand new advancement triggers, bringing the total to 12 trigger types, plus critical bug fixes and quality-of-life improvements!


🐛 Critical Bug Fixes

Navigation & UI

  • Fixed Previous Page button not working in /padv gui - players can now navigate backwards through pages
  • Fixed page navigation state management - page position is now properly maintained when reopening GUI
  • Fixed pagination display - current page and total pages now show correctly

Travel Distance Tracking

  • Fixed TRAVEL_DISTANCE trigger saving/loading - distance and travel mode now persist correctly across server restarts
  • Fixed ELYTRA mode counting walking movement - elytra flight is now properly detected and tracked separately
  • Fixed BOAT mode counting walking movement - vehicle movement is now correctly isolated from walking
  • Fixed distance not resetting after completion - players can now repeat travel achievements properly

Configuration System

  • Fixed language file updates not preserving user customizations - merge system now correctly keeps user edits
  • Fixed config merge recursion issues - deep nested sections now update properly without corruption
  • Fixed backup system creating unnecessary backups - only creates backups when actual changes are detected

Advancement Registration

  • Fixed Dynamic Advancement Registration - newly created advancements are now immediately functional without restart
  • Fixed UI initialization order - prevents "advancement not initialized" errors

⭐ New Features

🆕 Advanced Triggers (7 NEW!)

Track items crafted by players in crafting tables or inventory crafting.

Features:

  • ✅ Detects crafting table and 2x2 inventory crafting
  • ✅ Supports shift-clicking (mass crafting)
  • ✅ Works with vanilla and custom items (ItemsAdder/Oraxen)
  • ✅ Cumulative tracking across sessions

Example:

master_crafter:
  title: "Master Crafter"
  description: "Craft 64 diamond pickaxes"
  icon: DIAMOND_PICKAXE
  trigger: CRAFT_ITEM
  item: DIAMOND_PICKAXE
  amount: 64

🔥 2. SMELT_ITEM Trigger

Track items smelted in furnaces, blast furnaces, and smokers.

Features:

  • ✅ Works with Furnace, Blast Furnace, and Smoker
  • ✅ Detects the output item (smelted result)
  • ✅ Supports item filtering
  • ✅ Tracks cumulative smelting

Example:

iron_smelter:
  title: "Iron Smelter"
  description: "Smelt 100 iron ingots"
  icon: IRON_INGOT
  trigger: SMELT_ITEM
  item: IRON_INGOT
  amount: 100

⚒️ 3. ANVIL_USE Trigger

Track anvil usage including renaming, repairing, and combining items.

Features:

  • ✅ Detects all anvil operations
  • ✅ Optional filtering by input item
  • ✅ Optional filtering by output item
  • ✅ Perfect for repair/enchant challenges

Example:

item_repairer:
  title: "Item Repairer"
  description: "Repair items in an anvil 10 times"
  icon: ANVIL
  trigger: ANVIL_USE
  amount: 10

🪨 4. GRINDSTONE_USE Trigger

Track grindstone usage for removing enchantments.

Features:

  • ✅ Detects enchantment removal
  • ✅ Optional item filtering
  • ✅ Tracks each grindstone transaction

Example:

disenchanter:
  title: "Disenchanter"
  description: "Remove 5 enchantments using a grindstone"
  icon: GRINDSTONE
  trigger: GRINDSTONE_USE
  amount: 5

✨ 5. ENCHANT_ITEM Trigger

Track enchanting at enchantment tables.

Features:

  • ✅ Detects enchantment table usage
  • ✅ Filter by item type (optional)
  • ✅ Filter by enchantment type (optional)
  • ✅ Set minimum enchantment level
  • ✅ Perfect for progression systems

Example:

master_enchanter:
  title: "Master Enchanter"
  description: "Apply Sharpness III or higher"
  icon: ENCHANTING_TABLE
  trigger: ENCHANT_ITEM
  item: DIAMOND_SWORD

🌐 6. ENTER_DIMENSION Trigger

Track when players enter the Nether or End dimensions.

Features:

  • ✅ Detects dimension changes
  • ✅ Prevents duplicate triggers on teleport loops
  • ✅ Supports NETHER and END dimensions
  • ✅ Perfect for exploration achievements

Example:

nether_explorer:
  title: "Nether Explorer"
  description: "Enter the Nether for the first time"
  icon: NETHERRACK
  trigger: ENTER_DIMENSION
  dimensionType: NETHER

Dimension types:

  • NETHER - The Nether dimension
  • END - The End dimension

🏃 7. TRAVEL_DISTANCE Trigger

Track distance traveled by players with different movement modes.

Features:

  • ✅ Persistent tracking across sessions
  • ✅ Multiple travel modes (TOTAL, WALKING, BOAT, ELYTRA)
  • ✅ Shows progress in action bar
  • ✅ Perfect for exploration challenges

Example:

marathon_runner:
  title: "Marathon Runner"
  description: "Walk 10,000 blocks"
  icon: GOLDEN_BOOTS
  trigger: TRAVEL_DISTANCE
  travelMode: WALKING
  amount: 10000.0

Travel modes:

  • TOTAL - Any movement (default)
  • WALKING - Walking/running only
  • BOAT - Boat or vehicle movement
  • ELYTRA - Elytra flight only

Progress tracking:

  • Saved every 10 blocks traveled
  • Persists across server restarts
  • Shows live progress in action bar

🔧 Quality of Life Improvements

Smart Features

  • Smart ID Generation - advancement IDs are now automatically based on titles (e.g., "Novice Traveler" → novice_traveler)
  • Admin Update Notifications - operators are now notified in chat when language files are updated on server start
  • Improved Backup System - old language/config files are automatically backed up to backups/ folder with timestamps
  • Enhanced Error Messages - clearer feedback when advancements fail to trigger or when conditions aren't met

User Experience

  • Better Progress Feedback - action bar shows real-time progress for all counter-based triggers
  • Improved GUI Responsiveness - faster navigation and item updates
  • Clearer Trigger Types - all triggers now show helpful descriptions in the GUI

🔧 Technical Improvements

Performance & Stability

  • ✅ Improved event handling for new triggers (minimal performance impact)
  • ✅ Optimized distance tracking (updates every 10 blocks instead of per-tick)
  • ✅ Better caching system for dimension changes (prevents spam on rapid teleports)
  • ✅ Reduced database calls with smarter progress tracking and batching
  • ✅ Enhanced language file update detection system with smart merging
  • ✅ Better config merge logic that preserves user customizations
  • ✅ Improved error handling for dynamic advancement registration
  • ✅ Fixed memory leaks in cache cleanup methods

Code Quality

  • ✅ Refactored trigger handling for better maintainability
  • ✅ Added comprehensive null checks for item metadata
  • ✅ Improved async/sync task separation for database operations
  • ✅ Better exception handling in advancement listeners

GUI Updates

  • ✅ New configuration options for all 7 triggers
  • ✅ Enhanced input validation
  • ✅ Better error messages for invalid configurations

Language Support

  • ✅ Full English translations for new triggers
  • ✅ Full French translations for new triggers
  • ✅ 50+ new translation keys

Database

  • ✅ Improved progress tracking for distance-based advancements
  • ✅ Better async saving for travel distance
  • ✅ Optimized storage for cumulative tracking

🐛 Additional Bug Fixes

Trigger-Specific Fixes

  • ✅ Fixed shift-click crafting not being tracked properly in CRAFT_ITEM
  • ✅ Fixed dimension change spam on world teleports in ENTER_DIMENSION
  • ✅ Fixed travel distance not persisting on server restart
  • ✅ Improved item detection for custom model data items (ItemsAdder/Oraxen)
  • ✅ Fixed SMELT_ITEM not detecting Blast Furnace and Smoker operations
  • ✅ Fixed ANVIL_USE triggering on empty anvil clicks
  • ✅ Fixed GRINDSTONE_USE not properly detecting enchantment removal
  • ✅ Fixed ENCHANT_ITEM not validating minimum level correctly

PremiumAdvancements v1.32

31 Dec 12:32
bc4409a

Choose a tag to compare

🔄 Changelog – v1.32

  • Fixed Woodcutter Default Advancement.
  • Fixed all untranslated English texts in French
  • Added automatic configuration migration system, your configs now update seamlessly between versions while preserving custom changes
  • Fixed Create Advancement GUI not displaying all configuration options on first open

PremiumAdvancements v1.31

30 Dec 17:15
bc4409a

Choose a tag to compare

  • Added Support for Formatted Chats e.g &b,&e,&c...
  • Fixed SLF4J Error
  • Manual advancement editing is now supported without GUI override

PremiumAdvancements v1.3

29 Dec 12:49
fe09a4d

Choose a tag to compare

🔄 Changelog – v1.3

  • Fixed update checker reliability and stability
  • Added advancement dependencies system (requires)
  • Prevented advancements from being unlocked before required ones
  • Enabled full progression trees for custom advancements
  • Added per-world advancement conditions
  • Added permission-based advancement conditions
  • Reworked the advancements display GUI (/padv gui)
  • Advancements are now correctly listed and ordered in the GUI
  • Added multi-page support to the advancements GUI
  • Improved validation when unlocking advancements
  • Minor internal optimizations and cleanup

PremiumAdvancements v1.2

23 Dec 14:16
fe09a4d

Choose a tag to compare

Added Update Checker
Added Multiple Language Support
Added Custom model Data Advancement Icon Support

PremiumAdvancements v1.1

21 Dec 20:09
fe09a4d

Choose a tag to compare

Obfuscated the code