BlockyDonations | Tebex, Minestore, etc v2.0.3

Where growth meets revenue - turn every donation into a server-wide celebration!

Hold Shift and click to select a range

Latest
Compatible with Minecraft 1.21 - 26.3

v2.0.3 - Multi-Provider & Multi-Currency Support


[+] Added support for multiple donation providers
[+] Added KantoPay provider with payments, goals, coupons, and gift cards
[+] Added manual payment provider
[+] Added /bd record command for manually recording donations
[+] Added per-provider leaderboards, revenue tracking, and latest purchases
[+] Added per-provider goal configuration
[+] Added multi-currency tracking and automatic exchange rate conversion
[+] Added combined leaderboards with currency conversion
[+] Added provider-specific filtering to /bd top
[+] Added provider-scoped PlaceholderAPI support
[+] Added goal completion rewards with configurable commands and chance-based execution
[+] Added SkinRestorer integration for skin URL resolution
[+] Added /bd ggwave [start|stop|status] command for managing GG Waves independently
[+] Added optional FancyHolograms and FancyNpcs integrations

[~] Improved multi-provider status output with pagination
[~] Improved provider and currency validation
[~] Improved provider key normalization and legacy configuration migration
[~] Improved exchange rate caching and fallback handling
[~] Improved provider query performance with database indexing and caching
[~] Improved provider error handling and logging
[~] Improved player name sanitization in rewards and broadcasts
[~] Improved configuration migration while preserving existing formatting
[~] Refactored HTTP and JSON handling into shared utilities

[!] Fixes:

  • Resolved provider and currency filtering inconsistencies
  • Improved migration from the legacy store.provider configuration
  • Improved handling of unavailable or stale exchange rates



[!] Notes:

  • Multiple providers can now be configured through store.providers
  • Provider-specific goals, leaderboards, revenue, and currencies are supported
  • Currency conversion uses configurable exchange-rate caching
  • /bd record requires the manual provider to be configured
  • GG Waves can now be controlled independently from donation broadcasts

 

v2.0.2 Async Skin Resolution & Milestone Improvements


[+] Added asynchronous skin and player head resolution
[+] Added background cache warming for skin/head lookups
[+] Added milestone test support
[+] Added milestone ID tab-completion
[+] Added flexible milestone metric parsing with alias support
[+] Added hover event support for cross-server broadcasts
[+] Added improved pre-release version comparison

[~] Improved skin and head placeholder performance
[~] Improved Mojang/Geyser lookups to avoid blocking the main thread
[~] Improved network broadcast rendering and placeholder handling
[~] Improved milestone testing and completion handling
[~] Improved Discord goal completion deduplication
[~] Improved Discord rate-limit handling
[~] Improved console donation broadcasts
[~] Improved fallback player head visibility

[!] Fixes:

  • Resolved blocking skin lookups causing main-thread stalls
  • Resolved duplicate milestone and goal completion broadcasts
  • Resolved Discord fractional rate-limit retry handling



TL;DR:

  • Skin/head placeholders now use cached or fallback values immediately while refreshing in the background
  • Milestones can now be tested directly through the test command
  • Cross-server donation broadcasts now support hover events

v2.0.1 Milestone & Cross-Server Improvements


[+] Added OfflinePlayer support for PlaceholderAPI placeholders, allowing milestone placeholders to resolve correctly for offline players
[+] Added UUID-based player identification for milestone completion handling
[+] Added player UUID information to milestone network synchronization payloads for reliable cross-server player resolution
[+] Added improved cross-server milestone completion handling with UUID-first player lookup and name fallback

[~] Improved milestone network synchronization to respect each node's announceComplete configuration
[~] Improved milestone completion broadcasts to prevent the player who triggered a milestone from receiving duplicate announcements
[~] Improved PlaceholderAPI placeholder handlers by removing unused variable declarations
[~] Improved Discord rate-limit handling to correctly parse fractional retry-after values
[~] Improved reliability of cross-server milestone events when players are offline or cannot be resolved by name

