
SellGUI
Плагин SellGUI для Minecraft добавляет удобную систему продажи предметов через меню. Поддерживает автопродажу, оценку цены, несколько меню и совместимость с кастомными предметами. Идеально для MMORPG-серверов.
SellGUI v3
SellGUI - это плагин для Minecraft, который решает извечную проблему серверов с экономикой: как быстро и удобно продавать предметы, не заставляя игроков бегать по магазинам. Вместо кучи NPC или командных блоков - одно красивое меню с настройками.
По сути, SellGUI заменяет громоздкие системы магазинов на простой интерфейс: открыл меню, кинул предметы, получил деньги. Версия 3 пошла ещё дальше - теперь можно создавать отдельные меню под разные категории предметов, настраивать фильтры и даже блокировать продажу эксклюзивных вещей в других меню.
Что нового в v3
- Несколько меню продажи - теперь каждое меню живёт в своём файле (например,
default.ymlиfishing.yml). - Команда
/sellgui <menu>- открывает конкретное меню. - Команда
/sellgui <player> <menu>- админы могут открыть меню для другого игрока. - Фильтры предметов:
allowed-items- разрешает только указанные предметы.denied-items- блокирует конкретные предметы.exclusive: true- закрепляет предметы только за этим меню.
/sellallи автопродажа теперь пропускают предметы, закреплённые за эксклюзивными меню.- Старый
gui.ymlразбит на папкуgui/- стало намного чище. - Нормализация стаков - фикс проблемы, когда предметы переставали стакаться после плавки, захода на сервер или рестарта.
- Встроенная поддержка ShopGUI+ API.
Требования
Обязательные
| Компонент | Примечание |
|---|---|
| Java | Java 21 рекомендуется для современных Paper/Spigot 1.20.6+ |
| Сервер | Paper/Spigot 1.20.6+, оптимизирован под 1.21+ |
| Vault | Нужен для экономики |
| Плагин экономики | EssentialsX, CMI или любой совместимый с Vault |
| NBTAPI | Обязательная зависимость в plugin.yml |
Опциональные
| Плагин | Зачем |
|---|---|
| EssentialsX | Использовать цены из Essentials worth |
| ShopGUIPlus | Использовать цены продажи из ShopGUI+ |
| MMOItems | Определять и оценивать MMOItems |
| Nexo | Определять и оценивать предметы Nexo |
| MythicLib | Дополнительная поддержка NBT/метаданных |
| PlaceholderAPI | Регистрирует плейсхолдеры %sellgui_*% |
| PacketEvents | Показывает стоимость предмета через пакеты (без изменения самого предмета) |
Установка
- Скачай jar-файл SellGUI v3.
- Кинь его в папку
plugins/на сервере. - Убедись, что Vault, NBTAPI и плагин экономики установлены.
- Перезапусти сервер - SellGUI создаст свои файлы.
- Настрой всё в
plugins/SellGUI/. - Выполни
/sellgui reloadили перезапусти сервер после правок.
Сборка из исходников
git clone https://github.com/NguyenSonhoa/SellGUI.git
cd SellGUI
git checkout v3.0
mvn -q -DskipTests package
Готовый jar:
target/SellGUI-3.0.1.jar
libs/shopgui-api-3.1.0.jar уже в репозитории, так что Maven соберёт проект сразу после клонирования.
Команды
Алиасы для /sellgui: /sg, /sell
| Команда | Описание | Право |
|---|---|---|
/sellgui | Открыть меню продажи по умолчанию | sellgui.use |
/sellgui <menu> | Открыть конкретное меню (например, /sellgui fishing) | sellgui.use + право меню |
/sellgui <player> | Открыть меню по умолчанию для другого игрока | sellgui.others |
/sellgui <player> <menu> | Открыть конкретное меню для другого игрока | sellgui.others |
/sellgui help | Показать помощь в игре | sellgui.use |
/sellgui reload | Перезагрузить конфиги и GUI | sellgui.reload |
/sellgui evaluate | Открыть GUI оценки цены | sellgui.evaluate |
/sellgui autosell | Открыть настройки автопродажи | sellgui.autosell |
/autosell | Открыть настройки автопродажи | sellgui.autosell |
/sellgui setprice <amount> | Установить фиксированную цену для предмета в руке | sellgui.setprice |
/sellgui setrange <min> <max> | Установить случайный диапазон цен для предмета в руке | sellgui.setrange |
/sellguiprice | Открыть GUI установки цены | sellgui.setprice |
/sellguiprice <price> | Ввести цену в открытом GUI установки цены | sellgui.setprice |
/sellall | Предпросмотр продажи всех подходящих предметов из инвентаря | sellgui.sellall |
/sellall confirm | Подтвердить /sellall | sellgui.sellall |
Права доступа
| Право | По умолчанию | Описание |
|---|---|---|
sellgui.* | плагин-менеджер/оператор | Доступ ко всем правам SellGUI |
sellgui.use | true | Использовать базовую команду SellGUI |
sellgui.admin | op | Общее админское право |
sellgui.others | ручная выдача | Открывать SellGUI для других игроков |
sellgui.reload | op | Перезагружать плагин |
sellgui.setprice | op | Использовать GUI установки цены и команды фиксированной цены |
sellgui.setrange | op | Устанавливать случайные диапазоны цен |
sellgui.evaluate | op | Использовать GUI оценки цены |
sellgui.sellall | true | Использовать /sellall |
sellgui.autosell | true | Открывать GUI автопродажи |
sellgui.menu.* | true | Доступ ко всем настроенным меню из plugin.yml |
sellgui.menu.default | true | Открывать меню по умолчанию |
sellgui.menu.fishing | true | Открывать пример меню рыбалки (fishing) |
sellgui.bonus.<число> | false | Добавляет бонус к продаже (зависит от метода расчёта) |
sellgui.multiplier.<число> | false Умножает цены продажи |
Примеры:
sellgui.multiplier.2.0
sellgui.bonus.30
sellgui.menu.fishing
Когда добавляешь новое меню, дай ему своё право в файле меню (например, sellgui.menu.mining) и выдай его нужным рангам.
Структура конфигурации v3
После первого запуска SellGUI создаёт файлы в plugins/SellGUI/:
plugins/SellGUI/
config.yml
itemprices.yml
mmoitems.yml
nexo.yml
customitems.yml
custommenuitems.yml
random-prices.yml
messages.yml
sounds.yml
autosell_data.yml
gui/
sell_menus/
default.yml
fishing.yml
price_setter.yml
price_evaluation.yml
autosell_settings.yml
Старый корневой gui.yml удалён в v3. Макеты GUI и меню продажи теперь живут в папке gui/. SellGUI загружает и объединяет все .yml и .yaml файлы внутри gui/, включая файлы в подпапках. Рекомендуется хранить одно меню продажи на файл в gui/sell_menus/.
Система нескольких меню
Меню по умолчанию:
plugins/SellGUI/gui/sell_menus/default.yml
Пример меню рыбалки:
plugins/SellGUI/gui/sell_menus/fishing.yml
Пример меню "Mining":
sell_menus:
mining:
name: "Mining"
permission: "sellgui.menu.mining"
title: "&8/sellgui > Mining"
size: 36
item-filter:
allowed-items:
- "IRON_INGOT"
- "GOLD_INGOT"
- "DIAMOND"
- "EMERALD"
denied-items: []
exclusive: true
positions:
sell_button: [31]
confirm_button: [31]
filler_slots: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 28, 29, 30, 32, 33, 34, 35]
item_slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25]
items:
sell_button:
material: "EMERALD"
custom-model-data: 0
name: "&a&lCalculate Mining Sale"
lore:
- "&7Only mining items can be sold here."
- "&eTotal Value: &a$0.00"
glow: true
confirm_button:
material: "GREEN_CONCRETE"
custom-model-data: 0
name: "&a&lConfirm Mining Sale"
lore:
- "&fTotal: &e$%total%"
glow: true
filler:
material: "GRAY_STAINED_GLASS_PANE"
custom-model-data: 0
name: " "
lore: []
no_items:
material: "BARRIER"
custom-model-data: 0
name: "&c&lNo Items To Sell"
lore:
- "&7Add mining items to this menu."
item_total_format: "&7%amount%x &f%item% &8= &e$%total%"
evaluation_required_format: "&7%amount%x &f%item% &cNeeds Evaluation"
Открывается командой:
/sellgui mining```
