ElDonations

Installation

  1. Stop your Minecraft server.
  2. Place the ElDonations JAR inside: /plugins/
  3. Start the server.
  4. ElDonations will create: /plugins/ElDonations/
  5. Configure your store connection.
  6. Run: /ed status

Updating

  1. Stop the server.
  2. Delete the old ElDonations JAR only.
  3. Upload the new JAR.
  4. Do not delete your plugins/ElDonations/ folder.
  5. Start the server.

Your donation history, milestone claims, transaction records, and settings remain intact.

Main Files

plugins/ElDonations/
├── config.yml
├── stores.yml
├── milestones.yml
├── top-donor-rewards.yml
├── giftcards.yml
├── sounds.yml
├── lang/
│   └── en_US.yml
├── embeds/
│   └── purchase.yml
└── data/

config.yml

Controls purchase broadcasts, GG Wave, donation goals, Discord, BossBar, filters, store URL, and leaderboards.

stores.yml

Connects to Tebex, external command bridge, or CraftingStore.

milestones.yml

Defines milestone requirements, GUI layout, rewards, and claim states.

top-donor-rewards.yml

Configures weekly, bi-weekly, or monthly top-supporter rewards.

lang/en_US.yml

Player-facing messages, broadcast text, titles, and Discord wording.

Tebex Setup

ElDonations connects using the Game Server Secret — no webhook port required.

Open plugins/ElDonations/stores.yml:

tebex:
  enabled: true
  game-server-secret: "YOUR_GAME_SERVER_SECRET"
  goal-id: 0
  poll-interval-seconds: 30
  payment-check-limit: 25
  request-timeout-seconds: 10
  sync-existing-on-first-run: false

Game Server Secret

Enter your Tebex Game Server Secret — not your webhook secret. Keep this private.

Goal ID

If using a Tebex Community Goal, enter its numeric ID (found at the end of the goal URL). Otherwise, use 0.

Polling

ElDonations checks Tebex every poll-interval-seconds (default 30).

First Tebex Connection

After configuring stores.yml:

/ed reload
/ed tebex

Successful output:

ElDonations » Tebex Info Status: Connected | Store: Your Store

Use /ed status to check API connection, Discord, Goal ID, PlaceholderAPI, and donation history.

How Purchases Work

When a completed purchase is detected:

  1. Duplicate check and filter validation.
  2. Transaction saved; totals and leaderboards update.
  3. Milestone and top-donor progress updated.
  4. Donation goal progress checked.
  5. Broadcast, sound effects, and Discord embed sent.
  6. GG Wave starts (if enabled).
  7. Configured console commands execute.

Records persist across restarts.

Purchase Testing

/ed testPurchase

Or specify values:

/ed testPurchase 25.00 Deshaj VIP Rank

Tests announcements, player head, sounds, titles, Discord embed, and GG Wave.

Test purchases do not affect real totals.

Manual Payments

/ed manualPayment <player> <amount> [package]

Example:

/ed manualPayment Deshaj 25.00 PayPal Donation

Affects totals, goal, milestones, leaderboards, top-donor rewards, recent donations, broadcasts, Discord, and GG Wave.

Donation Goal

Manual payments are added to the in-game goal but do not affect Tebex's Community Goal.

CraftingStore / External Bridge

Enable in config.yml:

command-bridge:
  enabled: true
  console-only: true

Command format:

ed receive craftingstore <player> <amount> <currency> <transaction> <package>

Example:

ed receive craftingstore Deshaj 20.00 USD TX123456 VIP Rank

Keep console-only: true for security.

Purchase Filters

Ignore specific players or packages in config.yml:

filters:
  players:
    - "ExampleIgnoredPlayer"
  package-ids:
    - "0000000"
  package-names:
    - "Example Ignored Package"

Filtered purchases skip totals, broadcasts, Discord, GG Waves, and leaderboards.

GG Wave

gg-wave:
  enabled: true
  duration-seconds: 25
  trigger-words:
    - "gg"
    - "pog"
    - "nice"

Each player can claim the reward once per wave.

reward:
  enabled: true
  amount: 1000.00
  commands:
    - "eco give {gg_player} {reward_amount}"

Rainbow GG Gradient

rainbow:
  enabled: true
  text: "GG"
  bold: true
  palette:
    - "#FF0067"
    - "#FF9F43"
    - "#FFD900"
    - "#50FA85"
    - "#49DAF6"
    - "#FD73F4"

Available via {rainbow_gg} and %gg_wave_gradient%.

Donation Milestones

Players use /milestones. Milestones are based on all-time donation total.

milestones:
  level_1:
    required_amount: 10.00
    slot: 10
    material: "DIAMOND"
    name: "&#FFD05A&lLEVEL 1"
    lore:
      - "&7Donate &f$10.00&7 total to unlock."
      - "&7Your total: &f${donated_amount}"
    repeatable: false
    commands:
      - "eco give %player_name% 5000"

Tracks Locked, Unlocked, and Claimed states.

Top Donator Rewards

Enable:

modules:
  top-donor-rewards:
    enabled: true

Configure in top-donor-rewards.yml:

period: "monthly"
minimum-donated: 0.01
reward:
  commands:
    - "eco give %player_name% 50000"
  broadcast-message: "&#FFD05A&lTOP SUPPORTER &8• &f%player_name% &7won the %period% reward with &a$%amount%&7 donated!"

Supports weekly, biweekly, and monthly periods.

Donation Goal

