HomeJavaModsEzAuction
EzAuction
ModsJava

EzAuction

by Shadow48402 · on Modrinth

Which build do you need?

This mod ships a separate file for every mod loader and every version of the game. Pick both, then download — the wrong build installs fine and then does nothing in the game.

Mod loader

Minecraft version

⬇ Download for 1.21.5–26.1.2 · Bukkit⬇ Download for 1.21.5–26.1.2 · Paper⬇ Download for 1.21.5–26.1.2 · Purpur⬇ Download for 1.21.5–26.1.2 · Spigot
I don't know my version or loader
Open the Minecraft launcher and look at the profile you play on — it names both, like fabric-loader-1.21.4. The version also shows in the bottom-right corner of the game's main menu.
No loader in the profile name? Then it's plain Minecraft, and these mods won't run — you need Fabric or NeoForge installed first.

EzAuction is a complete, GUI-driven auction house plugin for Paper, Spigot, Purpur, and Bukkit Minecraft servers. Players list items for timed sale, create reserve-balance buy orders, and compete in real-time live broadcast auctions – all through smooth, paginated menus backed by Vault economy, MySQL or YAML persistence, PlaceholderAPI support, and optional Discord webhook notifications.

Whether you run survival, skyblock, SMP, or factions, EzAuction handles your server economy: timed listings, offline-safe item returns, enchantment-aware search, live auction sessions with one-click bidding, and team-scoped auctions via TeamsAPI.

Platforms Paper, Spigot, Purpur, Bukkit 1.13 – 26.1.*
Java 21+
Storage YAML (built-in) · MySQL
Languages English · Dutch · Spanish · Chinese
Dependencies Vault + any economy plugin

Requires Vault and a compatible economy plugin such as EzEconomy to process currency.

What's New – v2.3.0

Live Auction Overhaul

Live Auction Queue GUI: browse, join, and manage live auctions

Clickable bid messages in chat with auto-fill bid link

Shulker box contents shown on hover in live auction chat

Fixes & Other Additions

Why Use EzAuction?

Auction House browser: paginated, searchable listings with price overlays

Buy orders GUI

Listing editor with price and quantity controls

Team Auction GUI

EzShops price overlay in listing lore

Feature Highlights

Shulker box contents preview in the auction browser

Discord Integration

Discord Webhook Quick Setup
  1. Open the target Discord channel → Edit ChannelIntegrationsWebhooksNew WebhookCopy Webhook URL.
  2. In-game or via console, run:
    /auctiondiscord webhook set url https://discord.com/api/webhooks/YOUR_ID/YOUR_TOKEN
    
  3. Verify with /auctiondiscord webhook test - a test embed will appear in your channel immediately.
# discord.yml - webhook section
webhook:
  enabled: true
  url: "https://discord.com/api/webhooks/123456789/YOURTOKEN"
  username: "EzAuction"
  use-embeds: true
  events:
    auction_start: true
    auction_end: true
    auction_bid: true
    auction_cancel: true

For the full DiscordSRV integration guide and all options, see the Discord integration docs.

Hologram Features

Hologram Configuration
holograms:
  enabled: true
  update-interval-ticks: 100
  search-radius: 2.5
  height-offset: 1.75
  max-holograms: 100
  batch-update: true
  require-permission: false # Set true to require a permission node
  view-permission: ezauction.hologram.view # Permission node for viewing/interacting
  proximity-limit: false # Set true to restrict by distance
  proximity-distance: 32.0 # Max distance for interaction

Quick Start

  1. Upload EzAuction.jar, restart your Paper or Purpur server, and confirm Vault plus an economy plugin are active.
  2. Edit plugins/EzAuction/auction.yml for pricing rules, durations, and GUI slots, adjust auction-storage.yml for YAML/MySQL persistence, and update auction-values.yml or messages/menu-interactions_*.yml as needed.
  3. Choose between YAML or MySQL storage, then grant players ezauction.auction (and optional sell/order/history nodes) so they can browse and trade.
  4. Encourage /auction history so buyers and sellers can audit their latest activity right from chat.

Live Auctions

Live Auction Queue GUI: browse, join, or queue your own item

Live auction chat messages with clickable bid links

Item hover preview showing enchantments and shulker contents

Commands & Permissions

Command Description Permission
/auction Open the auction browser, claim items, and cancel listings. ezauction.auction
/auction sell <price> [duration] List the held item instantly or open the sell GUI. ezauction.auction.sell
/auction order <price> <amount> [duration] Create a buy order with reserved funds. ezauction.auction.order
/auction cancel [id] Review and cancel active listings or buy orders. ezauction.auction
/auction history [buy/sell] Show the latest transactions for each category. ezauction.auction.history
/auction live Preview upcoming live auction broadcasts and refresh the queue. ezauction.auction.live
/liveauction Open the live auction viewer. ezauction.live
/liveauction sell Queue the held item for the live auction. ezauction.auction.live.sell
/liveauction cancel Cancel your own queued live auction entry and receive a deposit refund. ezauction.auction.live.sell
/liveauction cancel <id> Force-cancel an active live auction by ID. Refunds all bidders and returns the item. (Admin) ezauction.auction.live.admin
/bid [amount] Place a bid or view session status in an active live auction. ezauction.bid
/auction claim Withdraw stored return items. ezauction.auction
/auction search <query> Open the auction browser filtered by item name, enchantment, or keyword. ezauction.auction.search
/auctionhologram <create/remove/list> [args] Manage auction holograms: create, remove, or list in-world auction displays. ezauction.hologram.manage