Download 0
No ratings yet
Purchase required

Compatible with Minecraft 1.21 - 26.2

[+] Added Redis network synchronization for multi-server setups
[+] Added cross-server syncing for donation broadcasts, GG Wave, and goal announcements
[+] Added player-specific milestone system with progress tracking
[+] Added configurable milestones based on total spending, package spending, and package counts
[+] Added repeatable milestones with configurable active time periods and package filters
[+] Added milestone rewards with console, player, and message execution support
[+] Added PlaceholderAPI support for milestone progress and completion data
[+] Added Redis-based synchronization for milestone completions
[+] Added Redis leader election and distributed deduplication to prevent duplicate network events
[+] Added secure HMAC-SHA256 verification for Redis network messages
[+] Added support for pre-release version tags in the update checker
[+] Added enhanced broadcast message handling with input sanitization and click event support

[~] Improved Redis error handling and network payload validation
[~] Improved donation broadcast synchronization by rendering messages before sending them across the network
[~] Improved milestone placeholder performance with cached lookups
[~] Improved goal announcement handling across multiple servers
[~] Improved security and validation for database and Redis operations
[~] Improved handling of malformed network messages and invalid Redis signatures
[~] Improved Discord synchronization and deduplication when Redis is enabled
[~] General reliability, security, and performance improvements

[!] Fixes:
Resolved issues with malformed Redis network messages causing errors
Improved handling of invalid or unsigned network messages
Improved database schema modification safety
Improved consistency of donation and goal announcements across multiple servers

[!] Notes:
• Redis synchronization allows donation-related events to be shared across multiple servers
• Milestones can track individual player progress and can be configured to repeat
• Milestones support TOTAL_SPEND, PACKAGE_SPEND, and PACKAGE_COUNT tracking
• Milestone progress can be displayed using new %bd_milestone__* placeholders
• Redis synchronization requires a shared network configuration and network secret when security verification is enabled
• This release includes support for the 2.0.1-beta pre-release version format

Full Placeholder List


Placeholder Description
%bd_store_name% Store name
%bd_store_url% Store URL
%bd_store_currency% Store currency
%bd_store_currency_symbol% Store currency symbol
%bd_store_provider% Donation provider
%bd_latest_player% Player who made the latest donation
%bd_latest_package% Latest donated package
%bd_latest_amount% Latest donation amount
%bd_latest_currency% Currency of the latest donation
%bd_latest_amount_formatted% Formatted latest donation amount
%bd_revenue_total% Total revenue
%bd_revenue_monthly% Monthly revenue
%bd_revenue_total_formatted% Formatted total revenue
%bd_revenue_monthly_formatted% Formatted monthly revenue

All-Time Leaderboard Description
%bd_top_alltime_1% Player name for the specified rank
%bd_top_alltime_1_amount% Raw donation amount
%bd_top_alltime_1_formatted% Formatted donation amount with currency symbol
%bd_top_alltime_1_uuid% Player UUID
%bd_top_alltime_1_skin% Raw skin PNG URL; Java + Bedrock supported
%bd_top_alltime_1_skin_body% 3D full-body skin render URL; Java + Bedrock supported


[NOTE]The same suffixes apply to %bd_top_monthly_1_[I]% and %bd_top_recent_1_[/I]%. Replace 1 with the desired leaderboard rank.[/NOTE]
Player Leaderboard Info Description
%bd_top_alltime_amount% Requesting player's all-time donation amount
%bd_top_alltime_rank% Requesting player's all-time rank
%bd_top_monthly_amount% Requesting player's monthly donation amount
%bd_top_monthly_rank% Requesting player's monthly rank
%bd_top_recent_amount% Requesting player's recent donation amount
%bd_top_recent_rank% Requesting player's recent rank

Player Spending Description
%bd_player_total% Total amount spent by the requesting player
%bd_player_monthly% Amount spent this month
%bd_player_recent% Amount spent in the last configured number of days
%bd_player_total_formatted% Formatted total spending
%bd_player_monthly_formatted% Formatted monthly spending
%bd_player_recent_formatted% Formatted recent spending
%bd_player_rank_alltime% Requesting player's all-time rank

