pnMarket - Плагин на аукцион 1.16.5-1.21.x

pnMarket - Плагин на аукцион 1.16.5-1.21.x 1.0.2

Поддерживаемые версии
  1. 1.16
  2. 1.17
  3. 1.18
  4. 1.19
  5. 1.20
  6. 1.21
pnMarket

Удобный аукцион для Minecraft-серверов на Paper 1.17–1.21.x

GUI рынка, частичная покупка, поиск, собственные категории и SQLite по умолчанию.
Paper 1.16.5 поддерживается в экспериментальном режиме.

Скачать pnMarket 1.0.1 | Все версии




Возможности

Графический аукцион
Открывается командой /ah. Поддерживает страницы, сортировку и категории.

Продажа предметов
Команда /ah sell <цена> выставляет весь стак из основной руки. Цена указывается за весь лот.

Частичная покупка
Покупатель может выбрать количество предметов в лоте. Цена пересчитывается автоматически.

Мгновенное обновление GUI
Новый лот, покупка, возврат и забор предмета обновляют все открытые меню в следующем тике сервера.

Поиск и товары продавца
Есть поиск по названию и Material ID, а также просмотр всех активных лотов игрока.

Собственные категории
Можно создать любое количество категорий с правилами по Material ID, части ID, названию предмета и съедобности.

Защита лотов
Игрок не может купить свой лот. Операции покупки резервируют предметы в базе данных, поэтому один предмет не продаётся дважды.

Возврат и срок лота
Лоты истекают через 24 часа. Свои активные лоты можно снять, а истёкшие забрать в разделе «Мои товары».

Лимиты и цены
Лимиты лотов зависят от основной Vault-группы. Минимальная и максимальная цена настраиваются.

Три хранилища
Поддерживаются SQLite, MySQL и MongoDB.

Обновления
Проверка GitHub Releases запускается автоматически раз в шесть часов.




Как работает рынок

1. Продавец держит предмет в основной руке и выполняет команду /ah sell 250.
2. Плагин сохраняет предмет и цену в выбранную базу данных.
3. Предмет забирается из руки продавца и сразу появляется в открытых меню аукциона.
4. Покупатель открывает лот, выбирает количество и подтверждает покупку.
5. Деньги списываются через Vault, продавец получает оплату, а предмет отправляется покупателю.
6. Если инвентарь покупателя заполнен, предмет выпадает рядом с ним.
7. После продажи все открытые меню обновляют остаток лота либо удаляют проданный лот.




Установка

1. Скачайте pnMarket-1.0.1.jar:
https://github.com/Dy6HiLa/pnMarket/releases/latest

2. Поместите файл в папку сервера plugins/.

3. Установите Vault и совместимый плагин экономики.

4. Для донат-аукциона /dah дополнительно установите PlayerPoints.

5. Запустите сервер. По умолчанию будет создана SQLite-база:
plugins/pnMarket/market.db

6. При необходимости измените:
plugins/pnMarket/config.yml

После изменения настроек выполните полный перезапуск сервера.

Требования:

Paper 1.17–1.21.x
Java 17 или новее
Vault
Плагин экономики
PlayerPoints — только для /dah
Для MySQL и MongoDB нужен внешний сервер базы данных

Paper 1.16.5 доступен как экспериментальный режим. Базовый аукцион и GUI запускаются на этой версии, но совместимость ещё тестируется.

Важно: не используйте PlugMan и аналоги для первой установки или смены типа базы данных. Выполняйте полный рестарт сервера.




Команды

Основной аукцион

/ah — открыть аукцион.
/ah sell <цена> — выставить предмет из основной руки.
/ah kit <цена> — выставить набор из занятых слотов основного инвентаря.
/ah search <название> — открыть результаты поиска.
/ah show <игрок> — открыть лоты игрока.
/ah reload — перезагрузить config.yml, messages.yml, категории и проверку обновлений.

Донат-аукцион

/dah — открыть донат-аукцион за PlayerPoints.
/dah sell <цена> — выставить предмет в донат-аукционе.
/dah kit <цена> — выставить набор в донат-аукционе.
/dah search <название> — найти лот в донат-аукционе.
/dah show <игрок> — открыть донат-лоты игрока.




Права

pnmarket.admin — использование /ah reload и уведомления о новых версиях.




Настройка

Лимиты лотов

limits.default определяет, сколько активных лотов может выставить обычный игрок. Если Vault отдаёт игроку основную группу, одноимённый ключ переопределяет этот лимит.

Код:
limits:
  default: 3 # Все игроки без отдельного правила.
  vip: 10    # Основная Vault-группа vip.
  admin: 50  # Основная Vault-группа admin.

Ограничения цены

Цена относится ко всему лоту, а не к одной единице предмета. maximum: 0 отключает верхний предел.

Код:
listing-price:
  minimum: 10
  maximum: 1000000

Собственные категории

Категории отображаются в порядке из config.yml. Первый подходящий фильтр определяет категорию товара. Категория all встроена всегда и показывает все лоты.

Правила категорий:

materials — точные значения Bukkit Material, например STONE или DIAMOND_SWORD.
material-contains — фрагменты Material ID, например _PICKAXE.
name-contains — фрагменты пользовательского названия предмета без цветовых кодов.
edible — все съедобные предметы.

Код:
categories:
  building:
    name: "Строительство"
    materials: ["STONE", "OAK_PLANKS", "GLASS"]
  tools:
    name: "Инструменты"
    material-contains: ["_PICKAXE", "_SHOVEL", "_HOE"]
  rare-items:
    name: "Редкие предметы"
    name-contains: ["легендар", "rare"]
  food:
    name: "Еда"
    edible: true

После изменения категорий выполните /ah reload или перезапустите сервер.




Базы данных

SQLite

Работает сразу после установки и не требует отдельного сервера.

Код:
storage:
  type: sqlite
  sqlite:
    file: "market.db"

MySQL

Код:
storage:
  type: mysql
  mysql:
    host: "localhost"
    port: 3306
    database: "minecraft"
    username: "pnmarket"
    password: "change-me"

Можно использовать полный JDBC-адрес в storage.mysql.url.

MongoDB

Код:
storage:
  type: mongodb
  mongo:
    uri: "mongodb://localhost:27017"
    database: "minecraft"
    collection: "auction"

Переменная окружения PNMARKET_MONGO_URI имеет приоритет над storage.mongo.uri.




Поддержка

Поддержка и предложения по развитию: Discord privatenull
Автор
Float3011 Float3011
Скачивания
7
Просмотры
145
Первый выпуск
Обновление

Оценки

0.00 звезд Оценок: 0

Другие ресурсы пользователя Float3011

Последние обновления

  1. pnMarket 1.0.2 Version

    pnMarket 1.0.2 Крупное обновление наборов и интерфейса аукциона Добавлены избранные товары...
  2. pnMarket 1.0.1

    pnMarket 1.0.1 Крупное обновление аукциона Отдельная торговая площадка за PlayerPoints, продажа...

Помочь проекту 💕

Собрано
"52,204.60" ₽
Цель
"60,000.00" ₽