Setup Guide

Installation & Configuration

Need more details? See the full documentation for all YAML, MySQL, menu, and advanced settings options.

Requirements

Requirement Notes
Java 21+ Matches the Paper 1.21+ API target used by EzAuction.
Paper / Spigot / Purpur 1.21+ The plugin relies on Paper-compatible server APIs.
Vault Provides the economy bridge for deposits, buy orders, and payouts.
Economy plugin (recommended: EzEconomy) A Vault-compatible provider is required. EzEconomy is recommended for best compatibility and modern features.
Optional: EzShops Unlock live value overlays via values.mode = ezshops-buy or ezshops-sell.
Optional: Custom limit resolver Expose AuctionListingLimitResolver as a Bukkit service to scale listing caps.
Optional: Menu localisation overrides Duplicate the bundled _nl, _es, or _zh menu files to keep translations in sync with your branding.

Configuration Overview

Optional Integrations

Network Setup (Bungee/Velocity)

  1. Switch storage.type to mysql and point each Paper/Purpur backend to the same credentials so listings, buy orders, and returns are stored centrally. The bundled MySQL driver implements DistributedAuctionListingStorage so inserts and claims remain atomic across servers.
  2. Drop the same EzAuction.jar on every gameplay server behind your proxy, then copy a single set of tuned configs (auction.yml, auction-storage.yml, messages/*.yml) to keep menus, limits, and language consistent network-wide.
  3. Restart each backend (avoid /reload) after editing the configs so every instance warms its cache from MySQL before players join. The manager only serves listings once storage is marked ready.
  4. If a lobby should not show auctions, leave EzAuction off that node or point it at a different table-prefix so it maintains a separate pool.
  5. Confirm every server shares the same Vault economy provider or synchronised balance backend. Currency withdrawals happen locally, so mismatched economy data across nodes can desync deposits and reserved funds.
Bundled menu translations Custom listing limit resolver example
package com.example.auctionlimits;

import com.skyblockexp.ezauction.api.AuctionListingLimitResolver;
import org.bukkit.Bukkit;
import org.bukkit.plugin.ServicePriority;
import org.bukkit.plugin.java.JavaPlugin;

public final class AuctionLimitPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        saveDefaultConfig();

        AuctionListingLimitResolver resolver = (sellerId, baseLimit) -> {
            int bonus = getConfig().getInt("extra-slots." + sellerId.toString(), 0);
            return Math.max(0, baseLimit + bonus);
        };

        Bukkit.getServicesManager().register(
                AuctionListingLimitResolver.class,
                resolver,
                this,
                ServicePriority.Normal
        );
    }

    @Override
    public void onDisable() {
        Bukkit.getServicesManager().unregisterAll(this);
    }
}
name: AuctionLimitPlugin
version: 1.0.0
main: com.example.auctionlimits.AuctionLimitPlugin
loadbefore: [EzAuction]
# plugins/AuctionLimitPlugin/config.yml
extra-slots:
  123e4567-e89b-12d3-a456-426614174000: 2
  2a2f4982-0c7a-4f13-86a1-4f85c4a94cf7: 4

This companion plugin registers before EzAuction enables and adds any configured bonus slots per player UUID on top of EzAuction's base limit. Update the UUID keys or compute the bonus however you like to reflect your network's progression rules.

Configuration at a Glance

auction.yml

storage:
  type: yaml # or mysql
  mysql:
    host: localhost
    port: 3306
    database: skyblock
    username: root
    password: secret
    use-ssl: true
    table-prefix: ezauction_
    pool:
      maximum-pool-size: 10
      minimum-idle: 2
      connection-timeout-millis: 10000
      idle-timeout-millis: 600000
      max-lifetime-millis: 1800000
menu:
  browser:
    title: "&2Auction House &7({page}/{total_pages})"
    size: 54
    filler:
      material: GRAY_STAINED_GLASS_PANE
      display-name: "&8 "
    navigation:
      previous-slot: 45
      close-slot: 49
      next-slot: 53
    empty-listing-slot: 22
  confirm:
    title: "&2Confirm Purchase"
    size: 27
    filler:
      material: GRAY_STAINED_GLASS_PANE
      display-name: "&8 "
    confirm-slot: 11
    listing-slot: 13
    cancel-slot: 15
listings:
  default-duration-hours: 24
  max-duration-hours: 72
  minimum-price: 10.0
  listing-deposit-percent: 5.0
  max-listings-per-player: 3
live-auctions:
  enabled: false
  queue-enabled: true
  display-in-chat: true
  announcement-interval-ticks: 200
values:
  enabled: false
  format: "&7Value: &6{value}"
  materials:
    diamond: 2500.0

auction-storage.yml

type: yaml # or mysql
mysql:
  host: localhost
  port: 3306
  database: skyblock
  username: root
  password: secret
  use-ssl: true
  table-prefix: ezauction_
  pool:
    maximum-pool-size: 10
    minimum-idle: 2
    connection-timeout-millis: 10000
    idle-timeout-millis: 600000
    max-lifetime-millis: 1800000

auction-values.yml

enabled: false
mode: configured # or ezshops-buy / ezshops-sell
format: "&7Value: &6{value}"
materials:
  diamond: 2500.0

Support & Links


Ready to add an auction house to your Minecraft server?

Deploy EzAuction today - a polished, GUI-driven auction house plugin for Paper, Spigot, Purpur, and Bukkit. Download, drop in the jar, configure Vault, and your players are trading in minutes.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more