Skip to content

Configuration

Richie Lee edited this page Jun 2, 2026 · 1 revision

Configuration

This page covers every option in config.yml. The plugin generates this file automatically on first startup. If you delete it, a fresh copy will be regenerated from defaults.

Hot-reload: You can apply config changes without restarting by running /clicker reload. This reloads both config.yml and lang.yml.

Automatic migration: When you update the plugin, any new config keys are added automatically and a backup of your previous config is saved as config_v<old>.bak. You never need to manually merge configs between versions.


Config Version

config-version: 10

Internal version tracker managed by the plugin. Do not edit this manually. The plugin uses it to detect when your config needs migration after an update.


Storage

Controls where click data and multiplier state are persisted.

storage:
  backend: yaml
 
  sql:
    host: localhost
    port: 3306
    database: minecraft
    username: root
    password: ""
    use-ssl: false
    pool-size: 5
    connection-timeout: 30000
    idle-timeout: 600000
    max-lifetime: 1800000
 
  table-prefix: "ce_"
 
  h2-file: h2data

backend

Which storage engine to use. Accepted values:

Value Description
yaml Flat file storage in data.yml. Default, no extra setup.
h2 Embedded H2 file database. No external server needed.
mysql External MySQL 5.7+ / 8.x server.
mariadb External MariaDB server. Requires the MariaDB JDBC driver on the classpath.
postgresql External PostgreSQL server. Requires the PostgreSQL JDBC driver on the classpath.

sql.*

Connection details used by mysql, mariadb, and postgresql backends. Ignored when using yaml or h2.

Key Description Default
host Database server hostname or IP localhost
port Database server port 3306
database Database name minecraft
username Database username root
password Database password ""
use-ssl Enable SSL for the connection (MySQL only) false
pool-size Maximum number of connections in the HikariCP pool 5
connection-timeout Maximum time (ms) to wait for a connection from the pool 30000
idle-timeout Maximum time (ms) a connection can sit idle before being removed 600000
max-lifetime Maximum lifetime (ms) of a connection in the pool 1800000

table-prefix

Prefix applied to all database table names. Useful if you share a database with other plugins.

  • Default: ce_
  • Tables created: ce_clicks, ce_multiplier

h2-file

File name for the H2 embedded database (without extension), relative to the plugin folder. Only used when backend is h2.

  • Default: h2data

Leaderboard

leaderboard:
  entries-per-page: 10

entries-per-page

Number of players shown per page when running /clicker top.

  • Default: 10

Economy

Reward Amount

reward-amount: 1.0

Base amount of currency deposited per click. This is the flat reward used when random rewards are disabled.

  • Default: 1.0
  • Ignored when random-reward.enabled is true.

Global Multiplier

global-multiplier: 1.0

The base global multiplier. This is the default value used when no timed override is active, and the value the multiplier reverts to when a timed multiplier expires.

  • Default: 1.0
  • The active runtime multiplier is managed via /clicker multiplier set and persisted in data.yml, not here.

Personal Multipliers

Personal multipliers are not configured in config.yml — they are granted via permissions. See the Permissions wiki page for details.

The effective reward per click is calculated as:

reward × global multiplier × personal multiplier

Random Rewards

random-reward:
  enabled: false
  min: 0.5
  max: 5.0
  jackpot:
    enabled: false
    chance: 0.01
    min: 50.0
    max: 100.0
    sound: UI_TOAST_CHALLENGE_COMPLETE

enabled

When true, each click awards a random amount between min and max instead of the flat reward-amount.

  • Default: false

min / max

The minimum and maximum base reward for a normal click (before multipliers are applied).

  • Default: 0.5 / 5.0
  • If min is greater than max, all rewards will equal min.

jackpot.enabled

When true, each click has a chance to trigger a jackpot with a separate, larger payout range.

  • Default: false
  • Requires random-reward.enabled to also be true.

jackpot.chance

Probability of a jackpot triggering per click, as a decimal.

  • Default: 0.01 (1% chance)
  • Must be between 0.0 and 1.0.

jackpot.min / jackpot.max

The minimum and maximum base reward for a jackpot (before multipliers).

  • Default: 50.0 / 100.0

jackpot.sound

Sound effect played when a player hits the jackpot. Must be a valid Bukkit Sound enum name for your server version.

  • Default: UI_TOAST_CHALLENGE_COMPLETE
  • Set to "" to disable.

Cooldown

click-cooldown: 0
silent-cooldown: false

click-cooldown

Minimum number of seconds between rewarded clicks. Set to 0 to disable the configurable cooldown.

  • Default: 0
  • A hard 200ms anti-spam floor is always enforced regardless of this setting.

silent-cooldown

When true, the cooldown message is suppressed. The cooldown is still enforced — the player just won't see a message about it.

  • Default: false
  • The cooldown message text is configured in lang.yml under cooldown.message.

Clicker Item

clicker-item:
  material: DIAMOND
  slot: 13
  # skull-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90..."

material

The material used for the clicker item in the GUI. Must be a valid Bukkit Material name.

  • Default: DIAMOND
  • Set to PLAYER_HEAD to use a custom skull texture (see below).

slot

The inventory slot (0–26) where the clicker item is placed in the 27-slot GUI.

  • Default: 13 (center of the middle row)

skull-texture

Base64-encoded skin texture value for custom player heads. Only used when material is set to PLAYER_HEAD (or SKULL_ITEM on legacy servers).

  • You can find texture values on sites like minecraft-heads.com.
  • Uncomment the line and paste in your base64 string.

