Skip to content

Auction House Channels

Channels are the building block of Bazaar’s Auction House. Each one is an independent market lane with its own command, permission, currency, fee schedule, GUI IDs, and item filter.

Channels live in config/bazaar/channels.conf.

channels = [
{
id = "main"
name = "Auction House"
icon = "minecraft:chest"
command = "ah"
permission = "bazaar.ah"
currency = "default"
gui {
browse = "ah_main"
detail = "ah_detail"
sell = "ah_sell"
}
fees = null
itemFilter {
mode = "none"
rules = []
}
}
]

The bundled default channel uses id = "main" and command = "ah".

{
id = "premium"
name = "Premium Market"
icon = "minecraft:netherite_ingot"
command = "premium"
permission = "bazaar.ah.premium"
currency = "bazaar:prisms"
gui {
browse = "ah_main_premium"
detail = "ah_detail_premium"
sell = "ah_sell_premium"
}
fees {
listingFeeFlat = 0
listingFeePercent = 1.5
transactionTaxPercent = 4.0
}
itemFilter {
mode = "whitelist"
rules = [
{ type = "id", value = "minecraft:netherite_*" }
{ type = "tag", value = "#minecraft:tools" }
{
type = "component"
component = "minecraft:custom_model_data"
value = "12345"
match = "exact"
}
]
}
}
FieldTypePurpose
idstringStable internal ID used by Bazaar storage and routing.
namestringHuman-facing label shown in GUIs and the dashboard.
iconMinecraft item IDIcon shown in channel pickers.
commandstringSlash command players run. Must be unique across channels.
permissionpermission nodeBase permission. Bazaar derives .browse and .sell from it. See Permissions.
currencystringImpactor currency ID, or default for Impactor’s primary currency.
gui.browse / gui.detail / gui.sellstringGUI IDs Bazaar resolves against the extracted files under config/bazaar/gui/.
feesobject or nullChannel-specific override for fees.conf. Use null to inherit the global defaults.
itemFilterobjectWhitelist, blacklist, or accept-all rule set for items in this channel.

Channels reuse Bazaar’s shared item-filter structure.

Rule types:

TypeMatch
idExact item ID or * wildcard pattern.
tagItem tag such as #minecraft:tools.
componentString comparison against a data component using component, value, and match.

Modes:

ModeBehaviour
noneAccept any item.
whitelistAllow the item if any rule matches.
blacklistReject the item if any rule matches.

The channel’s currency field is an Impactor currency ID. The symbol shown in GUIs and the dashboard comes from that currency’s symbol in config/impactor/economy.conf.

Use currency = "default" to point the channel at Impactor’s primary currency.

To give a channel its own look, copy one of the shipped GUI files under config/bazaar/gui/, change its id, and reference that ID from the channel’s gui block.

Example workflow:

  1. Copy ah_main.conf to ah_main_premium.conf.
  2. Change the copied file’s id to ah_main_premium.
  3. Update titles, icons, colors, or layout.
  4. Set gui.browse = "ah_main_premium" on the premium channel.

See GUI Customization for the HOCON structure and shipped file set.

Worked Example: Netherite-Only Premium Channel

Section titled “Worked Example: Netherite-Only Premium Channel”
channels = [
{
id = "main"
name = "Auction House"
icon = "minecraft:chest"
command = "ah"
permission = "bazaar.ah"
currency = "default"
gui { browse = "ah_main" detail = "ah_detail" sell = "ah_sell" }
fees = null
itemFilter {
mode = "blacklist"
rules = [{ type = "id", value = "minecraft:netherite_*" }]
}
},
{
id = "premium"
name = "Premium Market"
icon = "minecraft:netherite_ingot"
command = "premium"
permission = "bazaar.ah.premium"
currency = "bazaar:prisms"
gui { browse = "ah_main_premium" detail = "ah_detail_premium" sell = "ah_sell_premium" }
fees {
listingFeePercent = 5.0
transactionTaxPercent = 10.0
}
itemFilter {
mode = "whitelist"
rules = [{ type = "id", value = "minecraft:netherite_*" }]
}
}
]

Netherite gear is kept out of the regular AH and tradeable only in the premium channel, paid for in Prisms, with a stricter fee schedule.