AuctionHouse Rewrite icon

AuctionHouse Rewrite -----

An AuctionHouse plugin for 1.20.5+ with a familiar interface.



This version is a version based off the original AuctionHouse updated to versions 1.20.5+. I have removed the dependency for NMS that made the original version locked to 1.20.4. This version is a replacement for AuctionHouse on newer server versions.

The original AuctionHouse plugin can be found here.

Thanks to klugemonkey for making the original version
Thanks to Moloch17 for helping fix some bugs.

Auction House Rewrite
1.0.8 for Spigot 1.20.5+

[​IMG]

Overview:
AuctionHouse allows players to list items for sale on an auction house accessible with the /ah command. The plugin is new code and only shares a similar look and feel as the inactive plugin resource AuctionHouse.

[​IMG]

Features:
  • FREE!
  • Sell items in the auction house
  • List server items in the auction house (one-time or unlimited)
  • View items matching a search filter based on name, type, lore, enchants, or seller
  • Sort chronologically or by price
  • Show items you are selling
  • Cancel items
  • Collect cancelled/expired items
  • Drop unclaimed items at player's feet
  • Automatically clean up abandoned items
  • Show and clear recently sold items
  • Hover over item to show time remaining and enchants
  • Charge a flat and/or percentage based fee for listing an item (with confirmation menu)
  • Tax sellers a percentage of revenue for each sale with cap
  • Set min and max prices
  • Restrict items by name, type, lore, enchants, damage and unbreakable flag
  • Restrict wildcard items/blocks by omitting the item type and specifying lore, or enchants (can ban selling soulbound and cursed items)
  • Restrict item names using Regex with regex:<expr>
  • Restrict items based on custom_model_data
  • Optional Back/Exit button calls a command to return to another menu
  • Click on a special sign to open the auction house
  • Click on certain named block entities to open the auction house (chests, shulker boxes, dispensers, droppers, hoppers, furnaces, enchanting tables, brewing stands)
  • Click on custom named entities to open the auction house
  • Console command support for custom menu and NPC plugins
  • Internationalization Support
  • Customize messages, button materials and sounds
  • Support for HeadDatabase heads as buttons with hdb:<id>
  • Support for custom skull textures as buttons with texture:<base64 data>
  • Supports player head for the player listings button with auctionhouse player_head
  • Logging all transactions to separate log file
  • Announce listings to all players
  • Discord integration
  • Rewriting of String UUIDs in NBT (Seller -> Buyer)
  • Multi-world support with simple world grouping
  • Set cooldown between listings
  • Supports Minecraft 1.20.5+
Commands:
/ah reload - reloads the auctionhouse configuration
/ah - open the auction house
/ah show [player] - open the auction house for a player (console only)
/ah menu [player] - open the auction house for a player with a back button for exiting (console only)
/ah search <filter> - view items matching search filter
/ah help - show help for all the commands
/ah sell <price> - sell the item you are holding in hand
/ah list <price> [count] - list the item as server
/ah ulist <price> [count] - list the item as server with unlimited buying
/ah selling - view the items you are selling
/ah sold - view the items you have sold recently
/ah expired - view your expired items to return
/ah cancel - cancel all your auctions
/ah return - return all your cancelled/expired items


Permissions:
auctionhouse.reload - enables reloading the plugin
auctionhouse.use - enables /ah command (default: true)
auctionhouse.menu - enables /ah menu command
auctionhouse.search - enables /ah search command (default: true)
auctionhouse.help - enables /ah help command (default: true)
auctionhouse.sell - enables /ah sell command (default: true)
auctionhouse.list - enables /ah list command
auctionhouse.ulist - enables /ah ulist command
auctionhouse.selling - enables /ah selling command (default: true)
auctionhouse.sold - enables /ah sold command (default: true)
auctionhouse.show - enables /ah show command commandauctionhouse.expired - enables /ah expired command (default: true)
auctionhouse.cancel - enables /ah cancel command (default: true)
auctionhouse.return - enables /ah return command (default: true)
auctionhouse.cancel.others - enables cancelling other's auctions
auctionhouse.trigger.block - enables block triggers for menu
auctionhouse.trigger.entity - enables entity triggers for menu
auctionhouse.trigger.sign - enables sign triggers for menu
auctionhouse.auctions.# - sets maximum listings

*Note: the plugin will take the maximum set value of the setting in the config.yml, permissions and meta.

Meta:
auctions - sets the number of auctions a player can list
To use meta, you need to have a compatible permissions plugin that supports setting and removal of meta such as PermissionsEx or LuckPerms.

For PermissionsEx use:
/pex user <user> set auctions <value>
/pex group <group> set auctions <value>
For LuckPerms use:
/lp user <user> meta set auctions <value>
/lp group <group> meta set auctions <value>
For GroupManager use:
/manuaddv <user> auctions <value>
/mangaddv <group> auctions <value>


Configuration:

Code (YAML):
#
# AuctionHouse
#
locale
: en_us
decimal_format
: "#,##0.00"
strict
: false
economy
: vault
chatHook
: true
updateTicks
: 20

