Пресеты

Пресеты datapack

Пресет дропа меча Overpower с босса Skeleton King

Пресет дропа меча Overpower с босса Skeleton King теперь представляет собой полноценный рабочий процесс добычи с босса, а не короткую сгенерированную заметку. Он показывает скелета-босса, путь DeathLootTable, награду в виде JSON датапака и проверенный внутриигровой результат боя, так что вы можете отрецензировать столкновение прежде, чем оно станет картовым сражением. Используйте его, когда вам нужен босс-нежить дальнего боя с гарантированной наградой в виде именного меча, и вы хотите, чтобы команда призыва и таблица наград оставались в одном контексте Project.

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

Skeleton King связан с nbtforge:entities/skeleton_king и награждает Kingbreaker Overpower Sword.

Вывод

Босс Skeleton King и комплект добычи

# 1) Summon the boss. This entity points at the custom loot table.
/summon minecraft:skeleton ~ ~ ~ {Tags:["nbtforge_boss","skeleton_king"],CustomName:{text:"Skeleton King",color:"gray",bold:true},CustomNameVisible:1b,PersistenceRequired:1b,DeathLootTable:"nbtforge:entities/skeleton_king",equipment:{mainhand:{id:"minecraft:diamond_sword",count:1,components:{"minecraft:custom_name":{text:"Kingbreaker Overpower Sword",color:"gray",italic:false},"minecraft:enchantments":{"minecraft:sharpness":6}}},head:{id:"minecraft:golden_helmet",count:1}}}
/attribute @e[tag=skeleton_king,limit=1,sort=nearest] minecraft:max_health base set 120
/attribute @e[tag=skeleton_king,limit=1,sort=nearest] minecraft:attack_damage base set 12
/data merge entity @e[tag=skeleton_king,limit=1,sort=nearest] {Health:120f}

