NeonLottery

A premium, timed lottery system built for large-scale Minecraft economies.

NeonLottery empowers your server to run configurable, timed jackpots driven entirely by player investment. Featuring automatic "Rollovers" when nobody wins, tax deductions on the pot, SQLite persistent data storage, and PlaceholderAPI integration, it acts as the perfect money-sink to keep your economy deeply engaged.

Premium Plugin

NeonLottery is a premium offering from NeonStudios. For licensing, downloads, or purchase info, visit our Discord server or our BuiltByBit page.

Why NeonLottery?

Don't settle for basic luck elements. Implement a real, scalable money-sink with actual consequences and hype points:

🏦

Lottery Rollovers

Configurable `no-winner-chance` means the jackpot can bounce to the subsequent draw, growing exponentially to generate server hype!

📉

Economy Sink & Tax

Set exactly how much of a ticket's price enters the jackpot. Need to bleed money out of the economy? Deduct 10% on every ticket automatically.

⚖️

Weighted Systems

Players can purchase multiple tickets up to a specified maximum value, allowing big rollers to securely tilt the odds in their favor.

🗄️

SQLite Backend

No corrupt data. The entire system gracefully rests on an embedded JDBC SQLite table for extreme data stability across restarts.

Installation

NeonLottery requires a few prerequisite conditions to link into the economy dynamically.

  1. Dependencies: Ensure Vault and an economy handler (like EssentialsX) are live on your server. PlaceholderAPI is recommended.
  2. Drop the File: Place the compiled NeonLottery.jar into the /plugins directory.
  3. Restart the server entirely without utilizing PlugMan or /reload.
  4. Update your License key inside config.yml to initialize the plugin operations.

Commands

NeonLottery uses an interactive base architecture for all player mechanics.

Player Commands

CommandDescription
/lotteriesTriggers the interactive Lottery status GUI directly on screen
/lottery buy <amount>Purchases X amount of tickets mathematically deducted via Vault
/lottery infoDisplays current jackpot, ticket prices, and general lottery information
/lottery myticketsInforms the player of their current odds/count
/lottery timeShows the time remaining for the active drawing
/lottery winnersRecalls up to the past 50 historical snapshot winners

Admin Commands

CommandDescription
/lottery resetPurges the current jackpot unconditionally and refunds
/lottery testdrawForceably causes an instant evaluation draw
/lottery reloadHot-reloads the SQLite instances and YML settings safely

Permissions

Protect interactions regarding the economy easily via permission groups.

PermissionDescriptionDefault
NeonLottery.buyPermission to physically exchange cash for ticketsTrue
NeonLottery.menuAllows GUI menu access with /lotteriesTrue
NeonLottery.status / .statsCheck stats and odds internallyTrue
NeonLottery.adminAbility to force draws, perform resets, or execute reloadsOP
NeonLottery.*Provides all plugin permissionsOP

Jackpot Economics

Use `config.yml` to define how your lottery extracts currency from the local ecosystem.

YAML — config.yml
ticket-cost: 100.0             # Define value per individual ticket
jackpot-contribution: 0.9      # 90% goes to Jackpot, remaining 10% is permanently erased (tax)
base-jackpot: 1000.0           # Base padding inserted automatically by console
no-winner-chance: 10           # Percentage (0-100) chance that nobody wins, forcing a Rollover
Pro Tip: Rollovers

Leaving the no-winner-chance strictly above 0 introduces enormous suspense to the draw process! If the server rolls the No-Winner trigger, the massive jackpot will naturally roll into the next iteration intact, skyrocketing ticket sales!

Timers & Constraints

Maintain proper player balance limits using simple constraints.

YAML — config.yml
max-tickets-per-player: 100    # Ensure whales can't buy 10,000 tickets to secure a victory
min-players: 5                 # Lottery will halt until 5 UNIQUE human players join the server
draw-interval: 60              # Trigger a completely new drawing every 60 minutes
draw-notification-time: 5      # Automatically broadcasts an alert 5 minutes before draw execution

Winner Rewards

While the player naturally obtains the massive Jackpot Vault transfer, you can also reward bonus physical prizes automatically on victory by executing console commands targeting the winner.

YAML — config.yml (Rewards)
winner-commands:
  - "give %player% diamond 10"                                   # Give physical objects
  - "crates key give %player% legendary 1"                     # Reward keys from other plugins
  - "say &6🎉 &a%player% &6has won some bonus diamonds! &6🎉"   # Broadcast message

Support

Join Our Discord

Get help from our team, report bugs, request features, and connect with the community.

dsc.gg/neonstudios
All Documentation