Пресеты

Пресеты призыва

Команда пользовательской торговли с жителями в Minecraft

Пользовательские сделки с жителями сложны, потому что полезные данные сидят внутри Offers. Эта статья собирает идею магазина, личность жителя, цены сделок, продаваемые предметы, maxUses и теги в одном месте, прежде чем вы скопируете команду summon.

Результат пресета

Постоянный пресет магазина-жителя с двумя редактируемыми сделками и стабильным тегом для последующей логики Command Pack.

Вывод

Output summon для торговли с жителем

/summon minecraft:villager ~ ~ ~ {CustomName:{text:"Relic Trader",color:"gold"},CustomNameVisible:1b,PersistenceRequired:1b,VillagerData:{profession:"minecraft:librarian",level:5,type:"minecraft:plains"},Offers:{Recipes:[{buy:{id:"minecraft:emerald",count:12},sell:{id:"minecraft:enchanted_book",count:1,components:{"minecraft:stored_enchantments":{"minecraft:mending":1}}},maxUses:999999,rewardExp:0b},{buy:{id:"minecraft:diamond",count:3},sell:{id:"minecraft:player_head",count:1,components:{"minecraft:custom_name":{text:"Relic Token",color:"aqua",italic:false}}},maxUses:64,rewardExp:0b}]},Tags:["relic_trader"]}
Too long for Minecraft chat

The longest command line is 616 characters, 360 over the 256-character chat input limit. Pasting it into chat can truncate the line and make Minecraft report a syntax error even when the generated command is valid.

  • Use a Command Block: run /give @s command_block, place it, then paste this command into the block command field.
  • Use a .mcfunction for a reusable datapack: save the line without the leading slash at saves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunction with a minimal pack.mcmeta, run /reload, then run /function <ns>:<name>. Do not paste .mcfunction content into chat.

Скриншот пресета

Состояние Workbench NBTForge, использованное в статье о команде пользовательской торговли с жителями: видны элементы управления и сгенерированный Output.

Соберите пресет

  1. Откройте Summon и выберите villager как сущность.
  2. Сначала задайте VillagerData, чтобы профессия, тип биома и уровень соответствовали роли магазина.
  3. Добавьте каждую сделку как пару покупки и продажи внутри Offers.Recipes.
  4. Добавьте PersistenceRequired и тег, чтобы магазин потом можно было найти или защитить последующими командами.

Данные торговли лежат вложенными

Команды торговли с жителями сложно отлаживать, потому что данные о предметах могут быть внутри buy, buyB или sell. Сначала заставьте работать одну простую сделку, и только потом добавляйте остальные рецепты.

Здесь NBTForge помогает особенно сильно: команду удобно держать рядом с пресетами связанных предметов. Сначала соберите продаваемый предмет, а потом вставьте или воссоздайте его как стопку предметов на продажу.

  • Используйте maxUses для постоянных магазинов.
  • Используйте rewardExp:0b, когда сделки не должны прокачивать жителя.
  • Используйте теги для очистки, защиты или логики региона.

Рабочий процесс карты-экономики

Магазин жителя обычно входит в больший Command Pack. Связывайте команду summon с настройкой региона, подсказкой title или подстраховочной командой очистки тестовых жителей.

Держите стоимость сделок читаемой. Если магазину нужны редкие валюты, сначала соберите валюту как отдельный пресет /give.

Встройте пресет в реальный Project

Относитесь к Minecraft Custom Villager Trades Command как к проверенной отправной точке, а не как к скопированной из сети строке. Когда Output хотя бы раз отработал корректно, сохраните его под понятным именем Project, зафиксируйте целевую версию Minecraft и держите пресет рядом с сопутствующими командами настройки — scoreboard, панелью босса, таблицами добычи или строками сброса.

Прежде чем выкатывать пресет на карту, сервер или в Command Pack, запустите именно тот артефакт, который вы скопировали, а не один лишь Live Workbench. Так вы поймаете отсутствующие зависимости, устаревшие селекторы, неверный выбор Edition и команды, которые работали только потому, что тестовый мир уже находился в нужном состоянии.

  • Сохраняйте выбранные Edition и Version вместе с самой командой.
  • Проверьте селекторы на безобидной команде, прежде чем использовать урон, kill, clear или телепортацию.
  • Переносите длинные команды в Project или в функцию датапака вместо того, чтобы вставлять их в чат.
  • Перепроверяйте предупреждения после изменения сущностей, компонентов предметов, пассажиров или ресурсов датапака.

FAQ

Могу ли я продавать через жителя предметы с пользовательскими именами?

Да. Продаваемый предмет может включать компоненты предмета или NBT в зависимости от выбранного семейства версий Java.

Почему мой пользовательский житель исчезает?

Добавьте PersistenceRequired и проверьте команду на нужном уровне сложности и в нужном регионе. Также сохраните тег, чтобы потом было легко найти сущность магазина.

Когда этот пресет должен войти в Command Pack?

Включайте его в Command Pack, когда Output зависит от строк настройки, команд сброса, ресурсов таблиц добычи, состояния scoreboard или повторного тестирования. Отдельные безопасные одноразовые команды по-прежнему можно Copy прямо из вывода.

Открыть этот процесс

Начните с связанной панели Summon и настройте поля пресета под свой мир.