# 2) Save this datapack file as data/nbtforge/loot_table/entities/skeleton_king.json
{
  "type": "minecraft:entity",
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "minecraft:diamond_sword",
          "weight": 1,
          "functions": [
            {
              "function": "minecraft:set_count",
              "count": 1
            },
            {
              "function": "minecraft:set_components",
              "components": {
                "minecraft:custom_name": {
                  "text": "Kingbreaker Overpower Sword",
                  "color": "gray",
                  "italic": false
                },
                "minecraft:lore": [
                  {
                    "text": "Dropped by Skeleton King",
                    "color": "gray",
                    "italic": false
                  },
                  {
                    "text": "Overpowered boss reward from NBTForge",
                    "color": "gold",
                    "italic": false
                  }
                ],
                "minecraft:enchantments": {
                  "minecraft:sharpness": 10,
                  "minecraft:unbreaking": 5,
                  "minecraft:fire_aspect": 2,
                  "minecraft:sweeping_edge": 3
                },
                "minecraft:attribute_modifiers": [
                  {
                    "id": "nbtforge:skeleton_king_power",
                    "type": "minecraft:attack_damage",
                    "amount": 12,
                    "operation": "add_value",
                    "slot": "mainhand"
                  }
                ],
                "minecraft:rarity": "epic",
                "minecraft:enchantment_glint_override": true,
                "minecraft:custom_data": {
                  "nbtforge_boss_drop": "skeleton_king",
                  "overpower": 1
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

# 3) Optional quick test after /reload: spawn the reward without killing the boss.
/loot spawn ~ ~1 ~ loot nbtforge:entities/skeleton_king
Too long for Minecraft chat

The longest command line is 478 characters, 222 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.

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

Skeleton King начинается как именованный скелет с тегами босса, флагом постоянства и боевыми настройками.
Путь таблицы добычи — nbtforge:entities/skeleton_king, и он совпадает со значением DeathLootTable в команде призыва.
Output хранит команду призыва, путь JSON датапака и быструю проверку добычи рядом друг с другом.
Скриншот подтверждает, что Skeleton King появляется в восстановленном тестовом мире, прежде чем вы продолжите настройку наград.

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

  1. Откройте workbench Summon и выберите skeleton в качестве сущности босса.
  2. Установите видимое пользовательское имя Skeleton King и оставьте его отображаемым для QA арены.
  3. Добавьте устойчивые теги босса, чтобы атрибуты, очистка и логика наград могли нацеливаться на эту сущность.
  4. Задайте максимальное здоровье 120 и урон от атаки 12.
  5. Добавьте к данным босса DeathLootTable: "nbtforge:entities/skeleton_king".
  6. Откройте Data Pack и создайте data/nbtforge/loot_table/entities/skeleton_king.json.
  7. Настройте таблицу добычи так, чтобы из неё выпадал Kingbreaker Overpower Sword с именем, lore, enchantments, редкостью и custom_data.
  8. Сохраните команду призыва и JSON добычи вместе в Project, прежде чем Copy любой из артефактов.
  9. Сначала проверьте появление босса, затем проверьте таблицу добычи через `/loot spawn` или убийство на арене.

Сущность босса и таблица наград

У Skeleton King две раздельные обязанности. Команда призыва создаёт скелета с именем, тегами, постоянством, здоровьем, уроном от атаки и ссылкой DeathLootTable. Файл датапака по пути data/nbtforge/loot_table/entities/skeleton_king.json определяет, что игрок получит после смерти босса.

Разделение этих обязанностей упрощает отладку пресета. Если босс не появляется, проверьте Output призыва и синтаксис сущности. Если босс появляется, но ничего не дропает, проверьте пространство имён, путь к ресурсу, перезагрузку датапака и JSON таблицы добычи, прежде чем менять команду сущности.

Галерея workbench выстроена вокруг этого разделения. Первый скриншот проверяет идентичность босса, второй — ресурс награды, а скриншот вывода держит оба артефакта достаточно близко, чтобы запись Project сохраняла связь между ними.

  • ID босса: skeleton
  • Путь добычи: nbtforge:entities/skeleton_king
  • Предмет награды: Kingbreaker Overpower Sword

Безопасная проверка столкновения

Начните с чистой проверки призыва, прежде чем балансировать полный бой. Skeleton King должен появиться с ожидаемым именем и тегами в восстановленном мире, а скриншот должен показывать босса читаемо — без опоры на старых мобов или остаточные эффекты от предыдущего захвата.

После того как появление стабильно, протестируйте таблицу добычи отдельно. Быстрая проверка `/loot spawn ~ ~1 ~ loot nbtforge:entities/<id>` доказывает, что JSON способен выдать награду ещё до того, как в дело вступит боевая логика. Затем пройдите финальный сценарий арены, где настоящая смерть босса активирует тот же ресурс.

Не настраивайте здоровье, урон, эффекты, босс-бары и добычу одновременно. Внесите одно изменение, обновите запись Project, затем протестируйте скопированный артефакт. Так сломанный путь датапака не будет выглядеть как проблема с сущностью, а опечатка в сущности — как сбой добычи.

  • Сначала тест появления.
  • Затем тест JSON добычи.
  • В последнюю очередь — полная проверка убийства на арене.

Размещение столкновения

Skeleton King работает лучше всего, когда настройки арены, босс-бар, предупреждающие сообщения и таблица наград хранятся рядом с командой призыва. Это даёт ревьюерам одно место, где можно проверить, запускается ли столкновение, сообщается ли об опасности, выпадает ли запланированный предмет и убирает ли босс за собой.

Когда пресет превращается в готовый контент, перенесите длинные команды в функцию датапака и оставьте таблицу добычи в том же пространстве имён. Output статьи намеренно подробный, чтобы команду призыва и путь JSON было легко проверить перед копированием в файлы.

Чтобы сравнить со смежными примерами добычи с боссов, посмотрите пресет добычи огненного босса Blaze Emperor, пресет добычи древнего города с босса Warden Echo и пресет таблицы добычи для дропа с боссов.

FAQ

Как Skeleton King выбрасывает Kingbreaker Overpower Sword?

Команда призыва задаёт DeathLootTable как nbtforge:entities/skeleton_king. Файл датапака по пути data/nbtforge/loot_table/entities/skeleton_king.json определяет Kingbreaker Overpower Sword в качестве награды.

Можно ли вставить команду босса в чат?

Только если сгенерированная команда укладывается в лимит чата. Команды боссов обычно размещают в командном блоке для одноразовой проверки или в функции датапака для переиспользуемого контента карты.

Что проверить в первую очередь, если награда не выпадает?

Сначала проверьте путь таблицы добычи через `/loot spawn`, затем убедитесь, что в команде призыва босса всё ещё указан тот же id DeathLootTable. Большинство сбоев происходит из-за несовпадения пространства имён или пути к ресурсу.

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

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