plugins/LiricCasino/ folder containing every configuration file you need. You never have to edit source code — everything from the database backend to individual button positions in a game’s GUI is controlled from these files.
Configuration File Overview
Database
LiricCasino stores player stats, placed bets, and leaderboard data in a database. SQLite requires zero external setup; MariaDB is available if you run a multi-server network or prefer a dedicated database server.- SQLite (Default)
- MariaDB
SQLite is active out of the box. A
casino.db file is created automatically inside plugins/LiricCasino/. No credentials or external server are required.Tax System
The tax system deducts a percentage from gross winnings before they are paid out to the player, functioning as a configurable house edge. Taxes are disabled by default.default-rate.
Economy Boosters
The booster system multiplies a player’s winnings based on a permission node. Boosters are applied on top of the base payout before any tax deduction. You can define as many booster tiers as you need.permiso (using your permissions plugin) to activate that booster tier for them automatically.
Per-Game Settings
Every game block inconfig.yml follows the same structure. Here is an annotated example using Blackjack:
active, bet, and uses keys are available for every game. You can define as many permission ranks as you need — just add a new entry under ranks with a unique permission node and your desired limits.
Granting a player the VIP or admin permission node listed under
ranks automatically gives them the corresponding bet cap and daily limit. You do not need to set any separate LiricCasino permissions beyond those nodes.Roulette-Specific Settings
Roulette has a few additional options because it is a physical, scalable in-world object. Note that Roulette uses a singlemax-bet field at the top level instead of the full bet: block:
config.yml:
Slots Prize Table
The Slots machine uses a weighted prize list. Higherweight values mean the symbol appears more often:
Messages (messages.yml)
Every player-facing string lives inmessages.yml. All messages support three formatting styles that can be mixed freely:
Here is a sample showing all three styles in practice:
{amount}, {player}, and {prefix} are replaced at runtime. The {prefix} placeholder always resolves to the prefix: value at the top of the file, so changing it there updates every message at once.
Menu Customization (menus/)
Each game’s GUI is defined in its own file undermenus/. You can change the inventory title, number of rows, which slots items occupy, item materials, and display names — all without touching any other file.
messages.yml. After editing a menu file, run /casino reload to see your changes immediately without a server restart.
Discord Webhooks
Configurewebhooks.yml to send automatic Discord alerts when a player hits a major jackpot or wins above a threshold you define. Add the webhook URL generated in your Discord channel’s Settings → Integrations → Webhooks section. The file supports multiple webhooks, so you can post to different channels for different games.
