Бро, твой лимит на скачивание глухо в нуле! 😬
Максимум загрузок за 24 часа: 20
Что делать? Жди 24 часа или оформляй
У тебя 0 сообщений! Нужно минимум 2.
Оставляй комментарии, прокачивай аккаунт!
Лайкать не обязательно, но если хочешь +100 кармы — дерзай 😎
Ставь лайки и получай уважение!
pnMarket 1.0.4
Надёжные уведомления, автопокупка, постоянные доставки, новое хранилище и переработанный GUI
────────────────────────────────────
ОБНОВЛЕНИЕ 1.0.4
pnMarket 1.0.4 — крупное обновление с переработанной системой уведомлений и автопокупки, постоянными доставками, общим маршрутизатором хранилищ pnLibrary, локализацией RU/EN, отдельной настройкой звуков и новыми GUI-переходами.
Для работы новых GUI-механик теперь требуется ProtocolLib.
────────────────────────────────────
СКРИНШОТЫ
Каталог уведомлений
![]()
Категории уведомлений
![]()
Меню уведомлений
![]()
Описание категории
![]()
Профили уведомлений
![]()
Редактор отдельного профиля
![]()
Доставки автопокупки
![]()
Звуковая конфигурация
![]()
────────────────────────────────────
ДОБАВЛЕНО
Уведомления, избранное и автопокупка
Хранение уведомлений
Уведомлениябольше не сохраняются в YAML.Код:/ah notify
Теперь в выбранной базе данных хранятся:
• Избранные предметы
• Профили уведомлений
• Pending-сообщения
• Доставки автопокупки
Надёжные офлайн-уведомления
При входе игрок получает только актуальные лоты, которые:
• Появились во время его отсутствия
• Всё ещё доступны для покупки
Купленные, снятые или истёкшие лоты больше не отправляются игроку.
Группировка сообщений
Уведомления группируются по профилю и отображают:
• Время появления лота
• Количество предметов
• Цену за единицу
• Общую стоимость
Нажатие на сообщение открывает конкретный активный лот для покупки.
────────────────────────────────────
Автопокупка
Добавлена полноценная система автоматической покупки товаров.
Shift + ЛКМ
Включает автопокупку по текущей цене выбранного предмета.
Shift + ПКМ
Позволяет указать собственный максимальный предел цены.
Автопокупка работает как для игроков онлайн, так и для игроков офлайн.
До завершения операции:
• Деньги резервируются
• Количество товара резервируется
Это предотвращает повторную продажу одного и того же лота нескольким игрокам.
────────────────────────────────────
Постоянные доставки
Если игрок находится офлайн или его инвентарь заполнен, купленный предмет не теряется.
Он сохраняется в постоянной системе доставок.
Получить предметы можно:
• Автоматически после входа
• Через команду• Через командуКод:/ah deliveryКод:/dah delivery
Искусственные ограничения на количество избранных товаров и pending-сообщений удалены.
────────────────────────────────────
Профили уведомлений
Один материал теперь может иметь:
• Отдельный профиль без зачарований
• Несколько профилей с разными комбинациями зачарований
Профили больше не объединяются автоматически в один.
После сохранения профиля редактор остаётся открытым.
Это позволяет сразу создавать следующий вариант уведомления для того же предмета без возврата в общий каталог.
────────────────────────────────────
ХРАНИЛИЩЕ И pnLibrary
DatabaseRouter
В pnLibrary добавлен публичный:
Код:DatabaseRouter
Поддерживаются:
• SQLite
• MySQL
• MongoDB
• Redis
Один плагин создаёт один router на весь жизненный цикл.
Используется:
• Один HikariCP-пул для JDBC
• Один MongoClient для MongoDB
• Один JedisPooled для Redis
Работа JDBC
Соединение с базой берётся только на время выполнения операции и сразу возвращается обратно в пул.
SQLite с пулом размеромбольше не блокируется из-за постоянно удерживаемого соединения.Код:1
MarketStorage
В pnMarket теперь используется единый контракт:
Код:MarketStorage
Для каждого backend используется отдельная реализация:
• JDBC
• MongoDB
• Redis
Старые отдельные классы для delivery, favorite и pending удалены.
Redis
Redis может хранить:
• Лоты
• Избранное
• Pending-сообщения
• Доставки
Резервирование количества товара выполняется атомарным Lua-скриптом.
Один лот не может одновременно быть продан нескольким покупателям.
Индексы базы данных
Добавлены индексы по:
• Игроку
• Типу аукциона
• Статусу
• Времени лота
• Очереди сообщений
Миграция favorites.yml
Старый файл:
Код:favorites.yml
автоматически переносится в выбранную базу данных один раз.
После успешного переноса файл больше не используется.
────────────────────────────────────
КОМИССИИ, ПРОДАЖА И ВАЛЮТЫ
Комиссия за выставление
Теперь комиссия применяется к:
• Обычным лотам
• Наборам
• Повторному выставлению товара
Если сохранение лота завершилось ошибкой, списанная комиссия автоматически возвращается игроку.
Комиссия за продажу
Комиссия вычитается непосредственно из выплаты продавцу.
Итоговая сумма корректно показывается в сообщении о продаже.
Группы игроков
Проценты можно задавать отдельно:
• Для разных групп
• Для выставления
• Для продажи
Округление
Для PlayerPoints комиссия округляется вверх до целого значения.
Для остальных валют — до двух знаков после запятой.
Независимые валюты
Аукционы:
Код:/ah /dah
можно независимо подключить к:
• Vault
• PlayerPoints
• ExcellentEconomy
Параметр:
Код:excellent.id
используется только при:
Код:type: excellent
Для Vault и PlayerPoints этот параметр больше не нужен и удалён из стандартной конфигурации.
────────────────────────────────────
ИНТЕРФЕЙС, ЗВУКИ И ЛОКАЛИЗАЦИЯ
sounds.yml
Все звуки вынесены в отдельный файл:
Код:sounds.yml
Для каждого действия можно настроить:
• type
• volume
• pitch
Чтобы полностью отключить звук:
Код:type: NONE
────────────────────────────────────
Локализация предметов
Локализация предметов перенесена в публичный API pnLibrary.
Поддерживаются языки:
Код:ru_ru en_us
Локализуются:
• Материалы
• Блоки
• Зачарования
• Зелья
Язык выбирается через:
Код:localization.locale
После изменения достаточно выполнить:
Код:/pnmarket reload
────────────────────────────────────
Новый дизайн переключателей
Стандартные переключатели обычного и донат-аукциона заменены тематическими Base64-головами.
────────────────────────────────────
GUI-переходы
Добавлены контекстные переходы между меню.
Код:left_to_right
Анимация идёт из левого верхнего угла в правый нижний.
Код:right_to_left
Анимация выполняется в обратном направлении.
Скорость переходов рассчитывается pnLibrary динамически.
Технические параметры анимаций не вынесены в конфигурацию pnMarket.
ProtocolLib теперь обязателен.
Он используется для:
• GUI-пакетов
• Динамического изменения заголовков
• Корректной синхронизации интерфейса
────────────────────────────────────
ИСПРАВЛЕНО
Устаревшие уведомления
Исправлена отправка уведомлений о лотах, которые успели исчезнуть до входа игрока.
Одновременная покупка
Исправлена гонка нескольких покупателей за один лот.
Для разных хранилищ используются собственные атомарные механизмы:
• SQL — условное атомарное уменьшение
• MongoDB —• Redis — Lua-скриптКод:findOneAndUpdate
Клики во время анимации
Исправлен риск выполнения операций по визуально пустому слоту.
До окончания GUI-перехода клики временно блокируются.
Paper 1.21.4
Исправлена работа:
Код:OPEN_SCREEN
Registry-объект типа меню больше не пытается использовать некорректный deep-clone.
SET_SLOT
Теперь используется настоящий server:
Код:stateId
После динамического изменения заголовка GUI дополнительно синхронизируется.
Цветовая схема
Уведомления переведены с ярко-зелёного оформления на бело-серо-оранжевую палитру интерфейса.
SQLite
SQLite-драйвер встроен непосредственно в итоговый JAR.
Дополнительно устанавливать драйвер на сервер не требуется.
────────────────────────────────────
КОНФИГУРАЦИЯ ВАЛЮТ
Код:currency: default: enabled: true type: vault # vault, playerpoints или excellent format: "&a{amount}⛃" donate: enabled: true type: playerpoints format: "&d{amount} PP" # Только при type: excellent: # currency: # default: # excellent: # id: coins
────────────────────────────────────
КОНФИГУРАЦИЯ КОМИССИИ
Код:commission: enabled: true groups: default: { listing: 2.0, sale: 5.0 } vip: { listing: 1.0, sale: 3.0 } premium: { listing: 0.0, sale: 1.0 }
────────────────────────────────────
ОБНОВЛЕНИЕ ДО 1.0.4
Шаг 1.
Замените старый JAR на:
Код:pnMarket-1.0.4.jar
Шаг 2.
Добавьте:
Код:sounds.yml
а также новые параметры:
Код:localization.locale storage
и актуальные строки из:
Код:messages.yml
Либо позвольте плагину автоматически создать отсутствующие значения по умолчанию.
Шаг 3.
Если используется ExcellentEconomy, рекомендуется перенести ID валюты из старого:
Код:excellent-id
в:
Код:excellent.id
Старый параметр пока остаётся совместимым.
Шаг 4.
Перед первым запуском сохраните существующий:
Код:favorites.yml
После успешного запуска данные будут автоматически перенесены в выбранное хранилище.
Шаг 5.
Установите ProtocolLib и выполните полный перезапуск сервера.
PlugMan не поддерживается.
────────────────────────────────────
ПОДДЕРЖКА И ОБНОВЛЕНИЯ
Если вы нашли ошибку, нужна помощь с настройкой или хотите предложить новую функцию — обращайтесь на Discord-сервер.
Новости об обновлениях, исправлениях и новых версиях в первую очередь публикуются в Discord.
https://lastleak.org/discordscord-серверу[/B
pnMarket 1.0.3
Крупное обновление аукциона, уведомлений, валют и интерфейса
────────────────────────────────────
ОБНОВЛЕНИЕ 1.0.3
pnMarket 1.0.3 — крупное обновление плагина с новым каталогом уведомлений, расширенной системой продажи, поддержкой нескольких экономик и полностью настраиваемым интерфейсом.
────────────────────────────────────
СКРИНШОТЫ
Каталог предметов
![]()
Категории уведомлений
![]()
Меню уведомлений
![]()
Описание категории
![]()
Редактор разметки
![]()
────────────────────────────────────
ДОБАВЛЕНО
Каталог уведомлений
• Добавлен отдельный GUI-каталог всех доступных предметов Minecraft.
• Добавлена полная русская локализация предметов, блоков, зелий, стрел и зачарований независимо от языка клиента.
• Предметы распределены по категориям:
— Оружие и броня
— Инструменты
— Строительство
— Декорации
— Редстоун
— Транспорт
— Еда
— Зельеварение
— Ресурсы
— Яйца призыва
— Прочее
Управление уведомлениями
• ЛКМ по предмету включает уведомления о каждом новом лоте выбранного типа.
• ПКМ открывает создание отдельного профиля с требованиями к зачарованиям.
• В один профиль можно добавить несколько обязательных зачарований.
• Для каждого зачарования можно указать минимальный уровень.
• Все выбранные зачарования проверяются одновременно на одном предмете.
• Показываются только зачарования, которые подходят выбранному предмету.
• Несовместимые зачарования нельзя объединить.
Активные уведомления
Добавлен отдельный экран со всеми активными профилями уведомлений.
Через него можно:
• Просматривать активные уведомления.
• Удалять ненужные профили.
Типы уведомлений
Добавлены отдельные уведомления:
• О появлении нового лота.
• О снижении минимальной цены.
Зелья и стрелы
В каталог включены:
• Обычные зелья.
• Усиленные зелья.
• Длительные зелья.
• Взрывные зелья.
• Туманные зелья.
• Стрелы со всеми поддерживаемыми эффектами.
Офлайн-уведомления
Уведомления и сообщения о продажах сохраняются для игроков, находящихся офлайн.
После входа на сервер игрок автоматически получает пропущенную информацию.
Команды каталога
Код:/ah notify /dah notify
Команды открывают каталог уведомлений обычного или донат-аукциона.
────────────────────────────────────
Продажа и лоты
Перевыставление товаров
Истёкший лот теперь можно повторно выставить из меню «Мои товары» по прежней цене.
Автоматическая оценка
Добавлена команда:
Код:/ah sell auto
Она автоматически рассчитывает рекомендуемую цену предмета на основе похожих активных лотов.
Срок жизни лотов
Для разных групп игроков можно установить собственное время существования лота.
Поддерживаются форматы:
Код:s m h d
Комиссии
Добавлена отдельно настраиваемая комиссия:
• За выставление товара.
• За успешную продажу.
Для разных групп привилегий можно установить собственный процент комиссии.
Игрок заранее видит:
• Размер комиссии при выставлении.
• Итоговую сумму, которую получит после продажи.
────────────────────────────────────
Валюты и цены
ExcellentEconomy
Добавлена поддержка ExcellentEconomy.
Обычный и донат-аукцион теперь можно независимо подключить к:
• Vault
• PlayerPoints
• ExcellentEconomy
Каждую валюту можно отдельно включить или полностью отключить.
Сокращённые числа
Добавлен ввод больших чисел через сокращения:
Код:K M B T Q
Например:
Код:1K 25K 1M 10M 1B
Формат отображения цены
Можно выбрать один из двух вариантов:
Код:1000000
или:
Код:1M
Формат валюты и обозначения сокращений настраиваются в:
Код:config.yml
Минимальную и максимальную цену лота также можно задавать как обычным числом, так и сокращённым.
Поиск предмета в руке
Команда:
Код:/ah search
без дополнительного текста автоматически выполняет поиск предмета, находящегося в основной руке игрока.
────────────────────────────────────
Интерфейс
Анимации
Добавлены плавные анимации:
• Открытия GUI.
• Обновления интерфейса.
gui.yml
Добавлен отдельный файл:
Код:gui.yml
В нём можно изменять:
• Названия кнопок.
• Описания.
• Материалы.
• Текстуры.
• Элементы интерфейса.
Настраиваемая разметка
Теперь можно изменить:
• Количество строк GUI.
• Слоты товаров.
• Декоративные слоты.
• Положение управляющих кнопок.
Machine
Добавлен игровой редактор:
Код:/pnmarket machine
Через него можно изменять разметку меню и иконки прямо в игре без ручного редактирования номеров слотов.
Информация о плагине
Команда:
Код:/pnmarket
открывает информационную панель, где отображаются:
• Версия pnMarket.
• Версия сервера.
• Статус обновления.
• Ссылка на поддержку.
────────────────────────────────────
Конфигурация
Настройки перераспределены между тремя компактными файлами:
Код:config.yml gui.yml messages.yml
Сообщения о:
• Покупке.
• Продаже.
• Выставлении товара.
• Уведомлениях.
теперь можно полностью настраивать отдельными строками.
────────────────────────────────────
ИСПРАВЛЕНО
Исправлена слишком высокая и неравномерная громкость звуков:
• Интерфейса.
• Покупки.
• Продажи.
• Ошибок.
Громкость звуков теперь работает более равномерно.
────────────────────────────────────
ОБНОВЛЕНИЕ ДО 1.0.3
Шаг 1.
Замените старый JAR на:
Код:pnMarket-1.0.3.jar
Шаг 2.
Установите новые файлы:
Код:config.yml gui.yml messages.yml lang/ru_ru.json
Либо вручную перенесите свои значения в новую структуру конфигурации.
Шаг 3.
Полностью перезапустите сервер.
────────────────────────────────────
ПОДДЕРЖКА И ОБНОВЛЕНИЯ
Если вы нашли ошибку, нужна помощь с настройкой или хотите предложить новую функцию — обращайтесь на Discord-сервер.
Новости о новых версиях и обновлениях в первую очередь публикуются в Discord.
https://lastleak.org/discordscord-серверу[/B
pnMarket 1.0.2
Крупное обновление наборов и интерфейса аукциона
Добавлены избранные товары, уведомления о новых лотах, статистика цен и дополнительные настройки наборов.
НОВЫЕ ФУНКЦИИ
Избранные товары и уведомления
Теперь игроки могут отслеживать нужный материал или предмет по части его названия.
При появлении подходящего лота игрок получит сообщение с командой быстрого поиска.
• Отслеживание определённого материала.
• Отслеживание предметов по части названия.
• Быстрый переход к поиску из уведомления.
• Отдельные списки избранного для обычного и донат-аукциона.
• Отдельная кнопка избранного в главном меню.
• Русские названия материалов.
• Поддержка Bukkit ID и русских названий.
Команды обычного аукциона:
Код:/ah notify /ah notify material <материал> /ah notify name <название> /ah notify clear
Команды донат-аукциона:
Код:/dah notify /dah notify material <материал> /dah notify name <название> /dah notify clear
Описание команд:
• /ah notify и /dah notify — открыть список уведомлений.
• notify material <материал> — начать отслеживать материал.
• notify name <название> — отслеживать предметы по части названия.
• notify clear — очистить уведомления текущего аукциона.
Статистика цен
Администраторы могут видеть статистику похожих активных лотов.
Отображается:
• Минимальная цена.
• Средняя цена.
• Количество найденных предложений.
Отображение статистики, право доступа и минимальное количество лотов настраиваются в файле config.yml.
УЛУЧШЕНИЯ
Наборы
Наборы получили новые настройки, ограничения и окно подтверждения.
• Набору можно задать собственное название.
• Перед выставлением открывается предпросмотр содержимого.
• В предпросмотре показываются цена, редкость и объём данных.
• Предметы удаляются из инвентаря только после подтверждения.
• Каждый набор получает уникальный идентификатор.
• Добавлены лимиты размера набора по основной Vault-группе.
• Можно запретить отдельные материалы внутри наборов.
• Добавлено ограничение объёма сериализованных данных.
• Категория «Наборы» распознаёт наборы с любым пользовательским названием.
Создание набора на обычном аукционе:
Код:/ah kit <цена> [название]
Создание набора на донат-аукционе:
Код:/dah kit <цена> [название]
Название набора указывать необязательно.
Интерфейс и сообщения
• Окно избранного оформлено в общем RGB-дизайне pnMarket.
• Сообщения избранного используют общий prefix.
• Все новые сообщения настраиваются через messages.yml.
• Работа с SQLite, MySQL и MongoDB вынесена из основного игрового потока.
Асинхронная обработка используется при создании, покупке, снятии и возврате лотов.
ИСПРАВЛЕНИЯ
• Зачарования снова отображаются в главном аукционе.
• Исправлено отображение зачарований в товарах продавца.
• Исправлен раздел «Мои товары».
• Исправлено окно покупки.
• Исправлено отображение предметов внутри наборов.
• GUI больше не изменяет оригинальные данные предмета.
• Зачарования и остальная мета сохраняются при покупке и возврате.
• Служебные окна защищены от подмены предметов кликами и перетаскиванием.
• Повторное нажатие во время покупки не запускает дублирующую операцию.
• Повторное нажатие во время снятия лота больше не обрабатывается повторно.
ОБНОВЛЕНИЕ С ВЕРСИИ 1.0.1
Важно: не используйте PlugMan и другие менеджеры плагинов для установки обновления. Требуется полная перезагрузка сервера.
- Полностью остановите сервер.
- Замените старый JAR-файл на pnMarket-1.0.2.jar.
- Перенесите секции kits, price-statistics и notifications из стандартного config.yml.
- Добавьте секции favorites и gui.favorites из стандартного messages.yml.
- Добавьте строки notification.favorite-* из стандартного messages.yml.
- Полностью запустите сервер.
pnMarket 1.0.2
Удобный аукцион с поддержкой Vault и PlayerPoints.
pnMarket 1.0.1
Крупное обновление аукциона
Отдельная торговая площадка за PlayerPoints, продажа наборов предметов и полностью обновлённый интерфейс.
Донат-аукцион
Добавлен отдельный аукцион за PlayerPoints с командой /dah.
Донат-аукцион поддерживает продажу, поиск и просмотр товаров игроков:
- /dah sell <цена> — выставить предмет из основной руки.
- /dah kit <цена> — выставить набор предметов.
- /dah search <название> — найти нужный лот.
- /dah show <игрок> — посмотреть товары игрока.
Между обычным и донат-аукционом можно переключаться прямо в главном меню.
У каждого аукциона собственные лоты и отдельный раздел «Мои товары».
PlayerPoints является необязательным дополнением: если плагин не установлен, обычный аукцион /ah продолжает работать.
Наборы предметов
- Добавлены команды /ah kit <цена> и /dah kit <цена> для продажи нескольких предметов одним лотом.
- В набор попадают занятые слоты основного инвентаря.
- Максимальный размер набора настраивается параметром kits.max-slots.
- Перед покупкой игрок может открыть набор и посмотреть всё его содержимое в отдельном окне.
- Каждый набор получает собственный числовой идентификатор.
- В аукцион добавлена отдельная категория «Наборы».
- Внешний вид набора зависит от версии сервера: мешочек, шалкер или бочка выбираются автоматически из доступных материалов.
Обновлённый GUI
- Добавлена анимация открытия аукциона.
- Заголовок меню теперь также обновляется с анимацией.
- Переработан дизайн категорий, сортировки, переключения аукциона, раздела «Мои товары» и окна просмотра набора.
- Добавлены новые кнопки навигации с пользовательскими текстурами голов.
- Категории, сортировка, страницы и элементы управления обновляются без повторного открытия всего меню.
- Расширена русская локализация названий предметов.
- Убрано принудительное курсивное начертание названий предметов.
- Обновлён внешний вид справки /ah и /dah.
- Сообщения об использовании команд приведены к единому оформлению.
Новые настройки
- donate-listing-price.minimum — минимальная цена в донат-аукционе.
- donate-listing-price.maximum — максимальная цена в донат-аукционе.
- prefix-vault — оформление стоимости в обычном аукционе.
- prefix-playerpoints — оформление стоимости в донат-аукционе.
- {price} — плейсхолдер суммы в обоих шаблонах цены.
- kits.max-slots — максимальное количество занятых слотов в одном наборе.
- categories.bundles — настройка категории наборов.
Совместимость
- Paper 1.17–1.21.x.
- Java 17 или новее.
- Paper 1.16.5 остаётся экспериментальным режимом.
- Vault и совместимый плагин экономики необходимы для обычного аукциона.
- PlayerPoints необходим только для донат-аукциона /dah.
Для того что-бы скачивать наши ресурсы, у вас должен быть аккаунт!
Пройти простую регистрацию