Balance Display

balance-display:
  slot: 4
  material: GOLD_INGOT

slot

The inventory slot (0–26) for the balance display item. Set to -1 to disable the balance display entirely.

  • Default: 4
  • Cannot be the same slot as clicker-item.slot. If they conflict, the balance display will not be shown.

material

The material used for the balance display item.

  • Default: GOLD_INGOT

Filler

filler:
  material: GRAY_STAINED_GLASS_PANE

material

The material used to fill all empty slots in the GUI.

  • Default: GRAY_STAINED_GLASS_PANE
  • On legacy servers (pre-1.13), the plugin automatically falls back to STAINED_GLASS_PANE with the appropriate data value.

Reward Sound

reward-sound:
  enabled: true
  sound: ENTITY_PLAYER_LEVELUP
  volume: 1.0
  pitch: 1.0

The sound played to the player after a successful click.

enabled

Set to false to disable the reward sound entirely.

  • Default: true

sound

Must be a valid Bukkit Sound enum name. Sound names vary between Minecraft versions.

  • Default: ENTITY_PLAYER_LEVELUP

volume / pitch

  • volume — How loud the sound is. 1.0 is normal.
  • pitch — How high or low the sound is. 1.0 is normal, higher values are higher pitched.

GUI Open Sound

gui-open-sound:
  enabled: true
  sound: BLOCK_CHEST_OPEN
  volume: 1.0
  pitch: 1.2

The sound played when a player opens the clicker GUI. Same options as the reward sound above.

  • Default sound: BLOCK_CHEST_OPEN
  • Default pitch: 1.2

Full Default Config

Below is the complete default config.yml as generated by the plugin:

# config.yml — ClickerEconomy behaviour settings
# All player-facing text (messages, item names, lore, GUI title) lives in lang.yml.
#
# Internal version — do not edit (managed automatically by the plugin)
config-version: 10
 
# ── Storage ───────────────────────────────────────────────────────────────────
# backend: yaml | h2 | mysql | mariadb | postgresql
#   yaml        — flat YAML file (default, no extra setup)
#   h2          — embedded H2 file database (no server needed)
#   mysql       — external MySQL 5.7+ / 8.x
#   mariadb     — external MariaDB (requires mariadb-java-client on classpath)
#   postgresql  — external PostgreSQL (requires postgresql driver on classpath)
 
storage:
  backend: yaml
 
  # Used by mysql / mariadb / postgresql
  sql:
    host: localhost
    port: 3306
    database: minecraft
    username: root
    password: ""
    use-ssl: false
    pool-size: 5
    connection-timeout: 30000
    idle-timeout: 600000
    max-lifetime: 1800000
 
  # Prefix for all table names — change if sharing a database with another plugin
  table-prefix: "ce_"
 
  # H2 only: database file name relative to the plugin folder (no extension)
  h2-file: h2data
 
# ── Leaderboard ───────────────────────────────────────────────────────────────
 
leaderboard:
  entries-per-page: 10
 
# ── Economy ───────────────────────────────────────────────────────────────────
 
# Base amount deposited per click (ignored when random-reward is enabled)
reward-amount: 1.0
 
# Base global multiplier — used as the default when no timed override is active
# and as the value the multiplier reverts to when a timed one expires.
# The active runtime value is managed via /clicker multiplier set and lives in data.yml.
global-multiplier: 1.0
 
# Per-player multipliers are granted via permissions:
#   clicker.multiplier.2    →  2x
#   clicker.multiplier.1.5  →  1.5x
# The highest matching permission wins and stacks with the global multiplier.
 
# ── Random rewards ────────────────────────────────────────────────────────────
 
random-reward:
  enabled: false
  min: 0.5
  max: 5.0
  jackpot:
    enabled: false
    chance: 0.01          # probability per click (0.01 = 1 %)
    min: 50.0
    max: 100.0
    sound: UI_TOAST_CHALLENGE_COMPLETE
 
# ── Cooldown ──────────────────────────────────────────────────────────────────
 
# Minimum seconds between rewarded clicks (0 = disabled)
click-cooldown: 0
 
# If true the cooldown message (lang.yml → cooldown.message) is suppressed
silent-cooldown: false
 
# ── Clicker item ──────────────────────────────────────────────────────────────
 
clicker-item:
  material: DIAMOND
  slot: 13            # GUI slot for the clicker item [0-26]
  # To use a custom player head set material to PLAYER_HEAD and uncomment:
  # skull-texture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90..."
 
# ── Balance display pane ──────────────────────────────────────────────────────
 
balance-display:
  slot: 4             # Set to -1 to disable
  material: GOLD_INGOT
 
# ── Filler pane ───────────────────────────────────────────────────────────────
 
filler:
  material: GRAY_STAINED_GLASS_PANE
 
# ── Reward sound ──────────────────────────────────────────────────────────────
 
reward-sound:
  enabled: true
  # Any value from the Bukkit Sound enum for your server version
  sound: ENTITY_PLAYER_LEVELUP
  volume: 1.0
  pitch: 1.0
 
# ── GUI open sound ────────────────────────────────────────────────────────────
 
gui-open-sound:
  enabled: true
  # Any value from the Bukkit Sound enum for your server version
  sound: BLOCK_CHEST_OPEN
  volume: 1.0
  pitch: 1.2