Goal Placeholders Description
%bd_goal_name% Goal name
%bd_goal_current% Current goal progress
%bd_goal_target% Goal target
%bd_goal_percent% Goal completion percentage
%bd_goal_remaining% Remaining amount to reach the goal
%bd_goal_bar% Formatted goal progress bar
%bd_goal_completed% Whether the goal is completed
%bd_goal_completions% Number of times the primary goal has been reached

Sale Placeholders Description
%bd_sale_name% Sale name
%bd_sale_discount% Sale discount
%bd_sale_active% Whether the sale is currently active

  • Milestone placeholders:
  • %bd_milestone__name%
  • %bd_milestone__current%
  • %bd_milestone__target%
  • %bd_milestone__percent%
  • %bd_milestone__remaining%
  • %bd_milestone__bar%
  • %bd_milestone__completed%
  • %bd_milestone__completions%


Download 0
No ratings yet
Purchase required

Compatible with Minecraft 1.21 - 26.2

[+] Added full PayNow provider support
[+] Added internal goal tracking for providers that do not support goals, such as PayNow
[+] Added configurable internal goal values and seed amounts
[+] Added support for configurable "almost filled" goal progress bars
[+] Added improved goal progress tracking and persistence

 

[~] Refactored SQLite and MySQL database connection handling with HikariCP
[~] Improved database connection pooling, reliability, and resource management
[~] Improved goal configuration handling to prevent unnecessary resets during reloads
[~] Improved thread safety for goal, sale, and synchronization handling
[~] Improved database error handling and initialization reliability
[~] General performance, stability, and internal code improvements

 

[!] Notes:
• Internal goals allow providers such as PayNow, which do not provide native goal tracking, to use donation goals
• Internal goal progress is stored in the plugin database and persists across restarts
• Goal progress bars now support filled, almost-filled, and empty states
• Database handling has been significantly improved for both SQLite and MySQL

Download 0
No ratings yet
Purchase required

Compatible with Minecraft 1.21 - 26.2

[+] Added option to independently enable or disable donation embeds while keeping goal embeds active
[+] Added improved Bedrock skin resolution using Floodgate XUID detection
[+] Added automatic gamertag normalization for Floodgate players
[+] Added fallback Steve skin support when player skin resolution fails
[+] Added default skin and render URLs for empty leaderboard placeholder entries
[+] Added PixelEast support for the update checker and anti-piracy placeholder system
[~] Improved PlaceholderAPI skin placeholders for better Java and Bedrock compatibility
[~] Improved skin URL caching with optimized cache durations for successful and failed lookups
[~] Enhanced placeholder handling to return default skin URLs instead of N/A for missing leaderboard entries


[!] Fixes:
Resolved Bedrock skin lookup issues for Floodgate players
Resolved missing skin placeholder values when leaderboard positions were empty
Improved reliability of player skin resolution and fallback handling


[!] Config changes:
• Added discord.donation-embed.enabled to independently control donation embed sending while keeping goal embeds enabled if desired - config should get updated automaticly.


[!] Placeholder changes:
• %bd_top_*__skin% now returns a unified skin PNG URL supporting both Java and Bedrock players
• %bd_top_*__skin_body% now provides an improved 3D body render supporting both Java and Bedrock players
• Removed legacy skin placeholder variants:
• %bd_top_*__skin_url%
• %bd_top_*__skin_helm%
• %bd_top_*__skin_avatar%
• %bd_top_*__skin_bust%
• Empty leaderboard entries now return default skin/render URLs instead of N/A, making them compatible with NPC plugins and menus


[!] Notes:
• Java and Bedrock player skin placeholders now use a unified system with improved compatibility
• Floodgate prefixes (., *, !, ~, _) are automatically removed during Bedrock player lookup
• Failed skin lookups now temporarily cache fallback results to reduce unnecessary external requests

Download 1
No ratings yet
Purchase required

