Code (YAML):
# VoidGiveaway Configuration
# General Giveaway Settings
giveaway
:
# Maximum number of players allowed to join a giveaway. Set to 0 for unlimited.
max-participants
: 50
# Duration in seconds that players have to join the giveaway.
duration
: 60
# Entry cost to join a giveaway. Requires Vault and an economy plugin. Set to 0 or less to disable.
entry-cost
: 0
# If true, players CANNOT join giveaways that have a cost > 0 if Vault/Economy is missing or broken.
# If false, players can join for free in that scenario (a warning will be logged).
economy-required
: false
# Set to true if you strictly require economy for paid giveaways.
# Cooldown in seconds before another giveaway can be started.
cooldown
: 300
# When a giveaway is ending with no participants should the host get the item back.
refund-without-participants
: true
# Save the data from players: wins and participants
# SQLite is the normal data saving, mysql is faster but requires a database.
storage:
type
:
"sqlite"
# "sqlite" = default (file-based), "mysql" = external DB (faster)
mysql:
host
:
"localhost"
# MySQL server address
port
: 3306
# MySQL server port
database
:
"voidgiveaway"
# Database name
username
:
"root"
# Database user
password
:
"password"
# Database password
discord:
webhook-url
:
"https://discord.com/api/webhooks/XXXXX/XXXXX"
enabled
: false
# true = enable Discord messages
send-countdown-updates
: true
# true = send countdown messages
messages:
giveaway-start
:
" **New Giveaway!** Host: %host% | Prize: %prize% | Time: %time%s"
# %host% = giveaway host, %prize% = reward, %time% = duration (s)
countdown
:
"⏳ %prize% – %time%s left"
# Sent during countdown if enabled
winner
:
" Prize: %prize% | Winner: %winner%"
# %winner% = player who won
no-winner
:
" No one joined the giveaway for %prize%"
cancelled
:
"❌ Giveaway for %prize% was cancelled"
# Blocked Items – Players cannot use these items to start giveaways.
# You can block items by:
# - Material (e.g. DIAMOND_PICKAXE)
# - Display name (optional, must match exactly with colors)
# - Enchantments with conditions (e.g. >=, <=, >, <, or exact number)
#
# Examples:
blocked-items:
1:
material
: DIAMOND_PICKAXE
name
:
"&bSuper Pickaxe"
2:
material
: NETHERITE_SWORD
3:
material
: DIAMOND_SWORD
enchantments:
DAMAGE_ALL
:
">=5"
FIRE_ASPECT
:
"<=1"
history:
gui:
title
:
"&bGiveaway History"
size
: 54
# Always multiple of 9 (27, 36, 45, 54)
# How many history entries should be shown per page
per-page
: 21
# Item template for history entries
entry-item:
material
: PAPER
name
:
"&eGiveaway #%id%"
lore:
- "&7Host
:
&f%host%"
- "&7Winner
:
&a%winner%"
- "&7Prize
:
&b%reward%"
- "&7Date
:
&f%date%"
# Navigation Items
navigation:
previous-page:
material
: ARROW
name
:
"&ePrevious Page"
slot
: 45
persistent-key
:
"voidgiveaway:prev"
next-page:
material
: ARROW
name
:
"&eNext Page"
slot
: 53
persistent-key
:
"voidgiveaway:next"
close:
material
: BARRIER
name
:
"&cClose"
slot
: 49
persistent-key
:
"voidgiveaway:close"
visuals:
actionbar:
enabled
: true
# Whether the Action Bar is enabled during giveaways.
# If true, players will see live giveaway updates in their Action Bar.
show-to-all
: false
# Who should see the Action Bar:
# true = all online players
# false = only participants who joined the giveaway
interval
: 20
# How often the Action Bar updates (in ticks).
# 20 ticks = 1 second.
format
:
"&a%joined% players entered &8| Ends in &f%time%"
# The text shown in the Action Bar.
# Placeholders:
# %time% = Time left until the giveaway ends (seconds)
# %joined% = Number of players who joined
# %reward% = Reward name
bossbar:
enabled
: true
# Whether the Boss Bar is enabled during giveaways.
# If true, players will see a Boss Bar at the top of their screen.
show-to-all
: true
# Who should see the Boss Bar:
# true = all online players
# false = only participants who joined the giveaway
color
: GREEN
# Default Boss Bar color. Options: BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW.
style
: SOLID
# Boss Bar style.
# Options: SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20.
countdown
: true
# If true, the Boss Bar will act as a countdown (progress decreases as time runs out).
text
:
"&6Win %reward%! &e%joined% players &8– Ending in &c%time%"
# The text shown in the Boss Bar.
# Placeholders:
# %time% = Time left until the giveaway ends (seconds)
# %joined% = Number of players who joined
# %reward% = Reward name
placeholders
:
# Default values when no giveaway is currently running
name
:
"&cNo Giveaway Running"
# Placeholder: %voidgiveaway_name%
# → Displays the name of the current giveaway reward.
# If no giveaway is running, this fallback text is shown.
host-name
:
"&cx"
# Placeholder: %voidgiveaway_host_name%
# → Shows the name of the player who started the giveaway.
# If no giveaway is running, this fallback text is used.
time-left
:
"&cx"
# Placeholder: %voidgiveaway_time_left%
# → Shows the remaining time until the giveaway ends (in seconds).
# If no giveaway is running, this fallback text is shown.
current-entries
:
"&ax"
# Placeholder: %voidgiveaway_current_entries%
# → Number of players who joined the current giveaway.
# If no giveaway is running, this fallback text is shown.
# --- Available Placeholders ---
# %voidgiveaway_name% → Name of the giveaway reward
# %voidgiveaway_max_entries% → Maximum number of allowed participants
# %voidgiveaway_time_left% → Remaining time (in seconds)
# %voidgiveaway_cost% → Entry cost to join the giveaway
# %voidgiveaway_host_name% → Name of the host (player who started it)
# %voidgiveaway_current_entries% → Current number of participants
rolling-animation:
enabled
: true
# Enables or disables the rolling animation when choosing the winner.
# If set to "false", the winner will be shown instantly without animation.
rolling:
title
:
"&b&lRolling..."
# The title shown to ALL players while the plugin is "rolling" through names.
# Usually something suspenseful like "Rolling..." or "Choosing Winner...".
subtitle
:
"&e%name%"
# The subtitle where random participant names appear.
# %name% changes every few ticks until the winner is finalized.
winner:
title
:
"&a&lCongratulations!"
# The final title once the actual winner is selected.
# Example: "Congratulations!" or "Winner!".
subtitle
:
"&e%name%"
# Displays the REAL winner's name here.
# %name% is replaced with the actual winning player.
timezone
:
"Europe/Berlin"
scheduled-giveaways:
'1':
time
: '11:15'
reward
: diamond_pack
duration
: 3m
announcements:
'1':
before
: 2m
message
: '&eThe &bDiamond Giveaway &estarts in 2 minutes!'
title:
main
: '&bDiamond Giveaway'
sub
: '&eStarting soon'
'2':
before
: 30s
message
: '&cOnly 30 seconds until the Diamond Giveaway!'
title:
main
: '&cGet ready!'
sub
: '&e30 seconds left'
# Broadcast Settings
broadcast
:
# Enable automatic broadcasts about the active giveaway.
enabled
: true
# Interval in seconds between broadcasts. Must be less than giveaway.duration.
interval
: 15
# Predefined Item Giveaways (for /giveaway admin start <id>)
# You can define rewards here that admins can start giveaways for.
# Rewards can include an item, commands to run for the winner (run from console),
# and messages to send directly to the winner. At least one must be defined.
# Placeholders for commands/messages: %player% (winner's name), %uuid% (winner's UUID)
predefined-giveaways
:
# Example 1: Item only
diamond_pack:
name
:
"&b&lShiny Diamonds!"
# Overall name for the reward package (used if no item, or as default item name)
material
: DIAMOND
amount
: 16
item-name
:
"&b&l16 Shiny Diamonds"
# Optional: Specific name for the item itself
lore
:
-
"&7A special giveaway item."
-
"&eGet them while they're hot!"
# Example 2: Item and Commands
god_sword:
name
:
"&c&lBlade of the Void Package"
# Overall name
material
: NETHERITE_SWORD
amount
: 1
item-name
:
"&c&lBlade of the Void"
# Specific item name
lore
:
-
"&4A powerful weapon"
# enchantments: # You would need to add enchantment parsing back to ConfigManager if needed
# DAMAGE_ALL: 5
# FIRE_ASPECT: 2
commands
:
# List of commands to run (from console) for the winner
-
"say Congratulations %player% on winning the God Sword giveaway!"
-
"lp user %player% parent addtemp godly 1d"
# Example: Give temp rank
-
"eco give %player% 500"
# Example: Give economy money
# Example 3: Commands and Messages only (no item)
vip_rank:
name
:
"&a&l[VIP] Rank Trial (7 Days)"
# Overall name for this reward
# No material/amount/item-name/lore
commands
:
-
"lp user %player% parent settrack default vip"
# Set track to grant VIP
-
"lp user %player% parent addtemp vip 7d"
# Add VIP for 7 days
-
"broadcast &e%player% &ahas just won a 7-day VIP trial!"
messages
:
# List of messages to send directly to the winner
-
"&aCongratulations! You've won a 7-day VIP trial!"
-
"&aUse /ranks to see your new perks."
-
"&7Your trial expires in 7 days."
# Example 4: Messages only (no item or commands)
welcome_message:
name
:
"&eSpecial Welcome Message"
messages
:
-
"&eWelcome %player%! We're glad to have you!"
-
"&eThanks for participating in the giveaway!"
# Settings related to messages can be found in messages.yml