Skip to content

Configuration

Daniel Shirley edited this page Jul 6, 2026 · 1 revision

Configuration

CraftLedger Jobs creates config files in:

config/craftledger/

common.toml

configVersion = 1
currencyEnabled = true
startingBalance = 100.0
currencyName = "coins"
currencySymbol = "$"
storageBackend = "json"
sqliteFile = "craftledger.sqlite"
maxBalance = 0.0
maxPayAmount = 0.0
payCooldownSeconds = 0

Set currencyEnabled = false to disable virtual currency features. Jobs can still pay XP while currency is disabled.

Set storageBackend = "sqlite" to store balances, job assignments, payout totals, and transactions in SQLite.

maxBalance, maxPayAmount, and payCooldownSeconds are optional economy safety controls. Set them to 0 to disable the limit.

shop.json

Configure buy and sell prices with namespaced item ids such as:

{
  "buyPrices": {
    "minecraft:bread": {
      "price": 5.0,
      "maxStack": 64
    }
  },
  "sellPrices": {
    "minecraft:cobblestone": 0.1
  }
}

jobs.json

Configure job definitions, payout tables, payout notifications, placed-block anti-abuse, payout cooldowns, and daily payout limits.

Currency payout maps:

  • blockBreak
  • entityKill

XP payout maps:

  • blockBreakXp
  • entityKillXp

dailyPayoutLimit uses UTC days. 0 disables the limit.

Keep trackPlacedBlocks = true on public servers. Player-placed blocks are tracked in world/craftledger/placed_blocks.json and do not produce job payouts when broken.

Job progression is enabled by default. Successful job payouts award job XP, job levels increase the payout multiplier, and progress is stored per player and per job.

messages.json

Configure command messages and payout messages. Missing keys fall back to built-in defaults. Placeholders use {name} syntax.

Reload

Run:

/craftledger reload

Invalid config is rejected and the old active settings remain loaded.

Clone this wiki locally