Skip to content

task-v1/AstraAuction

Repository files navigation

AstraAuction logo

💫 AstraAuction β

Market (Auction) plugin for Lumi.

EN | RU | UA | JA

Description 📖

AstraAuction is a player-to-player marketplace plugin for Lumi. The plugin preserves full item NBT, stores data in a database, and provides a clean and convenient GUI with search, sorting, and lot management.

Features 🌟

  • NBT preservation — items are sold exactly as they were owned by the seller.
  • Asynchronous database — all queries run in the background without blocking the main thread.
  • Transaction fee — configurable tax percentage.
  • Return storage (claims) — unsold lots and payments for offline sellers are stored until expiration.
  • GUI market — buying, confirmation dialogs, and page navigation.
  • Sorting and search — sort by price and search by item name.
  • Manage your lots — view and cancel active lots via GUI.
  • Flexible database support — SQLite / MySQL.
  • Localization — built-in support for eng, rus, ukr, jpn, with the ability to add custom languages.

Screenshots 🖼️

Main market page My lots page
Return storage page Purchase confirmation page

Commands ♿

Command Description Permission
/ah Open the market astraauction.use
/ah open [page: int] Open the market at a specific page astraauction.use
/ah sell <price: int> List the item in hand astraauction.use
/ah view <nickname: str> [page: int] View lots of a specific player astraauction.use
/ah search <query: str> [page: int] Search lots by name astraauction.use
/ah force_buy <id: int> Force-buy a lot (processed like a normal purchase) astraauction.force
/ah force_expire <id: int> Force-expire a lot astraauction.force

Command aliases: /auction, /auc.

Permissions 🔐

  • astraauction.use — access to basic commands (granted to everyone by default).
  • astraauction.force — access to force commands (granted to operators only by default).

Configuration ⚙️

Main configuration file: config.yml

Parameter Description Default
database.type Database type: sqlite / mysql sqlite
language.value Language mode: eng / rus / ukr / jpn / autodetect / server autodetect
language.default Default language eng
auction.duration-seconds Lot lifetime (seconds) 172800 (48h)
auction.tax-percent Transaction fee (%) 10.0
auction.round-prices Round prices to whole numbers false
auction.max-slots Max active lots (0 = unlimited) 6
auction.claim-expire-seconds Claims storage duration (seconds) 604800 (7d)
auction.gui.page-size GUI page size (up to 45) 45
auction.gui.open-delay-ticks GUI open delay (ticks) 10
auction.gui.sort-default Default sorting price_asc

Dependencies 🔌

Building from Source 🔨

  1. Install JDK 21+.
  2. Clone the repository and open the project directory.
  3. Run the build command: ./gradlew build
  4. The compiled JAR will be located in build/libs.

Build Warning ⚠️

The repository contains two build.gradle files: one main file (using fallback repositories via jitpack.io) and another with the .old suffix (with original Lumi repositories).

If Lumi repositories are temporarily unavailable (e.g. HTTP 500 errors) and the build fails, just use the current build.gradle as-is. Alternatively, to use the original Lumi repositories, remove or move the current build.gradle, and rename build.gradle.old by removing the .old suffix.

About

AstraAuction is a player-to-player marketplace plugin for Lumi.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages