Q Shop — гибкий магазин с валютами для Minecraft

Q Shop для Minecraft: создавайте магазины и подмагазины, добавляйте свои валюты, настраивайте покупки, продажи и бартер. Установка за пару минут.

Q Shop: настраиваемые магазины и валюты для Minecraft

Если вы когда-нибудь пытались построить на сервере экономику на сундуках с табличками, вы знаете, насколько это неудобно. Q Shop решает эту проблему раз и навсегда: это полноценный магазинный мод, который превращает торговлю на сервере в аккуратную систему с валютой, лимитами и гибкими настройками. При этом он не требует обязательных зависимостей — только сам загрузчик.

Мод доступен для Minecraft Forge 1.20.1, а также для NeoForge 1.21.1 и NeoForge 26.1.2. Все поддерживаемые сборки дают одинаковый набор базовых возможностей магазина, так что разницы в функционале между версиями практически нет.

Что умеет Q Shop

В основе мода лежит единый торговый интерфейс, в котором сосуществуют четыре типа записей: покупка, продажа, бартер «предмет за предмет» и выполнение серверных команд. Бартерные записи при желании могут дополнительно списывать валюту, а командные — запускать настроенные команды после успешной сделки. Поддерживаются свои отображаемые имена, описания, иконки и NBT предметов.

Управление количеством сделано удобно: ползунок и поле ввода с живой проверкой лимита, инвентаря и баланса. Когда доступное количество велико, кнопки x1, x10, x100 и x1000 меняют шаг и диапазон ползунка — это заметно ускоряет массовые закупки. Прокрутка сеток записей и вкладок подмагазинов плавная, а масштабирование интерфейса не ломает подсказки предметов и кнопок.

Магазины и подмагазины

Каждый магазин получает стабильный ID или UUID. Внутри него создаётся один или несколько подмагазинов с собственной иконкой, описанием и независимым списком записей. Иконки поддерживают данные и NBT, а описания показываются как всплывающие подсказки. В креативном режиме записи можно добавлять, удалять, копировать, переставлять и редактировать, причём все изменения сохраняются и синхронизируются с уже открытыми клиентами.

Свои валюты и лимиты

Q Shop позволяет создать любое количество не-предметных валют: монеты, очки, токены — что угодно. Балансы хранятся отдельно для каждого игрока и синхронизируются с клиентом, а управлять ими можно командами или через KubeJS. Для каждой записи настраиваются глобальные и персональные лимиты покупок с периодами сброса NEVER, DAILY, WEEKLY и MONTHLY. Важный нюанс: лимит считается в торговых единицах, а не в количестве предметов, поэтому одна сделка с несколькими предметами расходует ровно одну единицу.

Если вы предпочитаете ставить моды через удобный лаунчер, обратите внимание на foxygame.net: там Q Shop и другие дополнения добавляются в один клик, а каталог регулярно пополняется свежими сборками под нужную версию.

Требования и интеграции

Обязательных игровых зависимостей у мода нет. KubeJS и FTB Quests подключаются опционально и нужны только для своих функций. Записи и целые подмагазины можно закрывать за заданиями FTB Quests, а требования по стадиям используют доступный провайдер для выбранного загрузчика и версии: GameStages, KubeJS PlayerStages или AStages там, где они поддерживаются. Если подходящего провайдера нет, требование считается невыполненным, и контент остаётся скрытым от обычных игроков.

Команды и конфигурация

Управление построено вокруг команды /qshop. С её помощью можно открыть магазин другому игроку, посмотреть список, проверить баланс, перезагрузить конфиги, создать валюту или магазин, а также редактировать записи прямо из игры. Для редактирования нужен уровень прав 2 и креативный режим — последний подмагазин удалить нельзя.

  • /qshop open <shop> [player] — открыть магазин себе или другому игроку.
  • /qshop currency create <id> <name> [color] — создать новую валюту.
  • /qshop currency give|take|set — выдать, забрать или установить баланс.
  • /qshop edit <shop> add <type> — добавить запись нужного типа.
  • /qshop overwrite — принудительно заменить мировые файлы шаблоном.

Файлы валют и магазинов лежат в <world>/serverconfig/qshop/, а шаблон — в config/qshop/. Мод сам создаёт недостающие файлы из встроенных значений, а новый мир автоматически импортирует шаблон, не перезаписывая уже существующие данные. Общий конфиг config/qshop-common.toml разделён на секции [server] и [client]: здесь можно включить потерю валюты при смерти с настройкой процента удержания, разрешить покупки при переполнении инвентаря и задать серверные параметры торговли.

KubeJS и события

Для серверных скриптов достаточно установить KubeJS — мод откроет глобальный биндинг QShop. Публичный API построен по принципу Builder-first: вы создаёте магазин, вкладку и запись цепочкой вызовов, а метод add() с существующим UUID обновляет объект на месте. Чтение тоже удобное: getShop, getTab и getEntry возвращают полноценные Java-объекты, у которых поля можно читать напрямую. Для долгоживущих скриптов лучше опираться на UUID, а не на индексы, ведь порядок записей может меняться.

Отдельного упоминания заслуживают события: QShopEvents.beforeTrade позволяет отменить сделку, afterTrade сообщает о количестве проданных единиц и частичном выполнении, а currencyChanged срабатывает при любом изменении баланса — от торговли и наград FTB до команд и удержания валюты после смерти. Java-аддоны могут использовать фасад com.qshop.api.QShopAddonApi и слушать CurrencyChangedEvent на шине событий Forge.

Как установить

Чтобы скачать Q Shop для Minecraft, найдите сборку под свою версию и загрузчик, поместите файл мода в папку mods и запустите игру. Дальше остаётся открыть конфиги, создать валюту и построить первый магазин командой /qshop shop create. Никаких обязательных библиотек ставить не нужно, а для совместимости с другими модами достаточно проверить, что версия KubeJS или FTB Quests соответствует вашей платформе.

Q Shop — это редкий случай, когда мощный инструмент остаётся простым в освоении. Он одинаково хорошо подходит и для небольшого сервера с друзьями, и для крупного проекта с продуманной экономикой, где важны лимиты, стадии и автоматизация через скрипты.