Background
At the time of this plugin's creation, it is Lunar New Year (02/2023). Usually, during special holidays, the lottery prize money in Hong Kong get's extra high to attract people to buy for the occasion.
However, while that is happening, I am halfway across the globe from my extended family and loved ones (Think of it like Christmas when the entire family gather around). Therefore, I've had the bright idea of creating a lottery plugin inspired by this... Scroll to the bottom of the page if you want to see what inspired this plugin.
About
Want a lottery system on your server that is a bit more like IRL that doesn't evenly distribute chances over all tickets bought making the poor who wants to try their luck just idiots giving free money to that one person who bought 6400 tickets?
With this plugin, you can create a manually started or automatically reoccurring lottery game on your server. While the mechanics in full might not be as simple, joining a game by placing a bet is super simple. A player can win prizes of different tiers depending on the number of matching numbers they've bet on!
One thing to note is that the odds are independent of the number of bets placed. (In other words, one person playing doesn't mean that player is 100% going to win.)
How to play LotterySix?
1. Check if a draw is scheduled and available to play!
- Games can be scheduled to start in the config or manually started with
/lottery start
- Open the GUI with
/lottery play
2. Click on the gold ingot to begin!
3. Choose your 6 lucky numbers (Simple Entry)
- There are also other forms of more complex entry methods for you to discover!
4. Get ready at the scheduled draw time for the draw!
- 6 numbers + 1 special number will be chosen at random
- By a cryptographically secure random number generator, if that matters to you
5. Collect prizes if you win!
- If the numbers you've picked contain 3 or more numbers selected in the draw (excluding the special number), you will win some prizes!
- The more matching numbers, the higher your winnings!
- Each tier is NOT guaranteed a winner, unlike a lucky draw, in fact, it is extremely difficult to win higher tiers
- See the link below for a detailed explanation
How do the entry types & draw work?
https://github.com/LOOHP/LotterySix/wiki/LotterySix-Draw-&-Prizes-Explanation
DiscordSRV Integration
Place bets, check your bets, past draw results and more offline via DiscordSRV!
- Draw Result Announcement
- Slash Command /lottery
Floodgate Geyser Integration
Use Bedrock forms in places where book interfaces were used because they cannot be opened remotely
Responsible Gambling
See how LotterySix facilitates the promotion of responsible gambling even as a just-for-fun Minecraft plugin https://github.com/LOOHP/LotterySix/wiki/Responsible-Gambling
Returning to the Community / Charity
An account can be configured to receive a portion of the lottery ticket sales taken as tax (the "Lotteries Fund").
For example, they can be received by the server owner or an admin to then be redistributed to other players to fund server-wide projects! This allows taxed ticket sales to be turned to good use, returning them to the server community.
Dependencies
- PlaceholderAPI
- Vault
- A Vault Compatible Economy Plugin
Installation
Only on Spigot, Paper etc.
- Put LotterySix.jar into the plugins folder along with the required dependencies
- Start the server
- Edit the config (if you need to)
- Restart the server (if you changed something in the config in step 3)
Over a Bungeecord or Velocity Network
- Put LotterySix.jar into the plugins folder along with the required dependencies in your backend servers (Spigot, Paper etc.)
- Put LotterySix.jar into the plugins folder in your proxy server (there are no dependencies on proxy servers)
- Start and then Stop your proxy server and your backend servers
- Edit your LotterySix config on the proxy server
- Remember to set
Bungeecord: true
in the above config - Copy the above config to all of your backend servers and replace the originally generated one
- Start your proxy server and your backend servers
- If you ever want to adjust the config, make sure you follow the steps again starting from Step 3
You are recommended to read this if you are unsure how to configure LotterySix games.
https://github.com/LOOHP/LotterySix/wiki/Configuration-Recommendations
Development Builds
Showcase Server
Want to give the plugin a try?
IP: mc.loohpjames.com
Commands
/lotterysix play - Opens the LotterySix GUI [lotterysix.play]
/lotterysix balance - Change the balance in any player's betting account [lotterysix.balance]
/lotterysix start - Manually start a game and schedule the draw at timestamp [lotterysix.start]
/lotterysix run - Manually start the draw of an on-going game [lotterysix.run]
/lotterysix cancel - Cancel the current game and refund all bets [lotterysix.cancel]
/lotterysix preference - Set your own player preferences [lotterysix.preference]
/lotterysix settopprizefund - Set the top 3 tier prize fund for the current game [lotterysix.settopprizefund]
/lotterysix setdrawtime - Set the draw time of the current game [lotterysix.setdrawtime]
/lotterysix setspecialname - Set a special name for the current game [lotterysix.setspecialname]
/lotterysix setcarryoverfund - Set the carry-over fund from last round to the current game [lotterysix.setcarryoverfund]
/lotterysix reload - Reload the config [lotterysix.reload]
/lotterysix update - Check for updates [lotterysix.update]
Default Config
https://github.com/LOOHP/LotterySix/blob/main/src/main/resources/config.yml
Disclaimer
Many jurisdictions have regulations against "Game of Chance" (Such as loot boxes, or lotteries) with real-world monetary value. Please make sure your server follows those relevant regulations. LotterySix is just for fun and is not responsible for how each server uses our content.
Data usage
Usage statistics at https://bstats.org/plugin/bukkit/LotterySix will be visible to the public with your server included in the statistics. No private information of your server is sent.
Update checking is also done via https://api.loohpjames.com to notify you whenever a new version is released. No private information of your server is sent.
Inspired By "Mark Six 六合彩" of the Hong Kong Jockey Club
If you are wondering how it looks like IRL~~
(Language: Cantonese, Partially English)
The draw starts at 1:35