Почему кастомные жители важны на сюжетном сервере
Торговец хорош тем, что держит обмен внутри мира. Игрок видит не абстрактное меню магазина, а персонажа, у которого есть место, роль и причины продавать именно это. Когда в RP важна подача, такой NPC ощущается частью среды, а не просто кнопкой для выдачи предметов.
Инструмент нужен потому, что summon-команда быстро становится длинной и неприятной для ручной сборки. Стоит добавить несколько предметов, лимиты, CustomModelData и ещё один тип цены — и ручной синтаксис начинает красть слишком много внимания.
Что делает инструмент
Конструктор собирает длинную команду /summon minecraft:villager. Внутри неё задаются внешний вид и поведение жителя, а затем добавляется блок Offers со списком Recipes.
Основная структура
У каждой сделки есть минимум два item stack-а: buy и sell. Если цена состоит из двух предметов, команда получает ещё и buyB.
Три режима версий тут не для красоты
Конструктор показывает три варианта версии потому, что синтаксис предметов менялся дважды, а не один раз. Minecraft 1.20.5 перевёл предметы на Data Components, а 1.21.4 дополнительно уточнил современный формат для некоторых полей, включая custom_model_data.
- 1.21.4+ по-прежнему использует
countиcomponents, но некоторые payload-структуры становятся чуть более формальными. В этом инструменте это сильнее всего заметно на записиminecraft:custom_model_data. - 1.20.5–1.21.3 уже живёт на
countиcomponents, но использует более ранний современный синтаксис. - До 1.20.5 использует
Countи старыйtag-compound с legacy NBT-предметами.
То есть эти три переключателя — не декорация. Они решают, как именно будут сериализованы buy, buyB и sell внутри summon-команды. Helper для командного блока повторяет ту же развилку в основном ради ясности, даже если сам /give на командный блок меняется куда меньше, чем payload торговца.
Поля жителя
- Profession задаёт профессию и одежду жителя.
- Biome type меняет его визуальный вариант: plains, desert, taiga, swamp и другие.
- Level влияет на значок на поясе.
- NoAI удерживает NPC на месте, если это стационарная лавка.
- Invulnerable защищает его от случайного урона.
Поля сделки
- Buy item — основная цена, например
emerald. - Second buy item — дополнительная цена, вроде
diamond, жетона или сюжетного предмета. - Sell item — награда, которую получает игрок.
- CustomModelData — способ продать предмет с особой моделью или иконкой из ресурс-пака.
- Max uses — лимит использования сделки.
Как использовать это на живом сервере
- Сначала выберите режим синтаксиса под версию сервера.
- Потом зафиксируйте личность NPC: профессию, биом, уровень и то, должен ли он двигаться.
- Соберите одну сделку полностью, прежде чем копировать паттерн на несколько строк.
- Один раз протестируйте summon-команду в игре, прежде чем отдавать её другим или прятать в дата-файлы.
- Если длина уже вышла за удобный предел для чата, сразу переходите в командный блок.
Использование на сервере
Скопируйте готовую команду в консоль оператора или командный блок.
Важно: если summon-команда длиннее 256 символов, лучше сразу использовать командный блок. Чат Minecraft обрезает длинные конструкции гораздо раньше, чем людям хотелось бы.
Практические идеи
- Продавец пропусков, который принимает квестовые жетоны.
- Кузнец, продающий оружие с CustomModelData.
- Архивариус, который меняет найденные документы на новые зацепки.
- Фракционный торговец с предметами, завязанными на сюжетную валюту.
Частые ошибки
- Выбрать не тот режим версии и ругать логику торговли, когда реальная проблема в синтаксисе предметов.
- Тестировать сразу пять сделок вместо того, чтобы сначала доказать одну строку.
- Оставить NoAI выключенным у стационарного NPC, а потом ловить его по всему рынку.
- Забыть, что длинные summon-команды должны жить в командном блоке.
- Использовать CustomModelData у продаваемых предметов, не проверив, что у паковой стороны вообще есть нужный визуальный хук.
FAQ
Нужно ли знать summon-синтаксис, чтобы пользоваться этим?
Нет. Полезно узнавать структуру на глаз, но сам инструмент и существует для того, чтобы не собирать все скобки вручную.
Может ли житель продавать предметы с кастомным видом?
Да. Это одна из самых полезных связок: механически ванильный item stack, но визуально — особая награда из ресурс-пака.
Почему не использовать обычный плагинный магазин?
Потому что житель лучше держит обмен внутри мира и хорошо работает там, где сам продавец — часть сцены и истории.
Когда нужен buyB?
Когда цена должна состоять из двух ингредиентов: основной валюты и ещё одного предмета, жетона, драгоценности или сюжетного допуска.
Как безопаснее всего тестировать?
Сначала заспавнить одного жителя с одной сделкой, один раз купить товар и только потом масштабировать тот же паттерн до большого магазина.