- Для версий
- 1.14.✘
- 1.15.✘
- 1.16.✘
- 1.17.✘
- 1.18.✘
- 1.19.✘
- 1.20.✘
- 1.21.✘
- Документация
- https://ultimateshop.superiormc.cn/
- Исходный код
- https://github.com/PQguanfang/UltimateShop
Описание плагина UltimateShop-Premium:
UltimateShop — это мощный магазинный плагин для Spigot. Мы постарались добавить в него все функции премиальных плагинов для магазинов.Особенности плагина UltimateShop-Premium:
- Мульти-базированный магазин: отношение между товарами и ценами — многие ко многим, и их можно свободно настраивать с помощью системы условий. Например, можно настроить, чтобы игрок платил 500 очков и стак алмазов за мощный алмазный меч и 5 дней VIP-группы.
- Система цен: можно сделать так, чтобы цена товара менялась каждый раз, когда игрок его покупает.
- Динамическое ценообразование: цены на товары могут изменяться при каждой покупке или продаже, как в реальной жизни.
- Лимиты и запасы: можно установить лимиты на покупки для каждого игрока и в глобальном масштабе, а также настроить авто-восстановление запасов.
- Формат предметов: позволяет создавать любые предметы, включая кастомную еду, инструменты, броню и другие уникальные вещи.
- Система меню: можно создавать красивые магазинные меню, обычные меню и дополнительные меню. В премиальной версии Java-меню автоматически конвертируются в Bedrock Form UI.
- Система действий и условий: вместо обычных команд и разрешений, можно использовать сложные условия практически везде.
- Поддержка PlaceholderAPI: плагин включает мощные плейсхолдеры (математика, случайные значения, сравнение, скидки) и позволяет отображать информацию о товарах (только в премиальной версии).
- Динамические значения: можно использовать плейсхолдеры и математические символы для создания динамических запасов, количества товаров, цен и других параметров. Например, цена может зависеть от уровня игрока.
- Совместимость с разными плагинами: поддержка множества плагинов для предметов и экономики, а также полная поддержка плагинов, изменяющих лор и название предметов.
- Высокая гибкость: можно создать динамическое ценообразование, систему реальных запасов, сезонные цены, ротацию товаров, ежедневные магазины, обмен валюты, магазины команд, магазины спавнеров и многое другое.
- Гибкие настройки: можно задать кастомные клики в магазине (например, левый клик — продать стак, правый — купить), изменить описание цен и настроить правила продажи.
- Дополнительные кнопки: можно отображать один и тот же товар в разных местах, создавая интерфейс торговли, похожий на деревенский рынок.
- Кастомные цены: можно легко создать экономическую систему, даже если ваш плагин экономики или предметов не поддерживается (только в премиальной версии).
- Умная выдача предметов: плагин сам группирует купленные предметы и проверяет свободное место в инвентаре игрока (нужно включить в config.yml).
- Простота использования: на Wiki есть примеры конфигураций, а автонастройки помогают автоматизировать процессы.
- Автоперевод названий ванильных предметов: названия предметов в сообщениях плагина и плейсхолдерах автоматически переводятся (для серверов 1.16+, только в премиальной версии).
- Встроенные Sell Stick и Sell All GUI: позволяют продавать предметы без дополнительных плагинов (Sell Stick доступен только в премиальной версии).
Команды и права плагина UltimateShop-Premium:
- /shop menu <menuID>/<shopID> — открыть обычное меню или меню магазина.
- Требует ultimateshop.menu
- Для консоли нужно добавить аргумент <player>, например: /shop menu test Player1
- В премиальной версии можно добавить -b для обхода проверки условий открытия.
- /shop quickbuy <shopID> <productID> [amount] — быстрая покупка товара.
- Требует ultimateshop.quickbuy
- В консоли необходимо добавить <player>, например: /shop quickbuy test A Player1.
- /shop quicksell <shopID> <productID> [amount] — быстрая продажа товара.
- Требует ultimateshop.quicksell
- Аргумент amount можно заменить на *, тогда плагин автоматически продаст все доступные предметы (только премиум).
- /shop reload — перезагрузить плагин (некоторые конфигурации требуют перезапуска сервера).
- Требует ultimateshop.reload.
- /shop givesellstick <itemID> <playerID> [amount] (только премиум) — выдать игроку предмет Sell Stick.
- Требует ultimateshop.givesellstick.
- /shop setbuytimes/setselltimes <shopID> <productID> <player>/global [times] — задать число покупок/продаж товара игроком.
- Требует ultimateshop.setbuytimes.
- productID можно заменить на *, чтобы выбрать все товары (только премиум).
- global означает изменение для плейсхолдера {buy-times-server} или {sell-times-server}, а не для всех игроков.
- /shop addbuytimes/addselltimes <shopID> <productID> <player>/global <times> — добавить указанное количество покупок/продаж товара игроку.
- Требует ultimateshop.addbuytimes.
- productID можно заменить на * (только премиум).
- /shop sellall — открыть меню массовой продажи.
- Требует ultimateshop.sellall.
- /shop saveitem <itemID> — сохранить текущий предмет в руках.
- Требует ultimateshop.saveitem.
- /shop generateitemformat — создать формат предмета и сохранить его в plugins/UltimateShop.
- Требует ultimateshop.generateitemformat.
- /shop getplaceholdervalue <text> (только премиум) — получить значение плейсхолдера из введенного текста.
- Требует ultimateshop.getplaceholdervalue.
- /shop resetrandomplaceholder <placeholderID> (только премиум) — сбросить случайное значение плейсхолдера.
- Требует ultimateshop.resetrandomplaceholder.
- /shop setrandomplaceholder <placeholderID> [element] (только премиум) — задать случайное значение плейсхолдера.
- В отличие от resetrandomplaceholder, не сбрасывает время обновления.
- Можно использовать -b для игнорирования проверки элемента (не рекомендуется).
- Требует ultimateshop.setrandomplaceholder.
- /shop editor (только премиум) — открыть редактор магазина (требуется плагин UltimateShopEditor).
- Требует ultimateshop.editor.
Плэйсхолдеры плагина UltimateShop-Premium:
Встроенные плейсхолдеры UltimateShop
Обновление значений
По умолчанию плейсхолдеры в GUI обновляются только при открытии меню или нажатии кнопки.Чтобы включить автообновление значений, установите menu.shop.update в config.yml.
⚠️ Это может увеличить нагрузку на сервер в 20 раз.
Список встроенных плейсхолдеров
Плейсхолдер | Описание | Где использовать |
---|---|---|
{shop} | ID магазина (название файла) | Файл сообщений, Действия |
{shop-name} | Название магазина | Меню магазина, Действия |
{shop-menu} | ID меню магазина | Действия |
{product} | ID товара | Файл сообщений |
{amount} | Количество товаров при покупке/продаже | Файл сообщений, Действия, Опции цены |
{status} | Показывает, выше или ниже цена базовой (динамическая цена) | Опции цены |
{item} | Название купленного предмета | Файл сообщений |
{menu} | ID меню | Файл сообщений |
{price} | Цена покупки/продажи | Файл сообщений |
{limit} | Лимит покупок/продаж | Файл сообщений |
{times} | Количество покупок/продаж | Файл сообщений |
{refresh} | Время сброса товара | Файл сообщений |
{next} | Обратный отсчет до сброса товара | Файл сообщений (Только премиум) |
{buy-price} | Цена покупки | Лор предмета, Поддержка PlaceholderAPI |
{sell-price} | Цена продажи | Лор предмета, Поддержка PlaceholderAPI |
{buy-times-player} | Количество покупок игрока | Лор предмета, Поддержка PlaceholderAPI |
{buy-limit-player} | Лимит покупок игрока | Лор предмета, Поддержка PlaceholderAPI |
{buy-refresh-player} | Время сброса покупки игрока | Лор предмета, Поддержка PlaceholderAPI |
{buy-next-player} | Обратный отсчет сброса товара | Лор предмета, Поддержка PlaceholderAPI (Только премиум) |
{sell-xxx} | Аналогично {buy-xxx}, но для продаж | - |
{xxx-server} | Аналогично {buy-xxx}, но для сервера | - |
{last-buy-player} | Время с последней покупки (в секундах) | Поддержка PlaceholderAPI (Только премиум) |
{last-sell-player} | Время с последней продажи (в секундах) | Поддержка PlaceholderAPI (Только премиум) |
{last-buy-server} | Время с последней покупки на сервере | Поддержка PlaceholderAPI (Только премиум) |
{last-sell-server} | Время с последней продажи на сервере | Поддержка PlaceholderAPI (Только премиум) |
{buy-click} | Статус цены покупки | Лор предмета |
{sell-click} | Статус цены продажи | Лор предмета |
{item-name} | Отображаемое имя товара | Лор предмета, Поддержка PlaceholderAPI |
{random_<ID>} | Получить первый случайный элемент | Везде (Только премиум) |
{random_<ID>;;<Number>} | Получить определенный случайный элемент | Везде (Только премиум) |
{random-times_<ID>} | Время обновления случайного плейсхолдера | Везде (Только премиум) |
{random-next_<ID>} | Обратный отсчет до обновления случайного плейсхолдера | Везде (Только премиум) |
{conditional_<ID>} | Условный плейсхолдер | Везде (Только премиум) |
{compare_<число1>_<число2>} | Сравнение двух чисел (формат можно изменить в config.yml) | Везде (Только премиум) |
{math_<выражение>} | Вычисление выражения, например {math_10+50} → 60 | Везде |
Использование PlaceholderAPI
Встроенные плейсхолдеры поддерживаются в PlaceholderAPI через формат:%ultimateshop_<shopID>_<productID>_<builtInPlaceholder>%
Пример:
%ultimateshop_example_A_buy-limit-player%
Для случайных, условных, математических плейсхолдеров магазин и товар указывать не нужно:
%ultimateshop_random-times_rotate%
Перенос строки
Если нужно перенести строку, используйте ;;.В config.yml:
YAML:
placeholder:
price:
split-symbol-any: ';;'
split-symbol-all: ';;'
unknown: "Unknown"
Установка плагина UltimateShop-Premium:
- Поместите .jar-файл в папку plugins на вашем сервере.
- Остановите сервер и запустите его заново. Загрузка плагинов возможна только при старте сервера.
- При обновлении удалите старую версию перед установкой новой.
- При переходе с бесплатной на платную версию достаточно просто заменить .jar-файл, удалив старую версию. Конфигурация не требует изменений.
- При понижении версии сервера необходимо удалить папку items из конфигурации плагина.
- При использовании функции локализованных названий предметов после смены версии сервера удалите ранее созданные локализованные файлы.
Важно
- UltimateShop — это плагин для магазина, а не для экономики. Если вам нужна кастомная экономика, установите соответствующий плагин.
- Vault не является экономическим плагином, а лишь зависимостью для других плагинов экономики. После установки Vault необходимо дополнительно установить плагин экономики, поддерживающий его.