Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

AuctionHouse Plugin

Platform Java License

egade-ah is a high-performance, standalone, and crash-resilient Auction House & Market plugin engineered for Minecraft Paper 1.21+ (Java 21). It features an isolated SQLite escrow database, multi-page 6-row inventory GUIs, rich Unicode RPG typography, instant auto-navigation UX, compact number formatting, and interactive chat tags.


image image image image image image image image

Features

  • Unicode RPG Typography: Elegant and balanced item tooltips with custom icons (, , , #), bold white seller names (&f&l), and light blue time indicators (&b&l).
  • Auto-Navigation UX: Canceling or buying items automatically opens the personal Collection Box, allowing players to claim their items in 1 click without navigating back and forth.
  • Smart Compact Numbers:
  • Automatically formats large numbers into compact suffixes: $100K, $1.5M, $20M, $1B (Max limit: $1,000,000,000).
  • Supports entering human suffixes in commands: /ah sell 500, /ah sell 10k, /ah sell 1.5m, /ah sell 1b.
  • Personal Delivery & Collection Box:
  • Automatically holds purchased items, canceled listings, and expired items.
  • Features a ** Claim All Items** button to retrieve all pending items in one click.
  • Sequential Sort Cycler: Cycle sorting modes with Left-Click (next) or Right-Click (previous):
  1. Lowest Price
  2. Highest Price
  3. Newest
  4. Oldest
  • Real-time Keyword Filter: Search listings by item name or seller name with instant filtering.
  • Interactive Chat Tag [ah]:
  • Typing [ah], [Ah], or [AH] in public chat generates an interactive MiniMessage button [ 🛒 AH ].
  • When clicked by any player, it automatically opens the market filtered directly to that seller's items.
  • Zero-Exploit Escrow & Anti-Dupe Engine:
  • 0.25-second debounce protection on all GUI slots to prevent rapid double-click race conditions.
  • Native SQLite atomic transactions ensure no items or money are ever lost during server crashes or reboots.
  • Full Bukkit byte serialization preserves 100% of NBT metadata (Enchantments, CustomModelData, Armor Trims, Potion Effects, Shulker Box contents).
  • Background Expiration Worker: Automatically cleans up listings older than 2 days (configurable) and migrates them safely into the seller's Collection Box.

Requirements

Requirement Supported Version
Server Software Paper, Purpur, or Spigot (1.21+)
Java Runtime Java 21 or higher
Economy Bridge Vault
Economy Provider EssentialsX, CMI, or any Vault-compatible economy plugin

Installation & Included Dependencies

สำหรับความสะดวกในการนำไปใช้งานและแจกจ่าย ในโฟลเดอร์ dependencies/ ได้รวบรวมไฟล์ปลั๊กอินจำเป็นที่ต้องใช้ร่วมกันไว้ให้ครบแล้ว:

File Purpose
egade-ah-1.0.0.jar ปลั๊กอินหลักระบบ Auction House
vault-1.7.0-java21.jar ปลั๊กอินตัวกลางเชื่อมต่อระบบเงิน (Economy Bridge)
Essentials-26.2-146.jar ปลั๊กอินระบบเศรษฐกิจและเงิน (Economy Provider)
PlaceholderAPI-2.12.3.jar ปลั๊กอินรองรับ Placeholder ข้อความต่างๆ

ขั้นตอนการติดตั้ง:

  1. ก๊อปปี้ไฟล์ egade-ah-1.0.0.jar และไฟล์ทั้งหมดในโฟลเดอร์ dependencies/ ไปวางในโฟลเดอร์ plugins/ ของเซิร์ฟเวอร์
  2. รีสตาร์ทเซิร์ฟเวอร์ (Restart Server)
  3. ปลั๊กอินจะสร้างโฟลเดอร์ plugins/EgadeAH/ พร้อมใช้งานทันที

Commands & Permissions

Player Commands

Command Aliases Description Permission
/ah /auctionhouse, /actionhouse Open the main Auction House GUI egade.ah.use (default: true)
/ah sell <price> Sell the item currently held in main hand egade.ah.use
/ah search <query> Filter market by item or seller name egade.ah.use
/ah search clear Reset active search filter egade.ah.use
/ah list /ah my, /ah mylistings Open GUI to manage your active listings egade.ah.use
/ah claim /ah box, /ah expired Open personal Delivery & Collection Box egade.ah.use
/ah help Display user help menu egade.ah.use

Admin Commands

Command Description Permission
/ah admin check Force check and migrate expired listings immediately egade.ah.admin (default: op)
/ah admin cancel <id> Force cancel any active listing and return item to seller egade.ah.admin (default: op)
/ah admin reload Reload config.yml without restarting the server egade.ah.admin (default: op)

Listing Limit Permissions

Permission Node Max Active Listings Description
Default 10 listings Default limit for all players
egade.ah.limit.vip 20 listings VIP rank listing limit
egade.ah.limit.staff 50 listings Staff / Admin listing limit

GUI Overview

1. Main Market Menu (/ah)

  • Slots 0–44: 45 items displayed per page.
  • Slot 45: Previous Page.
  • Slot 46: Search & Filter (Left-Click to search, Right-Click to clear).
  • Slot 47: Sort Switcher (Left-Click next mode, Right-Click prev mode).
  • Slot 49: Collection Box (Shows count of claimable items).
  • Slot 51: Refresh Market.
  • Slot 53: Next Page .

2. Confirm Purchase Menu

  • Slot 11: ✔ CONFIRM PURCHASE (Green concrete).
  • Slot 13: Live Item Preview with Price & Balance calculation.
  • Slot 15: ✘ CANCEL (Red concrete, returns to market).

3. Collection Box (/ah claim)

  • Slots 0–44: Items ready to be claimed (Purchases, Cancellations, Expirations).
  • Slot 47: Active Listings shortcut (/ah list).
  • Slot 49: Back to Auction House.
  • Slot 51: Claim All Items.

⚙️ Configuration (config.yml)

# ==============================================================================
#  egade-ah Configuration File
# ==============================================================================

settings:
  prefix: "&8[&e&legade&6&lAH&8] "
  currency_symbol: "$"
  max_listings_default: 10
  max_listings_vip: 20
  max_listings_staff: 50
  expire_days: 2
  min_price: 1.0
  max_price: 1000000000.0
  broadcast_new_listing: true
  cleanup_interval_minutes: 5

messages:
  no_permission: "&c&lYou do not have permission to execute this command!"
  hold_item: "&c&lHold a valid item in your main hand to sell!"
  invalid_price: "&c&lInvalid price! Example: &e&l/ah sell 500&c&l, &e&l/ah sell 10k&c&l, &e&l/ah sell 12m"
  min_price: "&c&lPrice must be at least &e&l$1&c&l!"
  max_price: "&c&lPrice cannot exceed &e&l$1B ($1,000,000,000)&c&l!"
  limit_reached: "&c&lListing limit reached (&e&l{current}&c&l/&e&l{max}&c&l)!"
  listed_success: "&a&lListed &f&l{item} &a&lfor &e&l${price}&a&l!"
  listing_info: "&7&lListing ID: &b&l#{id} &8| &7&lDuration: &e&l2 Days"
  broadcast_listing: "&e&l{player} &7&llisted &f&l{item} &7&lfor &e&l${price} &8(&f&l/ah&8)"
  cannot_buy_self: "&c&lYou cannot buy your own listing! Use &e&l/ah list&c&l."
  insufficient_funds: "&c&lInsufficient funds! Required: &e&l${price} &8| &7&lBalance: &a&l${balance}"
  buy_success: "&a&lPurchase successful! Sent to &e&lCollection Box&a&l."
  sold_notification: "&6&l[SOLD] &a&lYour &f&l{item} &a&lwas bought by &e&l{buyer} &a&lfor &e&l+${price}&a&l!"
  cancelled_listing: "&e&lCancelled listing &b&l#{id}&e&l! Returned to &f&lCollection Box&e&l."
  not_owner: "&c&lYou do not own this listing!"
  inventory_full: "&c&lYour inventory is full! Make space first."
  claim_success: "&a&lClaimed &f&l{item} &a&lto your inventory!"
  claim_all_success: "&a&lClaimed &e&l{count} &a&litems to your inventory!"
  no_claimable_items: "&c&lNo claimable items or inventory full!"
  search_cleared: "&a&lSearch filter cleared."
  search_set: "&a&lFiltering listings by: &b&l{query}"
  market_refreshed: "&a&lMarket listings refreshed!"
  no_active_listings_tag: "&c&lYou have no active listings in the market! List an item with &e&l/ah sell &c&lbefore tagging [ah]."

Building from Source

Using Maven:

git clone https://github.com/your-username/egade-ah.git
cd egade-ah
mvn clean package

The compiled jar file will be generated at target/egade-ah-1.0.0.jar.


📄 License

This project is licensed under the Non-Commercial Source License (NC-1.0).

  • Free for personal and server use/modifications.
  • Commercial use, reselling, monetizing, or paid distribution is strictly prohibited.
  • See the LICENSE file for complete legal terms.

About

Player-to-player trading and Auction House plugin for Paper 1.21+ with SQLite storage and Vault economy support.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors