Skip to content

Latest commit

 

History

History
78 lines (64 loc) · 5.64 KB

File metadata and controls

78 lines (64 loc) · 5.64 KB
AstraAuction logo

💫 AstraAuction β

Плагин рынка (аукциона) для Lumi.

EN | RU | UA | JA

Описание 📖

AstraAuction — рынок для перепродажи предметов между игроками на Lumi. Плагин сохраняет NBT предметов, хранит данные в базе данных и предоставляет удобный GUI с поиском, сортировкой и управлением лотами.

Возможности 🌟

  • Сохранение NBT — предмет продаётся в точности таким, каким он был у продавца.
  • Асинхронная БД — запросы выполняются в фоне без блокировки основного треда.
  • Комиссия — процент удержания настраивается в конфиге.
  • Склад возврата — непроданные лоты сохраняются до истечения срока хранения.
  • 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 (уже вшит) — движок локализаций с динамической загрузкой языков.

Самостоятельная сборка 🔨

  1. Установите JDK 21+.
  2. Клонируйте репозиторий и откройте каталог проекта.
  3. Выполните сборку командой ./gradlew build.
  4. Готовый JAR-файл будет находиться в build/libs.