Skip to content

mGiveaway is a powerful and flexible Minecraft plugin for Paper servers that seamlessly integrates with Discord to host engaging giveaways. Players can participate in giveaways directly from Discord, and winners can be automatically rewarded in-game.

Notifications You must be signed in to change notification settings

m-surowiec/mGiveaway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mGiveaway Banner

Boost your server community with exciting giveaways!
mGiveaway seamlessly integrates Discord and Minecraft,
allowing you to create engaging giveaways, set custom rewards,
and automatically deliver prizes to winners in-game.


GitHub Link Discord Link

mGiveaway - Discord Minecraft Giveaway Plugin

Key Features Icon

  • Discord Integration: Slash commands for easy giveaway creation & management in Discord.
  • Automated Giveaways: Schedule start/end times for fully automated giveaways.
  • Configurable Requirements: Permissions, Groups/Roles (Vault), PlaceholderAPI values.
  • In-Game Rewards: Automatic execution of commands for winners.
  • Customizable Embeds: JSON configuration for rich Discord embed messages.
  • Dynamic Placeholders: Embeds update with time left, entries, winners, etc.
  • Giveaway Reminders: In-game broadcasts to notify players.
  • Statistics Tracking: Track entries and wins.
  • Extensive Text Config: config.yml for messages, UI text, etc.
  • Update Checker: In-game notifications for new versions.

Requirements Icon

  • Spigot: 1.17+ [Paper recommended]
  • PlaceholderAPI: 2.11.6+
  • Vault: 1.7+

Setup & Installation Icon

  1. Download & Install: Get mGiveaway-VERSION.jar from GitHub Releases and place in /plugins folder.
  2. Restart your server
  3. Configure Discord Bot in config.yml:
    • Create Bot at Discord Developer Portal.
    • Get Bot Token ("Bot" tab).
    • Paste Token into discord.bot.token in plugins/mGiveaway/config.yml
  4. Configure config.yml for:
    • prefix: In-game prefix.
    • broadcast_interval & broadcast_message: Giveaway reminders.
    • discord.bot settings (token, status, activity, channels, etc.) - Token & giveaway_channel REQUIRED.
    • discord.bot.command customization.
    • discord.bot.giveaway_embed, giveaway_end_embed, log_embed: JSON Embed customization (use Discord Embed Builder).
    • messages: All text messages.
    • giveaways: Define giveaway settings & requirements.
  5. Reload Plugin: Use /mgwreload or restart server.

Slash Command Icon

Use /create_giveaway (default) to create giveaways.

/create_giveaway name: prize: minecraft_prize: duration: winners: command: requirements:
  • name: REQUIRED: Internal giveaway name.
  • prize: REQUIRED: Formatted prize description (Discord).
  • minecraft_prize: REQUIRED: Plain-text prize (in-game broadcast).
  • duration: REQUIRED: Duration string (e.g., 2d 30m).
  • winners: REQUIRED: Number of winners.
  • command: REQUIRED: First reward command (%player% placeholder).
  • requirements: OPTIONAL: true/false (if the giveaway start should wait for requirements)

⚙️ Configuring Giveaways (config.yml - giveaways section):

See the example giveaway configuration (giveaways.5Diamonds) in the config.yml for a template. Key configuration options for each giveaway defined under the giveaways section:

  • settings: - Settings for the giveaway
    • scheduled_start: (Optional) Date and time to automatically start the giveaway at a future time. Format: dd/MM/yyyy HH:mm:ss (24-hour format). If not set, the giveaway starts immediately (or when manually forced).
    • end_time: REQUIRED: Date and time to automatically end the giveaway. Format: dd/MM/yyyy HH:mm:ss (24-hour format).
    • winners: REQUIRED: The number of winners for this giveaway.
    • commands: REQUIRED: Reward commands (%player%).
    • prize_formatted: REQUIRED: Discord prize description.
    • minecraft_prize: REQUIRED: In-game prize text.
  • requirements: (Optional)
    • group: Vault Group/Role.
      • <group_name>: value: true/false, formatted.
    • permission: Vault Permission.
      • <permission_node>: value: true/false, formatted.
    • placeholder: PlaceholderAPI value.
      • <placeholder_name>: over: <number> or under: <number>, formatted.

Placeholders Icon

For Giveaway and Giveaway End Embeds:

{TIME-LEFT}, {END-TIME}, {ENTRIES}, {WIN-COUNT}, {PRIZE}, {WINNERS}

For Log Embed:

{GIVEAWAY-NAME}, {ENTRIES-COUNT}, {PRIZE}, {COMMANDS}, {WINNERS-MENTIONS}, {ENTRIES-LIST}

Important Notes Icon

After making any changes to the config.yml file, remember to use /mgwreload in-game to reload the plugin.

Sometimes, the plugin pauses itself because of runtime errors. To restart it just reload it ;)

bStats: Paper Servers

About

mGiveaway is a powerful and flexible Minecraft plugin for Paper servers that seamlessly integrates with Discord to host engaging giveaways. Players can participate in giveaways directly from Discord, and winners can be automatically rewarded in-game.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages