Configuration

Config Overview

The main configuration file is located at plugins/XCore/addons/XAuctionHouse/config.yml. Below is the complete default configuration with explanations for each section.

Command Aliases

Add custom command names so players can use familiar shortcuts (for example /hdv on French servers).

# Aliases for /ah and /pah
command-aliases:
  ah:
    - auctionhouse   # /auctionhouse works the same as /ah
  pah: []            # No extra aliases for /pah

The main command name is always available, so even an empty list keeps /ah and /pah working. See the Command Aliases section under Commands & Permissions for full details.

General Settings

# Enable debug logging
debug: false

# Announcement settings for sales, bids, and auction wins
announcements:
  sales: true        # Announce when items are sold
  bids: true         # Announce when bids are placed
  wins: true         # Announce when auctions are won
  type: BOSSBAR      # CHAT, ACTION_BAR, TITLE, SUBTITLE, BOSSBAR
  bossbar:
    style: PROGRESS  # PROGRESS, NOTCHED_6, NOTCHED_10, NOTCHED_12, NOTCHED_20
    color: GREEN     # BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW

# Duration of an item listing before expiration
# Format: s (seconds), m (minutes), h (hours), d (days), w (weeks), M (months), y (years)
duration: 3d

# Maximum price for an item
maximum-price: 1000000000

# Delay in ms before showing join notifications
delay-message: 1000

# Default currency (empty = vault primary)
default-currency: ""

# Auto-return expired items to player on join
auto-return-expired: false

The announcements.type setting controls how all announcements appear. BOSSBAR is the least intrusive option for busy servers.

Blocked Items

# Materials that cannot be sold
blocked-materials:
  - ELYTRA

# Display names that cannot be sold (case-insensitive substring match)
blocked-names:
  - fuck

# Anvil-renamed display names that cannot be sold (case-insensitive)
blocked-anvil-names:
  - fuck

All three lists use case-insensitive matching. The material list checks exact material names (use Bukkit material names like DIAMOND_SWORD). The name lists check if the item's display name contains any of the blocked strings.

Tax Configuration

tax:
  enabled: false
  rate: 0.05         # 5% tax on sales
  type: SELLER       # SELLER (deducted from proceeds) or BUYER (added to price)

Auction Settings

auction:
  enabled: true
  default-duration: 1d        # Default duration if not specified
  min-duration: 1h            # Minimum allowed duration
  max-duration: 7d            # Maximum allowed duration
  min-starting-bid: 1         # Minimum starting bid
  min-bid-increment: 1.0      # Flat minimum increment above current bid
  min-bid-increment-percent: 0  # Percentage increment (0 = disabled, overrides flat if > 0)
  max-active-auctions: 5      # Max active auctions per player

  snipe-protection:
    enabled: true
    threshold: 5m              # Trigger window before auction end
    extension: 5m              # Time to add when triggered

  bid-increments:              # GUI button presets by starting bid tier
    - threshold: 100
      values: [1, 10, 50]
    - threshold: 1000
      values: [10, 100, 500]
    - threshold: 10000
      values: [100, 1000, 5000]
    - threshold: -1            # -1 = no upper limit (fallback)
      values: [1000, 10000, 50000]

If both min-bid-increment and min-bid-increment-percent are set, the percentage-based increment takes priority when it is greater than zero.

Favorites

favorites:
  enabled: true

Set to false to disable the favorites system entirely. The favorites button and shift-right-click action will be hidden.

Discord Webhooks

# Sale and auction event notifications
discord-sales:
  enabled: false
  webhook-url: ""

# Admin action logs (force-remove, purge)
discord-admin:
  enabled: false
  webhook-url: ""

You can use the same webhook URL for both or separate channels for sales and admin logs. See the Integrations page for details on the embed format.

Update Checker

update:
  check: true         # Check for new versions on startup
  notifications: true  # Notify admins on join (requires ah.update permission)