Streamer Voting - Coupons & Rewards vAlfa-0.2.2

Complete streamer voting system with milestones, coupons, rewards and PlaceholderAPI
streamers.jpg


ADFAY STREAMERS
Streamer Voting System with Coupons & Custom Rewards

Paper 1.21.4 | Java 21 | PlaceholderAPI Support | MySQL & SQLite



What is AdfayStreamers?

AdfayStreamers is a complete voting system where your players can vote for their favorite streamers and receive discount coupons or custom rewards. Perfect for servers that want to promote their content creators and reward their community at the same time!

Engage your community by letting them support their favorite streamers while earning exclusive rewards. Track streamer popularity with milestone celebrations and keep players coming back!


1767639420123.png
1767639458620.png

Interactive voting GUI with streamer selection



Main Features

Complete Voting System

A robust voting system with multiple protections to ensure fair voting:

  • Per-User Vote Limits - Control how many times each player can vote
  • IP-Based Restrictions - Prevent vote manipulation with IP tracking
  • Velocity Support - Real IP forwarding for proxy networks
  • Async Processing - All database operations run asynchronously with CompletableFuture


1767639604653.png

Vote validation and processing flow



Streamer Management

Complete CRUD system for managing streamers:

  • Create Streamers - Add new streamers with custom names
  • Edit Profiles - Update links and link Minecraft accounts
  • Delete Streamers - Remove streamers when needed
  • View Statistics - Track votes and milestones
  • Link MC Accounts - Connect streamers to their Minecraft accounts
  • Admin GUI - Visual interface for streamer management

Code:
/trend create StreamerName
/trend edit StreamerName | twitch.tv/link | youtube.com/link | MinecraftUsername
/trend delete StreamerName
/trend admin  (opens Admin GUI)



Milestone Rewards System

Celebrate streamer achievements with automatic milestone detection:

  • 1,000 Votes - First milestone reached!
  • 10,000 Votes - Growing popularity!
  • 100,000 Votes - Legendary status achieved!

Each milestone can trigger:
  • Discord webhook notifications with reward value
  • Custom rewards for the streamer
  • Server-wide announcements

1767644791881.png

Milestone celebration when streamer reaches 10k votes



Tiered Coupon Rewards

Reward your players with discount coupons based on their voting activity:

  • 1% Discount Coupons - Entry level rewards
  • 3% Discount Coupons - Mid-tier rewards
  • 5% Discount Coupons - Premium rewards
  • Custom Percentages - Generate coupons with any discount!

Coupon Pool System:
  • Pre-load coupons from YAML files
  • Generate new coupons with custom prefixes
  • Discord alerts when coupon stock is low or depleted
  • Automatic delivery tracking
  • Configurable vote thresholds for each tier

Code:
# Coupon Management Commands
/trend coupons generate <percentage> <amount> [prefix]
/trend coupons stats [percentage]
/trend coupons reload


1767642460061.png

Coupon reward notification with discount code



Custom Rewards System

Beyond coupons, create fully customizable command-based rewards!

  • One-Time Rewards - Rewards that can only be claimed once per player
  • Repeatable Rewards - Claim again every X votes (e.g., every 10 votes)
  • Console Commands - Execute any command when claimed
  • Visual Admin GUI - Create and edit rewards without touching config files

Reward Configuration:
YAML:
rewards:
  vip_rank:
    enabled: true
    name: "&6VIP Rank"
    icon: DIAMOND
    description:
      - "&7Get VIP rank for 7 days!"
    required_votes: 25
    one_time: true
    commands:
      - "lp user {player} parent addtemp vip 7d"

  mystery_key:
    enabled: true
    name: "&dMystery Key"
    icon: TRIPWIRE_HOOK
    description:
      - "&7Earn a key every 10 votes!"
    required_votes: 10
    one_time: false  # Repeatable!
    commands:
      - "crates give {player} mystery 1"

Placeholders: {player} and {uuid} are replaced with the player's data when commands execute.



Interactive GUI System

Configuration-Driven GUIs

Fully customizable native Paper inventory GUIs:

  • Voting GUI - Browse and vote for streamers
  • Stats GUI - View personal and streamer statistics
  • User Rewards GUI - Claim earned rewards
  • Admin Streamer GUI - Manage streamers visually
  • Admin Rewards GUI - Create, edit, and delete custom rewards

