AstraAuction — ринок для перепродажу предметів між гравцями на Lumi. Плагін зберігає NBT предметів, тримає дані в базі та надає зручний GUI з пошуком, сортуванням і керуванням лотами.
- Збереження NBT — предмет продається точно таким, як був у продавця.
- Асинхронна БД — усі запити виконуються у фоні без блокування основного потоку.
- Комісія — відсоток утримання налаштовується в конфігу.
- Склад повернення (claims) — непродані лоти та виплати офлайн-продавцям зберігаються до завершення терміну.
- GUI-ринок — купівля, підтвердження, навігація сторінками.
- Сортування та пошук — сортування за ціною, пошук за назвою предмета.
- Керування своїми лотами — перегляд і скасування активних лотів через GUI.
- Гнучка БД — SQLite / MySQL.
- Локалізація —
rus(русский),eng(English),ukr(українська),jpn(日本語), з коробки, а також можливість додавати власні мови.
| Головна сторінка ринку | Сторінка «Мої лоти» |
|---|---|
![]() |
![]() |
| Сторінка складу повернення | Сторінка підтвердження покупки |
|---|---|
![]() |
![]() |
| Команда | Опис | Пермісія |
|---|---|---|
/ah |
Відкрити ринок | astraauction.use |
/ah open [page: int] |
Відкрити ринок на вказаній сторінці | astraauction.use |
/ah sell <price: int> |
Виставити предмет у руці | astraauction.use |
/ah view <nickname: str> [page: int] |
Лоти конкретного гравця | astraauction.use |
/ah search <query: str> [page: int] |
Пошук за назвою лота | astraauction.use |
/ah force_buy <id: int> |
Примусово купити лот (процес як звичайна покупка) | astraauction.force |
/ah force_expire <id: int> |
Примусово завершити лот | astraauction.force |
Аліаси команди: /auction, /auc.
astraauction.use— доступ до основних команд (доступний усім за замовчуванням).astraauction.force— доступ до примусових команд (за замовчуванням лише операторам).
Основні налаштування знаходяться в config.yml:
| Параметр | Опис | За замовчуванням |
|---|---|---|
database.type |
Тип БД: sqlite / mysql |
sqlite |
language.value |
Режим мови: eng / rus / ukr / jpn / autodetect / server |
autodetect |
language.default |
Мова за замовчуванням | eng |
auction.duration-seconds |
Час життя лота (сек.) | 172800 (48h) |
auction.tax-percent |
Комісія (%) | 10.0 |
auction.round-prices |
Округляти ціни до цілих | false |
auction.max-slots |
Макс. активних лотів (0 — без ліміту) | 6 |
auction.claim-expire-seconds |
Термін зберігання складу (сек.) | 604800 (7d) |
auction.gui.page-size |
Розмір сторінки (до 45) | 45 |
auction.gui.open-delay-ticks |
Затримка відкриття GUI (тіки) | 10 |
auction.gui.sort-default |
Сортування за замовчуванням | price_asc |
- EconomyAPI — потрібен для покупок і виплат.
- FakeInventories — потрібен для GUI.
- JOOQConnector — робота з базою даних через ORM JOOQ.
- Polyglot — рушій локалізацій з динамічним завантаженням мов (вшитий).
- Встановіть JDK 21+.
- Клонуйте репозиторій і відкрийте каталог проєкту.
- Виконайте збірку командою:
./gradlew build - Готовий JAR-файл буде в
build/libs.
У репозиторії є два файли build.gradle:
один основний (з альтернативними репозиторіями через jitpack.io) і другий з суфіксом .old (з оригінальними репозиторіями Lumi).
Якщо репозиторії Lumi тимчасово недоступні (наприклад, помилка 500) і збірка падає, просто використовуйте поточний build.gradle як є.
Альтернативно, щоб використовувати оригінальні репозиторії Lumi, видаліть (або перемістіть) поточний build.gradle, а у build.gradle.old прибрати суфікс .old.