auction
:
  listingPrice
: 0.00
  listingRate
: 0.00
  listingCooldown
: 0d0h0m0s
  listingDuration
: 7d0h0m
  expiredDuration
: 14d0h0m
  unclaimedDuration
: 90d0h0m
  cleanupDuration
: 0d24h0m
  soldDuration
: 365d0h0m
  unclaimedCheckDuration
: 0d0h5m
  unclaimedCheckOnWorldChange
: true
  preventCreative
: true
  preventSpectator
: true
  preventFilledContainers
: false
  minSellPrice
: 0.00
  maxSellPrice
: 100000.00
  salesTax
: 0.00
  maxSalesTax
: 100000.00
  allowDamagedItems
: false
  defaultMaxListings
: 5
  sortOrder
: 'oldest'
  discord_channel
: 'auctionhouse'
  multiworld
: false
  groupWorlds
: false
  replaceUUIDs
: false
  replacePlayerNames
: false
  dropAtFeet
: false
  showSeconds
: true
  spawnerInfo
: true
  integerPrice
: false
  showRepairCost
: false

announce
:
  chat
:
    listings
: false
    purchases
: false
  action_bar
:
    listings
: false
    purchases
: false
  discord
:
    listings
: false
    purchases
: false

restricted_items
:
  0
:
    item
: 'minecraft:bedrock'
  1
:
    item
: 'minecraft:barrier'
  2
:
    item
: 'minecraft:command_block'
  3
:
    item
: 'minecraft:structure_block'
  example
:
    name
: '\u00a7cVorpal Sword'
    item
: 'minecraft:diamond_sword'
    lore
:
     - 'Special Item'
      - 'Does not list in AuctionHouse'
    enchantments
:
      - {ench
: 'minecraft:sharpness', level : 10 }
      - {ench
: 'minecraft:unbreaking', level : 3 }
      - {ench
: 'minecraft:looting', level : 3 }
      - {ench
: 'minecraft:fire_aspect', level : 2 }
    unbreakable
: true
    custom_model_data
: 1
sounds
:
  click
: 'ui.button.click'
  fail
: 'entity.villager. no'
  drop
: 'entity.player.burp'
  sold
: 'block.note_block.chime'

buttons
:
  exit
: 'minecraft:iron_door'
  back
: 'minecraft:iron_door'
  previous
: 'minecraft:paper'
  sort_listings
: 'minecraft:sunflower'
  next
: 'minecraft:paper'
  info
: 'minecraft:book'
  howto
: 'minecraft:emerald'
  return_all
: 'minecraft:flower_pot'
  player_listings
: 'minecraft:diamond'
  expired_listings
: 'minecraft:poisonous_potato'
  sold_items
: 'minecraft:gold_ingot'
  clear
: 'minecraft:barrier'
  confirm
: 'minecraft:lime_stained_glass_pane'
  cancel
: 'minecraft:red_stained_glass_pane'

triggers
:
  sign
: ' [AuctionHouse ]'
  block_name
: 'Auction House'
  entity_name
: 'Auction House'

commands
:
  exit
: "msg %player% Exiting AuctionHouse"

log
:
  listed
: true
  sold
: true
  cancelled
: true
  returned
: true
  dropped
: true
  purged
: true

anticheat
:
  spam_check
: true

disabled-worlds
: [ ]

DiscordSRV Support:
This plugin currently supports DiscordSRV 1.25.1 integration. Make sure you have the latest plugin. To configure for DiscordSRV, you need to set discord: true in the config.yml and set the discord_channel: 'auctionhouse', where auctionhouse represents the in-game channel name you will configured in DiscordSRV's config.yml.
Usually this can be achieved by adding an additional entry into the Channels: section of DiscordSRV's config.yml using the same numeric channel as the global one. It might look something like the following with the actual number matching what is given in Discord.

Code (YAML):
# Channel links from game to Discord
# syntax is Channels: {"in-game channel name": "numerical channel ID from Discord", "another in-game channel name": "another numerical channel ID from Discord"}
# The first channel pair specified in this config option will be the "main" channel, used for sending player joins/quits/deaths/achievements/etc
#
Channels
: { "global" : "123456789012345678", "auctionhouse" : "123456789012345678" }

Known Issues:
  • There is no support for drag-and-drop of items.
  • There is no external database support - it uses SQLite.
  • Users should supply localized translation files
  • Per user maximum listings are not supported by all permissions plugins, and may require additional configuration
Dependencies:
  • Vault (version 1.7.1+)
  • An appropriate Economy Plugin
  • An appropriate Permissions Plugin
Terms of Service:

The plugin is provided AS-IS.

Please report all issues by starting a conversation. If you post in the discussion forum, it may get overlooked as we are getting more discussion now.

Disclaimer:
This plugin currently supports Spigot version 1.20.5+. Features may break if used with older versions of Spigot than intended.
Resource Information
Author:
----------
Total Downloads: 168
First Release: Apr 24, 2025
Last Update: Apr 25, 2025
Category: ---------------
All-Time Rating:
2 ratings
Find more info at www.spigotmc.org...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings