Bug fixes:
• Double Ore Drops no longer works on player-placed ores
• Piston-moved ores can no longer be mined for bonus drops
• Auto Smelt only applies to naturally generated ores
• Vein Miner only chains from natural ores and no longer multiplies drops
• Double XP from mining no longer applies to player-placed ores
Bug fixes:
• The perks GUI no longer shows every perk as purchased for OP players who have not bought them
• Clicking a perk now matches what the GUI shows instead of charging money for perks marked as owned
Improvements:
• Rank-granted perks show as Unlocked instead of Purchased
• Per-activation mode shows the activation cost in the GUI before you enable a perk
Code:# plugins/PerfPerks/gui/perks-gui.yml — merge under gui.lore-messages: status-granted: "<#6EE7B7>✓ Unlocked" status-activation-cost: "<#94A3B8>Activation cost: <#E2E8F0>{price}</#E2E8F0>"
New features:
• Addedperfperks.perk.<perkname>permission to unlock individual perks for players or ranks without charging them
• Addedperfperks.perk.*wildcard to unlock all perks at once
Bug fixes:
• Double Drops perk no longer dupes the ender dragon egg, spawners or any non-ore block
• Silk-touched ores can no longer be replaced and re-mined to dupe drops; only naturally generated ores qualify
New features:
• New "Double Crop Drops" perk for farming, doubles wheat, carrots, potatoes, beetroots, nether wart, sugar cane, cactus, bamboo, cocoa, sweet/glow berries, melon and pumpkin drops
• Crop drops only double when the crop is fully grown, so seed-only breaks never trigger duplication
Improvements:
• "Double Drops" renamed to "Double Ore Drops" with a clearer label and description
• Player-placed ores are tracked persistently across restarts so the anti-dupe gate is reliable
• Existing players who own or have "double_drops" enabled are migrated automatically on first start, no manual action required
Code:# plugins/PerfPerks/config.yml — replace the old "double_drops" entry with these two perks # (the plugin migrates this automatically on first start, but here is the canonical layout): perks: double_ore_drops: enabled: true price: 7500 display_name: "<#6EE7B7>Double Ore Drops" material: DIAMOND_ORE double_crop_drops: enabled: true price: 7500 display_name: "<#6EE7B7>Double Crop Drops" material: WHEAT # plugins/PerfPerks/config.yml — bump: config-version: 5
New features:
• Added a built-in update checker to all Perf plugins
Improvements:
• New config option:update-checker.enabled: true(enabled by default)
Improvements:
• NightExpress moved from CoinsEngine to ExcellentEconomy on the developer side, so this release switches integration accordingly; config defaults and docs now point toexcellenteconomy/excellenteconomy-currency-id
• Existing setups still work: legacycoinsenginetype and old currency keys are read where supported and migrated on load so balances keep using the same currency id under excellenteconomy
Bug fixes:
• Economy provider setup works reliably with the new ExcellentEconomy integration so paid actions do not silently break at startup
New features:
• Optional effect timeout per perk: potion effects can expire after a set number of seconds
• Optional reminders before effect expiry (actionbar, chat, or both); actionbar has no plugin prefix
• Global purchase mode: buy once and toggle forever, or pay each time you enable a perk
• Option to persist enabled perks after relog or clear them on quit
• Max enabled perks limit (0 = unlimited)
• Optional sound when enabling or disabling a perk
• Admin commands: /perfperks give (player) (perk) and /perfperks revoke (player) (perk)
• PlaceholderAPI expansion: %perfperks_owned_count%, %perfperks_enabled_count%, %perfperks_owned_(perkId)%, %perfperks_enabled_(perkId)%
Improvements:
• Config cache for hot paths (max-enabled, purchase-mode, toggle sound, reminders, per-perk display name/price) to reduce config reads
• Database callbacks now pass updated PerksData so the GUI and cache update without an extra load after give/revoke/purchase/toggle
• Effect timeout seconds are cached and cleared on config reload
