Плагин для серверов Майнкрафт, который добавляет магазины на сундуках и помогает организовать экономику игроков. Продавец задаёт товар и цену, а покупатель выбирает количество через чат; магазин может работать либо на продажу, либо на скупку.
Возможности
- Магазины поддерживают предметы с NBT-данными, зачарованиями, прочностью, зелья и яйца призыва мобов.
- Можно использовать двойной сундук: на его частях размещаются отдельные магазины, например один для продажи, другой для скупки.
- Над сундуком отображается товар, а табличка показывает состояние магазина; отображение предмета можно отключить в конфигурации.
- Перед сделкой доступен просмотр товара в чате и графическом интерфейсе. Панель управления магазином позволяет менять параметры кликами.
- Поддерживаются несколько валют через экономический плагин с VaultUnlocked, налоги и регулярная плата за содержание магазина.
- Для каждого магазина можно назначать сотрудников, задавать имя, настраивать доступ игрокам и группам, а также запрещать отдельным игрокам покупки.
- Есть чёрный список предметов, лимиты цен по правилам, очистка пустых, сломанных и неактивных магазинов.
- Операции с инвентарём и экономикой откатываются при ошибке, что защищает от дюпов.
- Данные хранятся в локальной базе H2 или удалённой MySQL. Сообщения поддерживают MiniMessage и редактируются в
message.json.

Команды
Основные действия обычно выполняются через взаимодействие с магазином или панель управления. Полезные команды:
/quickshop create <price> [item]— создать магазин с предметом в руке или указанным предметом./quickshop buyи/quickshop sell— переключить магазин на скупку или продажу./quickshop price <price>— изменить цену./quickshop find <item>— найти ближайший магазин с предметом./quickshop currency <currency name>— выбрать валюту магазина./quickshop staff add <player>,/quickshop staff del <player>,/quickshop staff list— управлять сотрудниками./quickshop name <name>— задать или убрать название магазина./quickshop permission— настроить доступ к конкретному магазину./quickshop unlimited— включить или отключить неограниченный запас./quickshop clean,/quickshop cleanghost,/quickshop purge— очистить пустые, сломанные или устаревшие магазины./quickshop transfer— передать все магазины одного игрока другому.
Доступны сокращения /shop, /qs, /chestshop и /cshop; их можно изменить в config.yml.
Права
Выдайте игроку quickshop.player, чтобы разрешить создание и использование обычных магазинов. Для точной настройки используются, в частности, права:
quickshop.use— взаимодействие с магазинами;quickshop.create.sellиquickshop.create.buy— создание магазинов на продажу и скупку;quickshop.create.double— магазин на двойном сундуке;quickshop.create.stacks— продажа наборами;quickshop.create.changeprice— изменение цены своего магазина;quickshop.find— поиск через/quickshop find;quickshop.staff— управление сотрудниками;quickshop.preview— просмотр товара в интерфейсе;quickshop.currency— выбор валюты;quickshop.unlimited— неограниченные магазины;quickshop.other.destroyиquickshop.other.open— управление чужими магазинами и их сундуками;quickshop.bypass.<ItemID>— продажа предмета из чёрного списка.
Настройка
Чтобы создать магазин, поставьте сундук, возьмите в руку продаваемый предмет и нажмите по сундуку левой кнопкой мыши. Для магазина наборами держите нужное число предметов, включите allow-stacks: true в config.yml и выдайте quickshop.create.stacks; покупатель будет приобретать товар кратно этому количеству.
После создания в чат вводится цена. Для покупки или продажи нажмите левой кнопкой по табличке магазина и укажите количество в чате.



Поведение кликов настраивается в interaction.yml: например, при нажатии с приседанием можно покупать или продавать один предмет либо весь доступный запас. Опция custom-item-stacksize позволяет задать размер набора сверх обычного лимита через /quickshop stack <size>.


Требования
Плагину нужны Vault и совместимый с ним плагин экономики. Для нескольких валют требуется экономика с поддержкой VaultUnlocked. Поддерживаются Paper и его сборки; Spigot не поддерживается.
ProtocolLib или PacketEvents необязательны, но улучшают производительность виртуального отображения товара; ProtocolLib также нужен для быстрой работы большого числа магазинов. Плагин совместим с защитами регионов и имеет дополнительные модули для AdvancedRegionMarket, BentoBox, GriefPrevention, Lands, OpenInv, PlotSquared, Towny, Residence, WorldEdit, WorldGuard, SuperiorSkyblock, EcoEnchants и Reforges.
Для связи товара магазина с инвентарём эндер-сундука нужны OpenInv и его модуль совместимости; после этого используется /quickshop echest. Глобальные чат-плагины для BungeeCord могут мешать вводу цены при создании магазина: в таком случае создавайте его командой /quickshop create <price> [item].
