Features
Selling Items
Fixed-Price Listing
The simplest way to sell: hold the item you want to list and use the /ah sell command. The item is removed from your hand and listed in the auction house at your chosen price.
/ah sell <price> [quantity] [currency]
Examples:
# Sell the entire stack in hand for 500 (default currency)
/ah sell 500
# Sell 16 of the held item for 200
/ah sell 200 16
# Sell the held item for 1000 gems
/ah sell 1000 gems
If you omit the quantity, the entire stack is listed. If you omit the currency, the server's default currency is used (configured in config.yml under default-currency, or the Vault primary currency if left empty).
When a listing is created, the item is immediately removed from your inventory. If the listing fails (database error, validation failure), the item is returned automatically.
Auction Listing
Auctions let other players compete with bids. The highest bidder wins when the timer expires.
/ah auction <starting_bid> [duration] [currency]
Examples:
# Start an auction at 100, default duration (1d)
/ah auction 100
# Start a 3-day auction at 500
/ah auction 500 3d
# Start a 12-hour auction at 1000 gems
/ah auction 1000 12h gems
Duration supports these formats: s (seconds), m (minutes), h (hours), d (days), w (weeks). The duration must be between the configured minimum and maximum (default: 1h to 7d).
The auction system can be disabled entirely in config.yml with auction.enabled: false. When disabled, only fixed-price listings are available.
Server Listings (Money Sink)
Server listings are admin-created listings whose sale proceeds are destroyed instead of paid to a seller. The buyer is charged normally, but no one receives the money — so it leaves the economy entirely. This is ideal for a controlled server shop inside the auction house, or for fighting inflation.
Hold the item you want to sell and run:
/ah serverlist <price> [infinite] [currency]
Examples:
# A single server listing for 10000 (consumed when bought)
/ah serverlist 10000
# A restockable listing that can be bought repeatedly
/ah serverlist 10000 infinite
# An infinite listing priced in gems
/ah serverlist 500 infinite gems
| Mode | Behavior |
|---|---|
| single (default) | Works like a normal listing but with no payout — consumed once a player buys it. |
| infinite | Stays in stock after each purchase and can be bought again and again — a true currency sink. |
- Server listings never expire and show a configurable
Serverseller name with a★ Server listingtag. - They are always fixed-price (no bidding) and ignore tax — the buyer pays exactly the listed price.
- They do not count against any player's sell limit.
- Remove one like any other listing:
Shift + Left-clickit in the GUI (requiresah.admin).
# config.yml
server-listings:
enabled: true
display-name: "Server" # seller name shown for server listings
Requires the ah.admin permission. Because the proceeds are destroyed, server listings are an economy tool — not a way to earn money.
Item Categories
Every listed item is automatically assigned to one of 7 categories based on its material type:
| Category | Items Included |
|---|---|
| All | Every listing (default view) |
| Tools | Pickaxes, shovels, axes, hoes, shears, fishing rods, etc. |
| Weapons | Swords, bows, crossbows, tridents, maces, etc. |
| Armors | Helmets, chestplates, leggings, boots, shields, horse armor |
| Blocks | All placeable blocks |
| Spawners | Spawner blocks |
| Other | Everything that does not fit into another category |
Players browse by category using the sort button in the auction GUI. There is also a Favorites filter for bookmarked items.
Blocked Items
Admins can prevent specific items from being listed. Three blocklists are available in config.yml:
# Block by material type
blocked-materials:
- ELYTRA
- BEDROCK
# Block by display name substring (case-insensitive)
blocked-names:
- fuck
# Block by anvil-renamed display name (case-insensitive)
blocked-anvil-names:
- fuck
Shulker boxes are also checked: if any item inside a shulker matches the blocked materials or names, the entire shulker is rejected.
Sell Limits
You can restrict how many active listings a player can have simultaneously using the ah.limit.<amount> permission.
| Permission | Effect |
|---|---|
ah.limit.5 | Player can have up to 5 active listings |
ah.limit.10 | Player can have up to 10 active listings |
ah.limit.50 | Player can have up to 50 active listings |
ah.admin | Unlimited listings |
If a player has multiple ah.limit.* permissions, the highest value is used. If no limit permission is set, the default is 1 listing.
Auction listings have a separate cap configured via auction.max-active-auctions in config.yml (default: 5).
A player who tries to list when at their limit will see a "maximum reached" message. Expired and sold items do not count toward the limit.
Listing Expiration
Listings automatically expire after the configured duration (default: 3d for fixed-price). When an item expires:
- It moves to the player's "Expired" tab in the My Items GUI
- The player receives a notification on their next login
- If
auto-return-expired: true, expired items are automatically returned to the player's inventory on join
For auctions, the duration is set per-listing via the /ah auction command. If no bids were placed, the item is returned to the seller. If bids were placed, the highest bidder wins.
Duplicate Listing Warning
When a player lists an item of the same material type they already have listed, they receive a yellow warning message. This is a soft warning only -- the listing is still created. It helps players avoid accidentally listing the same item type twice.