RouletteMachine
A real European roulette, built in your world. The wheel spins, the ball rolls and drops into a pocket, and players bet by clicking the felt. Winnings paid in real money via Vault.
A roulette that is actually built in the world
Installation
Up and running in a minute. It only needs Vault and an economy plugin.
Steps
- Make sure you have Vault and an economy plugin (EssentialsX, CMI…) installed.
- Download RouletteMachine.jar (free or premium) and drop it into plugins/.
- Restart the server (Java 21 required for 1.21+).
- Create your first table — see Create a table.
tables.yml. Language files are generated on first start in lang/, and the config updates itself on new versions, keeping your settings.Create a table
Two commands build a full table: the spinning wheel and the betting felt next to it.
- Run
/roulette create <name>, then right-click a block where you want the wheel's centre. The felt is laid out facing the way you were looking. - Run
/roulette build <name>to build the wheel and the felt out of blocks. - Done. Players right-click the table to open betting, or bet directly on the felt.
# create and build a table called casino1
/roulette create casino1 # then right-click the wheel block
/roulette build casino1 # builds wheel + feltMove or restyle it
Nudge the felt with felt.nudge-right / felt.nudge-forward in the config, or change the block colours under the build style. Then /roulette unbuild <name> and /roulette build <name> again.
Betting
Players bet by clicking the felt directly, or through a chest menu. The first bet opens a 30-second round; when it closes, the wheel spins on its own.
On the felt
| Action | What it does |
|---|---|
| Right-click a spot | Places a chip of your current value |
| Left-click a spot | Takes your own chips back off it (refunded) |
| Sneak + right-click | Switches to the next chip value |
Bet types & payouts
| Bet | Covers | Pays |
|---|---|---|
| Straight up | A single number (0–36) | 35 : 1 |
| Red / Black | 18 numbers of a colour | 1 : 1 |
| Even / Odd | 18 numbers | 1 : 1 |
| 1–18 / 19–36 | Low or high half | 1 : 1 |
| Dozen | 1–12, 13–24 or 25–36 | 2 : 1 |
| Column | One of the three columns | 2 : 1 |
Commands
Main command /roulette (aliases /rm, /ruleta).
| Command | What it does |
|---|---|
/roulette create <name> | Start creating a table (right-click the wheel block) |
/roulette build <name> | Build the wheel and felt out of blocks |
/roulette unbuild <name> | Remove the built blocks |
/roulette delete <name> | Delete a table (refunds any open bets) |
/roulette list | List all tables |
/roulette spin <name> | Force a spin now, without waiting for the window |
/roulette top PREMIUM | Leaderboard by net profit |
/roulette stats PREMIUM | Your own spins, wins and profit |
/roulette reload | Reload config and language files |
Permissions
Players only need to be able to play; admins get the build commands.
| Permission | Grants | Default |
|---|---|---|
roulettemachine.use | Play at a table and place bets | everyone |
roulettemachine.admin | Create, build, delete, spin and reload | op |
roulettemachine.limit.bypass | Ignore the per-round max bet | op |
Free vs Premium
The free version is the complete game. Premium adds the tools a bigger server wants — nothing about the roulette itself is locked.
| Feature | Free | Premium |
|---|---|---|
| Physical wheel, ball & felt betting | ✔ | ✔ |
| Every bet type & correct odds | ✔ | ✔ |
| 30-second betting window | ✔ | ✔ |
| Secure RNG & Vault payouts | ✔ | ✔ |
Stats & /roulette top leaderboard | — | ✔ |
| PlaceholderAPI | — | ✔ |
| Discord webhook for big wins | — | ✔ |
| Reward commands / items on a win | — | ✔ |
Placeholders
PREMIUM — with PlaceholderAPI installed, these work in any scoreboard, tab list or HUD plugin.
| Placeholder | Shows |
|---|---|
%roulette_wins% | The player's total wins |
%roulette_spins% | The player's total spins played |
%roulette_profit% | The player's net profit |
%roulette_tables% | How many tables exist on the server |
Configuration
One clean, commented config.yml. Everything below is editable.
Betting
betting:
chips: [ 10, 50, 100, 500, 1000 ] # chip values a player can pick
min-bet: 10 # smallest allowed bet
max-bet: 0 # max per player per round (0 = none)
window-seconds: 30 # length of the betting window
announce-nearby: true # shout to nearby players when a round opens
announce-radius: 40 # announce radius (blocks)The wheel & the spin
wheel:
radius: 6.0 # block wheel radius (min 5)
spin-seconds: 6.0 # how long a spin lasts
ball-material: SNOWBALL # the ball's item
ball-linger-ticks: 60 # how long the ball rests after landing (20 = 1s)
show-numbers: true # a floating number over each pocket
default-theme: classic # default block build styleThe felt & chips
felt:
enabled: true # build the betting felt
nudge-right: 0 # shift the felt to the right (blocks)
nudge-forward: 0 # push the felt away from the wheel
click-to-bet: true # bet by clicking the felt
protect-blocks: true # stop players breaking the table
show-chips: true # show coloured chips on the felt
max-names: 3 # names per spot before it collapses
chip-colours: [ RED, BLUE, LIME, ... ] # one colour per playerRewards & Discord PREMIUM
rewards: # [PREMIUM] on a straight-up win
on-straight-win-commands: [] # console commands. {player} {amount} {number}
discord: # [PREMIUM] big-win announcements
big-win-threshold: 0 # announce wins at/above this (0 = off)
webhook-url: "" # your Discord webhook URL/roulette reload. The build style (block colours of the wheel and felt) lives at the bottom of the file.Version history
Every release and what changed in it.
- 🐛Restarting the server no longer eats the bets. A stake is charged the moment the chip goes down, and bets lived only in memory: stopping the server with chips on the felt — or mid-spin — kept the mone
- 🐛One failed payout no longer costs the rest of the table. If settling a bet went wrong, every player after it went unpaid with their stake already taken. Each bet settles on its own now, and failures a
- 🐛Pulling a chip back now checks the money actually arrived. Placing a bet verified the charge but taking it back did not, so a failed refund cost the player both the chip and the money. The chip now st
No notes for this version.
Discussion
Comment and share your experience on each plugin version.
No comments on this version yet — be the first!
buen plugin!
Player reviews
What server owners think of this plugin.
Buen plugin