Flexible Slot Configuration:
  • Single slots: "5"
  • Lists: "1,3,5,7"
  • Ranges: "1-6"
  • Combined: "1-3,7,9-11"

All GUI layouts are defined in guis/*.yml files - no coding required!


1767643278145.png
1767643291956.png

1767643382591.png

GUI configuration file with customizable items and slots



Complete Language System

Full multi-language support with automatic locale detection:

  • lang/es_ES.yml - Spanish (included)
  • lang/en_US.yml - English (included)
  • lang/pt_BR.yml - Portuguese (included)
  • Automatic fallback to Spanish if locale not found
  • Easy to add any language by creating a new file

Smart Locale Detection:
The plugin automatically detects each player's client language and serves messages in their preferred language!

1767643422397.png

Multi-language support with automatic detection



Webhook Integration

Keep your team informed with Discord webhook notifications:

  • Low Coupon Alerts - Get notified when coupon stock is running low
  • Coupons Depleted - Alert when a coupon tier runs out
  • Coupon Delivered - Track when coupons are given to players
  • Milestone Celebrations - Announce when streamers reach milestones
  • Streamer Created - Alert when new streamers are added
  • Streamer Edited - Track changes to streamer profiles
  • Streamer Deleted - Alert when streamers are removed

Test your webhooks:
Code:
/trend simulate coupons_low
/trend simulate coupons_depleted
/trend simulate coupon_delivered
/trend simulate milestone
/trend simulate streamer_created
/trend simulate streamer_edited
/trend simulate streamer_deleted
/trend simulate all

1767642376374.png

Webhook notification for streamer milestone



Database Support

MySQL & SQLite

Choose the database that fits your needs:

  • SQLite - Perfect for single-server setups, no configuration needed
  • MySQL - Ideal for networks and high-traffic servers

Powered by HikariCP - The fastest JDBC connection pool for optimal performance!

Database Tables:
  • streamers - Streamer profiles and vote totals
  • users - Player data and vote counts
  • votes - Individual vote records (enforces unique user+streamer and IP+streamer)
  • coupons_delivered - Coupon delivery tracking
  • streamer_rewards - Milestone reward history
  • custom_rewards_claimed - Custom reward claim tracking



PlaceholderAPI Integration

Full PlaceholderAPI support for scoreboards, holograms, TAB plugins, and more:

User Placeholders:
  • %adfaystreamers_user_votes% - Total votes cast by the player (formatted with commas)

Streamer Placeholders:
  • %adfaystreamers_streamer_votes_<name>% - Votes for a specific streamer
  • %adfaystreamers_total_streamers% - Total registered streamers

Top Streamers:
  • %adfaystreamers_top_1% - Name of #1 streamer
  • %adfaystreamers_top_2% - Name of #2 streamer
  • %adfaystreamers_top_3% - Name of #3 streamer
  • %adfaystreamers_top_1_votes% - Votes of #1 streamer
  • %adfaystreamers_top_2_votes% - Votes of #2 streamer
  • %adfaystreamers_top_3_votes% - Votes of #3 streamer

Coupon Statistics:
  • %adfaystreamers_coupons_1_remaining% - Remaining 1% coupons
  • %adfaystreamers_coupons_3_remaining% - Remaining 3% coupons
  • %adfaystreamers_coupons_5_remaining% - Remaining 5% coupons
  • %adfaystreamers_coupons_1_delivered% - Delivered 1% coupons
  • %adfaystreamers_coupons_3_delivered% - Delivered 3% coupons
  • %adfaystreamers_coupons_5_delivered% - Delivered 5% coupons

Custom Rewards:
  • %adfaystreamers_reward_<id>_claimed% - Times a reward has been claimed (global)
  • %adfaystreamers_reward_<id>_available% - If player can claim the reward (yes/no)

1767644742124.png

Showing streamer voting placeholders



Commands

Player Commands
  • /trend - Opens the voting GUI (adfaystreamers.vote)
  • /trend stats - View your statistics as a streamer (adfaystreamers.stats)

Admin Commands
  • /trend create <name> - Create a new streamer (adfaystreamers.admin)
  • /trend edit <name> | <link1> | <link2> | <mc_user> - Edit streamer info (adfaystreamers.admin)
  • /trend delete <name> - Delete a streamer (adfaystreamers.admin)
  • /trend top - Show top 5 streamers in chat (adfaystreamers.admin)
  • /trend admin - Open the admin streamer GUI (adfaystreamers.admin)
  • /trend rewards - Open the custom rewards admin GUI (adfaystreamers.admin)
  • /trend reload - Reload all configuration files (adfaystreamers.admin)

Coupon Management
  • /trend coupons generate <percentage> <amount> [prefix] - Generate coupons (adfaystreamers.admin)
  • /trend coupons stats [percentage] - View coupon statistics (adfaystreamers.admin)
  • /trend coupons reload - Reload coupon files (adfaystreamers.admin)

Webhook Testing
  • /trend simulate <type> - Test Discord webhooks (adfaystreamers.admin)

Command Aliases: /streamers, /votar


1767642735941.png

Command help output showing all available commands



Permissions

  • adfaystreamers.vote - Allows voting for streamers Default: true
  • adfaystreamers.stats - View own statistics (for streamers with linked MC account) Default: true
  • adfaystreamers.admin - Administration commands (create, edit, delete, top, reload, coupons, simulate, admin, rewards) Default: op
  • adfaystreamers.* - All permissions Default: op



Configuration Overview

YAML:
# Database Configuration
database:
  type: sqlite  # or mysql
  mysql:
    host: localhost
    port: 3306
    database: adfaystreamers
    username: root
    password: ""

# Language Settings
language:
  default: es_ES
  auto-detect: true

# Vote Restrictions
voting:
  cooldown: 86400  # 24 hours in seconds
  per-ip-limit: 3

# Coupon Thresholds
rewards:
  votes-for-1-percent: 5
  votes-for-3-percent: 15
  votes-for-5-percent: 30

# Discord Webhooks
discord:
  enabled: true
  alerts:
    streamer-created: true
    streamer-edited: true
    streamer-deleted: true
    coupons-low: true
    coupons-depleted: true
    coupon-delivered: true
    milestone: true
  webhooks:
    main: "https://discord.com/api/webhooks/..."

# Milestones
milestones:
  - 1000
  - 10000
  - 100000

# Custom Rewards (rewards.yml)
# Create command-based rewards with vote thresholds
# One-time or repeatable rewards supported



Support

Need help? Have suggestions? Feel free to:

  • Leave a message in the discussion section
  • Contact me via private message
  • Open a ticket for technical issues


Thank you for choosing AdfayStreamers!
Support your streamers, reward your community!
Buy a license now
$4.44
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
1 year
Share and earn
Refer this resource and earn a 10% commission.
580 Views
3 Purchases
4 Downloads
Jan 6, 2026 Published
Jan 9, 2026 Updated
Not yet rated
2.9 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Shop
  1. Reward
  1. Discord
Supported software
  1. Paper
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
  1. Spanish
  1. Portugese
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
Mobs adapt to player behavior - the more you kill, the harder they hunt you back.
5.00 star(s) 1 ratings
3 purchases
Cyclic KeyAll system with batch processing, BossBar, and multi-language support.
5.00 star(s) 1 ratings
1 purchase
Complete combat tag system with anti-exploits, stats, duels, and kill effects for Paper 1.21+
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,211 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,175 purchases
Share and earn
Refer this resource and earn a 10% commission.
580 Views
3 Purchases
4 Downloads
Jan 6, 2026 Published
Jan 9, 2026 Updated
Not yet rated
2.9 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Shop
  1. Reward
  1. Discord
Supported software
  1. Paper
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
  1. Spanish
  1. Portugese
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
Mobs adapt to player behavior - the more you kill, the harder they hunt you back.
5.00 star(s) 1 ratings
3 purchases
Cyclic KeyAll system with batch processing, BossBar, and multi-language support.
5.00 star(s) 1 ratings
1 purchase
Complete combat tag system with anti-exploits, stats, duels, and kill effects for Paper 1.21+
Not yet rated
0 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,211 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,175 purchases
Top