Compatible with Minecraft 1.21 - 26.2

[~] Fixed a bug where discord handlers ran on the main thread instead of async

Download 1
No ratings yet
Purchase required

Compatible with Minecraft 1.21 - 26.1.1

v1.1.7:
[+] Added support for NoteBlockAPI .nbs songs for wave-music

chat-reactions:
  sounds:
    wave-music:
      enabled: false
      trigger: "always"

      type: "music_disc.cat"
      volume: 1.0
      pitch: 1.0
      # RECORD category = the proper jukebox sound channel
      category: "RECORD"

      # NoteBlockAPI playback. Requires the NoteBlockAPI plugin to be
      # installed. When nbs.enabled is true, this is used INSTEAD of the
      # vanilla type/volume/pitch/category settings above.
      # Drop your .nbs files into plugins/BlockyDonations/songs/ then
      # uncomment and fill in the fields below.
      nbs:
        enabled: false
        # Exact filename (case-sensitive) from the songs/ folder,
        # or "random" to pick a random .nbs file from that folder each time.
        #file: "Fireflies.nbs"
        # 0-100 (NOT 0.0-1.0 - this is a percentage, unlike vanilla volume)
        #volume: 100
        # Must be one of NoteBlockAPI's SoundCategory enum values:
        # MASTER | MUSIC | RECORDS | WEATHER | BLOCKS | HOSTILE | NEUTRAL | PLAYERS | AMBIENT | VOICE
        #category: "RECORDS"
        # random | in-order  (only relevant if you expand this to a playlist later)
        #queue-mode: "random"
        #loop-queue: true
        # Preload all .nbs files into memory on plugin start/reload
        #preload: false

v1.1.6:
[+] Added Discord Bot integration as an alternative to the existing webhook system
[+] Added automatic Discord thread creation support for donation and goal embeds (Discord Bot only)
[+] Added configurable thread names with placeholder support
[+] Added support for automatic thread archiving with configurable durations
[+] Added support for selecting which embed types create threads (donation, goal, or both)
[+] Added TownyChat support for GG Wave chat integration
[+] Added option to automatically suppress messages that do not match GG Wave filter requirements
[~] Complete Discord integration rework for improved flexibility and future expansion
[~] Improved Bedrock player compatibility across donation announcements and integrations
[~] Enhanced Tebex package handling by grouping duplicate purchases with quantity prefixes
[~] Improved leaderboard skin rendering using NMSR-compatible skin URLs
[~] Improved Discord webhook payload handling for thread creation support
[~] Renamed Discord goal embed configuration keys for improved consistency

[!] Fixes:
Resolved an issue where duplicate package purchases were displayed incorrectly in Discord embeds
Resolved an issue with Discord thread naming and webhook thread delivery handling
Resolved skin rendering inconsistencies in leaderboard embeds

[!] Config changes:
• goal-donation-embed settings have been renamed to goal-embed
• Discord Bot settings have been added to discord.yml
• Bot sender now takes priority over webhook delivery when enabled and configured

v1.1.5:
[+] Added support for Crafatar skin image providers
[+] Added support for NMSR skin renders and avatar images
[+] Added new skin placeholder URLs for Crafatar and NMSR image types
[+] Added configurable render types, sizes, and overlay support for Discord embeds
[~] Improved Discord image processing and fallback reliability

Download 1
No ratings yet
Purchase required

Compatible with Minecraft 1.21 - 26.1.1

v1.1.4
[+] Added improved obfuscation and leak prevention handling
[+] Added enhanced integrity validation and verification logging
[~] Refactored internal protection handling for improved reliability

Download 0
No ratings yet
Purchase required
Product Info
Statistics
258

Views

1

Purchases

3

Downloads

6.52 MB

File size

24.05.2026

Published

26.09.2026

Updated

Share & Earn

Share and earn part of the profits, an estimated €1.2 per product sale.

Log in to get your link
Product Image
BlockyDonations | Tebex, Minestore, etc
BlockyDonations | Tebex, Minestore, etc