Skip to content

Economy

Bazaar’s pricing, fees, and collection payouts all run through Impactor. Any currency declared in Impactor is usable in a Bazaar channel.

Drop the Impactor jar into mods/. Start the server once. Impactor generates config/impactor/economy.conf.

Bazaar links against Impactor at compile time but treats it as a required runtime dependency. The server will not start without it.

Edit config/impactor/economy.conf:

currencies {
"bazaar:obols" {
singular = "Obol"
plural = "Obols"
symbol = "⊙"
decimals = 0
primary = true
default-balance = 1000.0
transferable = true
formatting {
condensed = "<gold><symbol><amount>"
expanded = "<gold><amount> <gray><name>"
}
}
"bazaar:prisms" {
singular = "Prism"
plural = "Prisms"
symbol = "◈"
decimals = 0
primary = false
default-balance = 0.0
transferable = true
}
}

Notes:

  • Set primary = true on exactly one currency. That is what currency = "default" resolves to in channels.conf.
  • symbol is what Bazaar shows everywhere it renders a price.
  • decimals = 0 keeps prices whole-number based, which matches Bazaar’s internal assumptions.
  • transferable = true is required if players should be able to trade in that currency.
messaging {
service = "auto"
redis {
enabled = false
addresses = [ "localhost" ]
password = ""
}
}
storage {
method = "json"
}

If you run Bazaar cross-server, Impactor must use shared Redis or SQL storage. Local JSON storage only works for single-server setups.

In channels.conf:

{ id = "main", currency = "default" }
{ id = "premium", currency = "bazaar:prisms" }

All listings in a channel price in that channel’s currency. Fees, taxes, collection payouts, and the dashboard all follow automatically.

  • Prices show the wrong symbol. Check that the currency you referenced in channels.conf exists in economy.conf.
  • The premium channel still uses the default currency. The channel’s currency value in channels.conf is wrong or misspelled.
  • Players can’t afford anything. default-balance only seeds first-time players; use Impactor commands to top them up later.