You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.
You should upgrade or use an alternative browser.
VIP Plugins zAuctionHouse
Version: 4.0.1.5
Likely safe
- Author ArteffCods
- Creation date
- Fixed With enable-sell-inventory: true, the amount given to /ah sell <price> <amount> was ignored and the whole stack held in hand was listed. The amount is now applied when confirming, capped by what the player actually holds
- Fixed With purchased-item.give-item: true and player-inventory-must-have-free-space: false, a purchase that did not fit in the inventory was dropped on the ground. The whole lot now goes to "purchased items" (as in V3) and the new purchase-inventory-full message is sent. With player-inventory-must-have-free-space: true the purchase is still blocked, and an inventory that fills up between the click and the delivery now also sends the lot to "purchased items" instead of dropping it
- Fixed The /ah sell cooldown was consumed even when nothing was sold (sell inventory closed, sale refused). It now starts only once the sale is completed. Other commands keep their current cooldown behaviour
- Fixed A message set to "" in messages.yml still sent a line containing only the prefix. It is now really disabled
- Fixed The sell tax messages (tax-sell-applied, tax-reduced, tax-exempt) were sent before the listing was saved, even when the sale then failed and the tax was refunded. They are now sent after the listing is published
- Added %tax% and %percentage% in the item-sold message, so the tax can be shown in a single message by disabling tax-sell-applied
- Added open-when-empty option on ZAUCTIONHOUSE_EXPIRED_INVENTORY, ZAUCTIONHOUSE_PURCHASED_INVENTORY and ZAUCTIONHOUSE_SELLING_INVENTORY: the button opens the inventory even when the list is empty. The default auction.yml uses it on the else buttons
- Added economy option on ZAUCTIONHOUSE_SELL_CONFIRM to always sell with a given economy: one button per economy lists the item in a single click (regression from V3). The same option on ZAUCTIONHOUSE_SELL_ECONOMY selects that economy instead of cycling, with a new %selected% placeholder
- Added SELL_ECONOMY can be set with /ah admin cache set
- Added PlaceholderAPI placeholders for the sale in progress: %zauctionhouse_sell_price%, %zauctionhouse_sell_price_formatted%, %zauctionhouse_sell_economy%, %zauctionhouse_sell_economy_name%, %zauctionhouse_sell_amount%
- API AuctionSellService#openSellCommandInventory(Player, BigDecimal, AuctionEconomy, int), CommandManager#applyCooldown(Player, VCommand) and VCommand#setDeferredCooldown(boolean)
- Updated Sarah to version 1.26, added database-configuration.max-lifetime
- Added banned-rules support for categories - allows excluding specific items from a category even if they match the inclusion rules. For example, a netherite hoe would normally appear in the "Tools" category, but if it has a specific CustomModelData (e.g., 300), it can be excluded using a banned rule. Uses the same rule types as regular rules (material, tag, lore, custom-model-data, etc.)
- Added Broadcast system - sends messages to all online players when items are listed or purchased. Configurable per event type (sell/purchase) with options to exclude the seller/buyer. Supports per-category message overrides using MiniMessage format with %seller%, %buyer%, %items%, %price%, %category% placeholders. Disabled by default, enable in config.yml under broadcast
- Added Player options system - extensible per-player preference system backed by the database. Players can toggle options via /ah option (opens GUI) or /ah option <option_name> [value] (command toggle). Options are cached in memory and only stored in the database when different from the default value. Currently supports broadcast_sell and broadcast_purchase to opt out of broadcast messages
- Added Options inventory (/ah option) - 27-slot GUI with toggle buttons for each broadcast option, showing current status (enabled/disabled)
- Added Admin option commands - /ah admin option set <player> <option> <value> to set options for a player, /ah admin option list <player> to view player options, /ah admin option reset <player> to reset all options to defaults
- Added %zauctionhouse_option_<option_name>% PlaceholderAPI placeholder - returns true/false for a player's option value (e.g., %zauctionhouse_option_broadcast_sell%)
- Added ZAUCTIONHOUSE_COMBINED_ITEMS button - combines selling, expired, and purchased items into a single paginated view. Each source is individually togglable via include-selling, include-expired, and include-purchased. Click actions automatically adapt to the item's storage type (cancel listing, claim expired, claim purchased). Each item type uses its own lore configuration from config.yml
- Fixed Item duplication exploit in multi-server (Redis) setups - removing a listing on one server and claiming the expired item could leave a ghost entry on the original server, allowing the item to be claimed again after natural expiration
- Fixed ItemRemovedListener (Redis addon) - removed fragile DB state validation that rejected removal messages due to race conditions, added safety-net cleanup across all storage types
- Fixed ItemStatusListener (Redis addon) - status change propagation now searches across all storage types (LISTED, EXPIRED, PURCHASED) instead of only LISTED
- Fixed ExpireService - added guard against re-expiring items already deleted/claimed on another server
- Added Redis Sentinel support (Redis addon) - enables high-availability Redis setups with automatic master discovery and failover. Configure mode: "sentinel" in config.yml with sentinel nodes. Fully backward compatible, existing standalone configurations work without changes
- Fixed NullPointerException when default economy is not configured - /ah sell and all sell-related buttons now display an error message instead of crashing. Added startup validation with prominent warnings in console when a default economy is missing from economies.yml
- Fixed Incorrect economy type names in economies.yml comments - COINS_ENGINE and PLAYER_POINTS did not match the actual CurrenciesAPI enum values (COINSENGINE, PLAYERPOINTS), causing these economy types to silently fail to load when users followed the documented names
- Added All permissions are now programmatically registered in Spigot on startup and reload. Includes static permissions (use, sell, admin, etc.), and dynamic permissions from configuration (listing limits, expiration tiers, tax bypass/reductions, economy access, inventory commands, cooldown bypass). All permissions are grouped under the zauctionhouse.* wildcard
- Fixed Items dropping on the ground when claiming expired, purchased, or selling items with a full inventory - items now stay in their storage when the player's inventory is full. Added player-inventory-must-have-free-space config option under remove-expired-item and selling-item sections (enabled by default)
- Added ZAUCTIONHOUSE_REMOVE_ALL_EXPIRED, ZAUCTIONHOUSE_REMOVE_ALL_SELLING, ZAUCTIONHOUSE_REMOVE_ALL_PURCHASED buttons - allows players to retrieve all items at once from expired, selling, and purchased inventories. Items are given one by one and stops when inventory is full (if player-inventory-must-have-free-space is enabled)
- Added ItemContentProvider API - extensible system for displaying the contents of container items (shulker boxes, custom containers from plugins). External plugins can register their own providers via AuctionPlugin.getItemContentManager().registerProvider()
- Added AxShulkers hook - displays the contents of shulker boxes managed by the AxShulkers plugin in the item content viewer. AxShulkers stores shulker contents externally instead of in vanilla NBT, so this hook is required to view their contents
- Fixed Seller not receiving money in multi-server (Redis) setups when the buyer is on a different server - the plugin tried to deposit money locally on the buyer's server where the seller's economy account may not exist. Money is now deferred to PENDING status in distributed environments and claimed by the seller on their own server via /ah claim or auto-claim on join
- Added AuctionClusterBridge.isDistributed() - allows cluster bridge implementations to signal a multi-server environment so the plugin can adapt its behavior (e.g., defer deposits instead of executing them locally)
- Added ZAUCTIONHOUSE_CLAIM button - displays pending money per economy with dynamic placeholders and allows players to claim directly from the auction GUI
- Added Configurable loading-item for the claim button, shown while pending money data is being fetched
- Added PRICE_WITHOUT_DECIMAL price format - displays prices without decimal places (e.g., 10000.50 -> 10000)
- Added %price-price-without-decimal% placeholder - displays the price without decimals in item lore
- Added /ah admin forceopen can now be executed from the console
- Added timezone configuration option - allows changing the timezone used for all date placeholders (%date%, %formatted-expire-date%, %expires_at%). Supports all Java TimeZone IDs (e.g., Europe/Paris, America/New_York, UTC). Defaults to auto (server timezone)
- Fixed /ah admin open and /ah admin history tab completion no longer loads all offline players, preventing lag on servers with many players
- Fixed updateListedItems crash on Folia/Canvas - inventory holder access was running on an async thread instead of the main tick thread
- Fixed economy name argument configuration for the sell command - when the economy argument index was not configured, the default value was ignored causing a null economy name
- dded ZAUCTIONHOUSE_SELL_LIMIT button - displays remaining sell slots visually using a list of inventory slots, configurable per item type (auction, bid, rent)
- Added %zauctionhouse_max_items_<type>% placeholder - returns the maximum number of items a player can list for a specific type (auction, bid, rent)
- Optimized item lore placeholder resolution, placeholders are now pre-detected at config load and only resolved when referenced, significantly reducing CPU and memory usage per item render
- Fixed /ah history stuck on "Loading..." when action.purchased-item.give-item: true is enabled
- Fixed default config values
- Fixed default table prefix to zauctionhousev4 (fixes compatibility with zAuctionHouse V3)
- %zauctionhouse_max_items_<type>% placeholder
- Returns the maximum number of items a player can list based on their permissions for the given type.
- %zauctionhouse_max_items_auction%
- %zauctionhouse_max_items_bid%
- %zauctionhouse_max_items_rent%
- Added zauctionhouse_category permissible for zMenu - allows conditional button visibility based on the player's currently selected category (defaults to main)
- Added ZAUCTIONHOUSE_CATEGORY_SWITCHER button - combines category cycling (left/right click) with dynamic lore showing enable/disable state per category
- Added %zauctionhouse_category_id% placeholder - returns the player's currently selected category ID
- Added ZAUCTIONHOUSE_HISTORY_INVENTORY button - opens the sales history inventory directly from any UI
- Added force-amount-one option in config.yml (item-lore section) - forces displayed item amount to 1 in the auction inventory while preserving the real amount internally
- Changed AuctionEconomy API - economy methods (get, has, deposit, withdraw) now accept UUID instead of OfflinePlayer for better compatibility
- Updated CurrenciesAPI dependency from 1.0.12 to 1.0.13
- Fixed category display name fallback - now uses the configured "all" category name instead of a hardcoded "All" string
- Fixed empty slot crash - list buttons (ListedItems, ExpiredItems, PurchasedItems, SellingItems) no longer crash when emptySlot is -1 and the list is empty
- Fixed history loading slot - HistoryItemsButton now properly handles loadingSlot set to -1 without throwing an error
- Fixed LoadingSlotLoader - added validation for invalid slot values with a clear error message
- Fix: Correction of minimessage when player is not found
- Fix: Update to last zMenu and Sarah Version
- Added database table for player options (disable sell confirmation and sorting)
- Added command /ah sell-confirmation-toggle
- Added placeholder %zauctionhouse_disable_sell_confirmation%
If you don’t know, I’m working on my own server, which will be released in a few weeks, you’ll have all my plugins on it, as well as new plugins! Come see it here https://discord.gg/fCKXsnVY5M !
- Update to CurrenciesAPI 1.0.10
- Update to Sarah 1.19
- Fix /ah help command
- Fix no money item with minimessage