Use /ed goal to display current amount, target, remaining, percentage, and progress bars.

Example: $750 / $1,000

Donation Goal BossBar

modules:
  goal-bossbar:
    enabled: true
goal-bossbar:
  refresh-seconds: 2
  text: "&#FFD05A&lDONATION GOAL &8• &f${goal_current} &7/ &f${goal_target} &8(&a{goal_percent}%&8)"
  color: "GREEN"
  style: "SEGMENTED_20"
  goal-amount: 1000.00
  current-source: "tebex"

Sources: tebex, alltime, monthly, weekly.

Discord Integration

discord:
  enabled: true
  webhook-url: "YOUR_DISCORD_WEBHOOK"
  username: "ElDonations"
  avatar-url: ""
  color: "#FFD05A"

Embed design is in embeds/purchase.yml. Test with /ed testDiscord.

Transaction Lookup

/el lookup <player>

Example: /el lookup Deshaj. Use /el lookup Deshaj 2 for more pages.

Shows date, amount, package, transaction ID, and status (10 per page).

Recent Donations

/ed recent

Or /ed recent 10 (max 10).

Donation Leaderboards

/ed top alltime
/ed top monthly
/ed top weekly

Number of entries controlled by leaderboard.entries.

Gift Cards

Local in-game gift cards — not Tebex coupons.

/ed gift create fixed 10 FREE10

Or auto-generate: /ed gift create fixed 10

Redeem: /ed gift redeem FREE10

giftcards:
  redeem-commands:
    - "eco give {player} {value}"

Recommended Setup Checklist

  1. Install ElDonations.
  2. Configure Tebex Game Server Secret.
  3. Add Community Goal ID (if used).
  4. Set store URL.
  5. Configure Discord.
  6. Set up GG Wave rewards.
  7. Configure milestones.
  8. Enable Top Donator Rewards (optional).
  9. Enable Goal BossBar (optional).
  10. Run /ed reload.
  11. Check /ed status and /ed tebex.
  12. Test with /ed testPurchase 10 Deshaj Test Rank.
  13. Test Discord with /ed testDiscord.
  14. Test GG Wave: /ed startGGwave, type gg, then /ed endGGwave.

Common Problems

/ed tebex says Not Connected

Ensure tebex.enabled: true and your Game Server Secret is correct.

Purchase Does Not Appear

Wait for the next poll cycle (default 30 seconds).

Discord Does Not Send

Check discord.enabled: true and the webhook URL, then run /ed testDiscord.

GG Does Not Trigger

Confirm gg-wave.enabled: true. Force-start with /ed startGGwave.

Milestones Cannot Be Claimed

Verify the module is enabled, the player has enough total donations, and commands are valid.

Permissions

  • Full Administration (Default: OP)
    eldonations.admin
  • Store Receive Bridge (Default: OP)
    eldonations.receive
  • Transaction Lookup (Default: OP)
    eldonations.lookup
  • Manual Payments (Default: OP)
    eldonations.manualpayment
  • Milestones (Default: Everyone)
    eldonations.milestones

Commands

Aliases: /eldonations, /ed, /el, /donations

General

/ed help
/ed status
/ed tebex
/ed recent [1-10]
/ed top [alltime|monthly|weekly]
/ed goal
/milestones
/ed gift redeem <code>

Staff

/el lookup <player> [page]

Administrative

/ed reload
/ed testPurchase [amount] [player] [package]
/ed manualPayment <player> <amount> [package]
/ed testDiscord
/ed testGoal
/ed testSale
/ed startGGwave
/ed endGGwave
/ed preview

Store Integration (console only)

/ed receive <tebex|craftingstore> <player> <amount> <currency> <transaction> <package>

PlaceholderAPI

Identifier: %eldonations_...%

Goal

%eldonations_goal_current%
%eldonations_goal_tebex_amount%
%eldonations_goal_manual_amount%
%eldonations_goal_target%
%eldonations_goal_remaining%
%eldonations_goal_percent%
%eldonations_goal_bar%
%eldonations_discord_goal_bar%

Totals

%eldonations_total_alltime%
%eldonations_total_monthly%
%eldonations_total_weekly%

Donation Counts

%eldonations_count_alltime%
%eldonations_count_monthly%
%eldonations_count_weekly%

Latest Donation

%eldonations_last_player%
%eldonations_last_package%
%eldonations_last_package_id%
%eldonations_last_amount%
%eldonations_last_currency%
%eldonations_last_store%
%eldonations_last_transaction%

Top Donator

%eldonations_top_donator_alltime%
%eldonations_top_donator_alltime_amount%
%eldonations_top_donator_monthly%
%eldonations_top_donator_monthly_amount%
%eldonations_top_donator_weekly%
%eldonations_top_donator_weekly_amount%

Rank-specific placeholders (e.g., %eldonations_top_alltime_1_name%) also supported.

GG Wave

%eldonations_gg_active%
%eldonations_gg_count%
%eldonations_gg_donor%
%eldonations_gg_seconds_left%

Store

%eldonations_store_url%

Data Storage

Persistent data is stored in plugins/ElDonations/data/:

  • history.tsv — completed donations for totals and leaderboards.
  • transactions.tsv — lookup records.
  • seen-transactions.txt — prevents duplicate processing.
  • milestone-claims.tsv — claimed milestone rewards.
  • giftcards.tsv — created and redeemed gift cards.

Do not delete the data folder unless you want to reset statistics.