UltimateShop
UltimateShop - гибкий плагин магазинов и торговли для Spigot и Paper. Создавайте динамические меню, задавайте цены, лимиты, условия, валюты, награды, акции и автоматическое обновление ассортимента.
UltimateShop - магазин с правилами под ваш сервер
UltimateShop - мощный и гибко настраиваемый плагин магазина для Spigot и Paper. Он превращает обычную торговую точку в полноценную систему обмена с динамическими ценами, ограничениями, условиями доступа, кастомными предметами, несколькими валютами и разными типами меню.
Плагин пригодится серверам выживания, RPG-проектам, SkyBlock, Towny, Prison и любым сборкам, где стандартного магазина уже мало. Здесь можно отдельно настроить ассортимент, стоимость, награды, доступность товара, остатки, кулдауны и время обновления. В итоге один и тот же UltimateShop может работать как ежедневный рынок, сезонный магазин, меню наград, обменник ресурсов или торговая площадка для игроков.
Что умеет UltimateShop
Главная особенность плагина - торговая логика собирается из отдельных правил. Условия, плейсхолдеры, формулы, действия и расписания можно комбинировать между собой. Например, цена товара меняется в зависимости от количества продаж, доступ к покупке открывается после выполнения квеста, а ассортимент обновляется каждый день.
Функции с пометкой Premium доступны только в UltimateShop Premium. Для отдельных интеграций также понадобятся соответствующие сторонние плагины.
Магазины с собственной логикой
Ассортимент, сделки, доступность товаров и обновление меню настраиваются независимо друг от друга. Это позволяет не подгонять сервер под готовый шаблон, а собрать магазин под конкретную экономику.
- Управление ассортиментом: добавляйте нужные товары и задавайте правила их отображения. В версии Premium доступны динамические макеты, условный выбор товаров и случайные плейсхолдеры. Можно менять позиции по условию, выбирать предложения с разным весом или формировать отдельный случайный набор для каждого игрока.
- Настройка сделки: независимо указывайте, что игрок отдаёт и что получает. В одной покупке можно объединить предметы, деньги, очки, опыт, команды и дополнительные награды.
- Условия торговли: проверяйте права, мир, биом и значения плейсхолдеров. Ограничивайте торговлю по рангу, уровню, квесту, сезону, дате или состоянию игрового события.
- Развитие магазина: меняйте цены, количество и доступный запас с помощью формул и данных о сделках. Сбросы лимитов можно планировать отдельно от обновления ассортимента.
- Действия вокруг покупки: задавайте реакции при открытии меню, успешной сделке, ошибке, нажатии кнопки или закрытии интерфейса. Можно отправлять сообщения, выполнять команды, проигрывать звуки, телепортировать игрока и открывать другое меню.
Например, в UltimateShop Premium пять ежедневных предложений могут случайно выбираться из большого пула. Сезонный плейсхолдер от другого плагина будет менять доступные товары, а ранг игрока - награду или способ оплаты. Одновременно можно задать ограниченный запас, цену, зависящую от активности торговли, и разные условия для отдельных игроков.
Такая система подходит для вращающихся торговцев, сезонных акций, обмена ресурсов за прогресс, рынков с товарами игроков, ежедневных наград, одноразовых покупок и сервисов, которые запускаются командами. Поведение магазина зависит от выбранных вами правил, а не от одного жёстко заданного сценария.
Предметы, валюты и способы оплаты
UltimateShop позволяет независимо настроить стоимость и награду. Игрок может платить предметами, деньгами, очками, опытом или уровнями, а получать при этом несколько разных наград.
- Добавляйте предметы, деньги, очки, EXP и уровни в качестве оплаты или награды.
- Объединяйте несколько затрат. Например, берите 500 очков и 64 алмаза за кастомный меч, а затем выполняйте команду для дополнительной награды.
- Используйте режим ALL, когда должны примениться все подходящие позиции, или ANY, когда достаточно одного доступного варианта.
- Создавайте альтернативные способы оплаты без копирования товара. Игрок сможет заплатить деньгами или очками в зависимости от настроек.
- Меняйте цену и награду после определённого числа покупок. Так можно сделать стартовые предложения, награды за этапы и постепенно дорожающие товары.
- Создавайте бесплатные награды, магазины на командах и общие именованные настройки цен, чтобы не повторять одинаковую конфигурацию.
- Premium: подключайте дополнительные числовые ресурсы через плейсхолдеры, а также списывайте или выдавайте их действиями даже без прямой интеграции с экономикой.
Динамический рынок и цены продажи
Обычный магазин продаёт предмет по одной цене, но для серверной экономики это быстро становится проблемой. UltimateShop умеет учитывать спрос, количество сделок и объём поставок, поэтому стоимость может меняться автоматически.
- Рассчитывайте цену и количество через математические выражения, значения PlaceholderAPI и количество сделок игрока или всего сервера.
- Повышайте стоимость популярных товаров или уменьшайте награду, если игроки слишком активно сдают один и тот же ресурс.
- Выбирайте фиксированный расчёт или последовательный пересчёт каждой сделки. Это важно для больших покупок, где цена может меняться прямо внутри одной операции.
- Задавайте минимальное и максимальное значение, чтобы формула не превратила товар в бесплатный ресурс или недоступную роскошь.
- Price Modifier, экспериментальная функция: изменяйте награду с учётом конкретного продаваемого предмета. Можно снизить цену повреждённого инструмента, считать числа из Lore или NBT и применять правила сопоставления MythicChanger.
- Для предметов с изменяемыми характеристиками доступны просмотр цены и подтверждение через Item Sell Menu.
- Premium: показывайте, стала ли динамическая цена выше, ниже или равна базовой. В формулах также можно использовать дополнительные данные о количестве сделок за всё время и времени операции.
Такой подход помогает поддерживать экономику Minecraft в рабочем состоянии. Ценные ресурсы не обесцениваются из-за бесконечной продажи, а цены можно связать с реальным поведением игроков.
Личные лимиты, общий запас и кулдауны
Плагин разделяет ограничения конкретного игрока и ограничения всего сервера. Это удобно для ежедневных наград, редких ресурсов и торговых точек с ограниченным запасом.
- Настраивайте отдельные лимиты покупки и продажи для игрока и сервера.
- Ограничивайте количество товаров, которое может купить один игрок или весь сервер.
- Добавляйте личные и глобальные кулдауны для покупки и продажи.
- Делайте лимиты постоянными, сбрасываемыми через интервал или обновляемыми по расписанию.
- Создавайте ежедневные квоты, еженедельные предложения и регулярное пополнение запасов.
- Используйте формулы и плейсхолдеры для расчёта лимитов и количества товара.
- Связывайте покупку и продажу, чтобы реализовать рынок, где продажи игроков пополняют общий запас.
- Premium: делитесь данными использования между товарами, включая количество сделок, лимиты и время сброса. Общие данные товаров пока находятся на стадии Alpha.
- Premium: задавайте собственные временные метки сброса и расписания для случайных плейсхолдеров.
Практический вариант - ограничить продажу редкой руды для каждого игрока, но пополнять общий серверный запас после сдачи ресурсов. Так магазин не превращается в бесконечный источник денег.
Кастомные предметы и экономика
UltimateShop умеет работать не только с ванильными предметами. Через конфигурацию можно получать предметы из популярных плагинов и сохранять их идентичность при изменении названия, Lore или чар.
Поддерживаются интеграции с ItemsAdder, Oraxen, Nexo, CraftEngine, MMOItems, MythicMobs, EcoItems, EcoArmor, eco, NeigeItems и ExecutableItems. Дополнительные плагины предметов можно подключать через ItemBridge.
Плагин также поддерживает экономики и валюты из Vault, PlayerPoints, CoinsEngine, ExcellentEconomy, UltraEconomy, EcoBits, PEconomy, RedisEconomy, RoyaleEconomy и VotingPlugin, а также ванильные очки опыта и уровни.
- Распознавайте кастомный предмет по данным исходного плагина. После изменения имени, Lore или чар предмет останется пригодным для продажи, если его идентифицирующие данные сохранены.
- Используйте ItemFormat для создания предметов из конфигурации, изменения доступных свойств и настройки шаблонов, полученных из других плагинов.
- Сохраняйте предмет из руки для последующего использования в магазинах и меню.
- Выбирайте строгое сравнение ванильных предметов или сопоставление через настраиваемый ItemFormat.
- При установленном MythicChanger задавайте более точные правила проверки принимаемых предметов.
- Premium: используйте расширенные настройки ItemFormat, интеграцию с AdvancedEnchantments и современные компоненты предметов на совместимых версиях сервера.
Это особенно полезно для RPG-серверов и сборок модов с нестандартным оружием, бронёй и ресурсами. Игроки смогут продавать именно нужные версии предметов, а не любые вещи с похожим названием.
Кастомные меню и удобная торговля
Через UltimateShop можно собирать собственные магазины, навигационные окна и меню выбора количества. Для каждого элемента задаются расположение, предмет отображения, название, Lore, кнопки, условия и действия.
- Настраивайте макеты, кнопки, отображаемые предметы и описание товаров.
- Добавляйте обновление кнопок по действию игрока или через заданный интервал.
- Используйте Buy More, чтобы выбрать количество покупки.
- Продавайте все подходящие предметы из инвентаря через Sell All.
- Разрешайте быстрые команды покупки, продажи, продажи предмета из руки и продажи всего предмета из руки.
- Назначайте стандартное количество покупки и продажи для каждого товара. Один клик может покупать стак или продавать заранее заданную партию.
- Выбирайте один из двух вариантов продажи через депозит: Sell All GUI продаёт предметы после закрытия меню, а Item Sell Menus показывает итоговую цену и требует подтверждения кнопкой.
- Включайте умственную выдачу предметов. Плагин учитывает размеры стаков, свободное место в инвентаре и вместимость перед выдачей покупки.
- Premium: добавляйте поиск товаров по тексту или предмету, редактируемое избранное, условный выбор кнопок, динамические макеты, команды меню и обновление заголовка GUI. Для обновления заголовка требуется PacketEvents.
- Premium: создавайте отдельные действия по нажатию на товар и показывайте один продукт в нескольких слотах или меню. Количественные быстрые кнопки при этом могут использовать общие данные товара.
На практике это позволяет сделать интерфейс под конкретный стиль сервера. Простому выживанию подойдёт компактное меню, а RPG-проекту можно собрать отдельные окна для экипировки, квестовых наград и редких ресурсов.
Меню для Java и Bedrock
Плагин поддерживает несколько вариантов интерфейса, поэтому торговлю можно адаптировать не только для Java Edition.
- Классические инвентарные меню: привычные сундуковые GUI с настраиваемой раскладкой, товарами и кнопками торговли.
- Premium, Bedrock Form UI: создавайте формы для Bedrock-игроков через Geyser и Floodgate, используя уже готовые меню. Формы поддерживают иконки предметов, цены и отдельную логику нажатий.
- Premium, Native Dialog UI: используйте нативные меню Minecraft Dialog на Paper 1.21.9 и новее с совместимым Java-клиентом. Стандартные кнопки действий и списки предметов не требуют ресурспака.
- Premium, Ore Graphical Menus: создавайте графические Dialog-магазины с фонами, кнопками, карточками товаров, иконками и навигацией. Текстуры и шаблоны раскладки можно менять, а нужный ресурспак создаётся командой
/shop dialogpack.
Ore Graphical Menus требуют Paper 1.21.9 или новее, совместимый Java-клиент и загруженный клиентом сгенерированный ресурспак. Определения магазинов можно использовать в разных интерфейсах, отдельно адаптируя описания товаров под Java или Bedrock.
Продажа из контейнеров и бонусы
В UltimateShop Premium есть инструменты для продажи содержимого контейнеров. Они подходят для серверов, где игроки регулярно сдают урожай, ресурсы или товары с ферм.
- Sell Stick: продажа подходящего содержимого контейнера по клику. Для разных типов палочек можно задать число использований и множители.
- Sell Chest, экспериментальная функция: автоматическая продажа подходящих предметов из сундука, пока владелец находится онлайн, а чанк загружен. Доступны лимиты, множители и информация через голограмму. Sell Chest не поддерживает Folia.
- Продажа из шалкер-боксов, Alpha: продажа подходящего содержимого шалкеров через поддерживаемые сценарии продажи.
- Sell Multiplier: условные бонусы или налоги для продажи. Можно выбрать самый высокий подходящий множитель или перемножить все совпавшие значения.
Sell Multiplier пригодится для VIP-бонусов, серверных событий и временных усилений экономики. Защита продажи из контейнеров интегрируется с WorldGuard, Residence, GriefPrevention, Lands, HuskTowns, HuskClaims, PlotSquared, Towny, BentoBox, Dominion и SuperiorSkyblock2.
Голограммы Sell Chest поддерживают DecentHolograms, CMI и FancyHolograms.
Условия и действия
Условия позволяют связать магазин с другими механиками сервера. Доступ можно ограничить правами, миром, биомом, меню или значением плейсхолдера.
- Требуйте определённый ранг или permission.
- Ограничивайте магазин конкретным миром или биомом.
- Связывайте предложения с уровнем, квестом, сезоном и прогрессом игрока через плейсхолдеры.
- Запускайте действия при открытии и закрытии меню, нажатии кнопки, успешной покупке или неудачной сделке.
- Отправляйте сообщения, выполняйте команды, проигрывайте звуки, телепортируйте игроков и открывайте другие меню.
- Настраивайте, после какого количества сделок запускается действие.
- Выбирайте, выполнять ли действие один раз для массовой операции.
- Меняйте сообщения при нехватке денег, заполненном инвентаре, невыполненном условии или достигнутом лимите.
- Premium: добавляйте условные, отложенные и вероятностные действия, объединяйте альтернативные и инвертированные условия, а также запускайте действия на основе результата проверки.
- Premium: разделяйте действия для Java- и Bedrock-игроков, если их взаимодействие с магазином должно отличаться.
Динамическая информация и языки
Плагин умеет показывать в описаниях товаров и сообщениях актуальные цены, количество, лимиты, число сделок и время до сброса.
- Используйте PlaceholderAPI, математические выражения, cron-плейсхолдеры и языковые плейсхолдеры там, где они поддерживаются.
- Настраивайте обычные цвета, HEX-цвета, градиенты и форматирование MiniMessage.
- Управляйте отображением чисел и цен.
- Premium: используйте случайные и условные плейсхолдеры для меняющегося ассортимента и контекстных сообщений.
- Premium: храните пользовательские значения отдельно для каждого игрока или глобально. Система пользовательских плейсхолдеров пока находится на стадии Beta.
- Premium: показывайте обратный отсчёт до сброса и сравнение текущей цены с базовой.
- Premium: выводите локализованные названия ванильных предметов и выбирайте текст по языку клиента.
- Premium: отправляйте обратную связь в чат, заголовок, action bar, boss bar и звуки.
- На современных версиях Paper доступны варианты отображения спрайтов предметов для Java-игроков.
Управление, хранение и сеть
UltimateShop предоставляет команды и права для управления сохранёнными предметами, открытия меню, быстрых сделок и изменения данных об использовании товаров.
Данные можно хранить в YAML или SQL. Поддерживаются MySQL, H2, PostgreSQL и SQLite. Сохранение выполняется автоматически, а операции с базой данных работают асинхронно.
- Premium: редактируйте магазины, товары и меню через внутриигровой редактор.
- Premium: записывайте историю сделок в файл или базу данных. В журнал попадают игрок, товар, количество, цена и множитель.
- Логи буферизуются и записываются пакетами, что уменьшает лишнюю нагрузку на сервер.
- Premium: синхронизируйте глобальное использование товаров между серверами через plugin messaging BungeeCord при включённом SQL-хранилище.
Сетевая синхронизация полезна для больших проектов с несколькими серверами выживания или разными игровыми режимами. При настройке прокси-сети нужно учитывать требования к базе данных и конфигурации обмена данными.
Что меняется на сервере
UltimateShop закрывает типичную проблему серверной экономики: стандартный магазин быстро становится слишком простым. Он либо продаёт всё по фиксированной цене, либо не умеет учитывать права, прогресс, лимиты и сезонные события.
С этим плагином магазин можно связать почти с любой частью игрового процесса. Игроки получают понятный интерфейс, альтернативные способы оплаты и актуальную информацию о сделке. Администратор контролирует цены, остатки, ограничения, награды и историю операций без необходимости создавать отдельный магазин для каждого сценария.
Это не просто GUI для покупки предметов. UltimateShop подходит как основа для торговой системы Minecraft, рынка с динамическими ценами, меню наград, обмена ресурсов и серверных услуг. Spigot и Paper поддерживаются изначально, а Premium расширяет возможности за счёт Bedrock-форм, нативных Dialog-меню, кастомных предметов, условий и сетевой синхронизации.
Скриншоты UltimateShop
Часто задаваемые вопросы
Совместимость
Создатели
Детали
Версии плагина UltimateShop
Доступно 62 версий. Сначала показаны самые популярные и самые свежие.