ShopGUIPlus: создание серверного магазина с категориями, динамическими ценами и экономикой
Введение: торговля — двигатель экономики
ShopGUIPlus — это плагин для создания красивых графических магазинов на сервере Minecraft. Вместо скучных табличек с ценами (ChestShop) игроки видят удобное меню с иконками, категориями, корзиной и историей покупок. ShopGUIPlus поддерживает динамические цены (чем больше покупают — тем дороже), скидки, лимиты на покупку и интеграцию с Vault-экономикой. В этом гайде я покажу, как создать полноценный серверный магазин с нуля.
Установка
- Скачайте ShopGUIPlus с официальной страницы на SpigotMC (бесплатный).
- Поместите JAR-файл в папку
plugins. - Убедитесь, что установлен Vault и EssentialsX (или другой плагин экономики).
- Перезапустите сервер. Плагин создаст папку
plugins/ShopGUIPlusс примерами магазинов.
Создание первого магазина
Создайте файл plugins/ShopGUIPlus/shops/main_shop.yml:
shop:
main_shop:
title: '&6&lГлавный магазин сервера'
rows: 6
items:
diamond:
type: DIAMOND
slot: 10
buyPrice: 100
sellPrice: 50
quantity: 1
displayName: '&bАлмаз'
lore:
- '&7Покупайте и продавайте алмазы'
- '&7Цена покупки: &a100 монет'
- '&7Цена продажи: &c50 монет'
Разбор параметров:
- title: заголовок меню.
- rows: количество строк (1-6).
- type: тип предмета (DIAMOND, IRON_INGOT, OAK_LOG и т.д.).
- slot: слот в меню (0-53 для 6 строк, счёт слева направо, сверху вниз).
- buyPrice: цена покупки игроком у сервера.
- sellPrice: цена продажи игроком серверу.
- quantity: количество предметов за одну транзакцию.
Создание категорий (вложенные меню)
Для большого магазина нужны категории: «Блоки», «Еда», «Инструменты», «Редкости».
Создание категории (предмет, открывающий другое меню):
items:
blocks_category:
type: GRASS_BLOCK
slot: 0
displayName: '&a&lБлоки'
lore:
- '&7Нажмите, чтобы открыть'
openShop: blocks_shop
Теперь создайте файл blocks_shop.yml с товарами-блоками.
Настройка динамических цен
ShopGUIPlus поддерживает динамические цены: когда игроки покупают товар, его цена растёт. Когда продают — падает. Это создаёт живую экономику.
Включение динамических цен в config.yml:
dynamic-pricing:
enabled: true
min-price-percent: 50
max-price-percent: 200
price-change-amount: 5
price-change-frequency: 60
Цена товара может колебаться от 50% до 200% от базовой. Каждая покупка меняет цену на 5 единиц. Частота обновления: каждые 60 минут.
Настройка лимитов на покупку
Вы можете ограничить, сколько товаров игрок может купить за день.
items:
golden_apple:
type: GOLDEN_APPLE
slot: 25
buyPrice: 500
sellPrice: 0
limit:
amount: 5
reset: 24h
Игрок может купить максимум 5 золотых яблок в сутки.
Настройка прав на магазины
Вы можете ограничить доступ к магазинам по правам LuckPerms.
shop:
vip_shop:
title: '&6&lVIP Магазин'
permission: shop.vip
rows: 3
Только игроки с правом shop.vip могут открыть этот магазин.
Типичные ошибки
- Магазин не открывается. Проверьте, что имя файла совпадает с параметром
openShop. Проверьте синтаксис YAML (отступы!). - Цены не отображаются. Проверьте, что Vault установлен и загружен (
/pl). Проверьте, что EssentialsX Economy работает (/bal). - Игрок может купить больше лимита. Лимиты сбрасываются каждые 24 часа от серверного времени. Проверьте часовой пояс сервера.
💡 Совет профи
Создайте «ежедневные предложения»: товары со скидкой 30%, которые меняются каждый день. ShopGUIPlus поддерживает conditional pricing: вы можете создать секцию товаров, которая показывается только по определённым дням или со случайной скидкой. Это мотивирует игроков заходить каждый день, чтобы проверить новые скидки, и повышает онлайн.
💬 Комментарии (0)
🔒 Войдите, чтобы оставить комментарий
😊 Пока нет комментариев. Будьте первым!