预设

datapack预设

骷髅王 Boss 掉落压倒性剑预设

骷髅王 Boss 掉落压倒性剑预设现在是一个完整的 Boss 战利品工作流程,而不是生成的薄注释。它显示了骷髅头目、DeathLootTable 路径、datapack奖励 JSON 以及测试的游戏内头目结果,以便在遭遇地图战斗之前可以对其进行回顾。当您需要一个有保证的命名剑奖励的远程不死 Boss 并希望召唤命令和奖励表保持在相同的 Project 上下文中时,请使用它。

预设结果

骷髅王连接到 nbtforge:entities/skeleton_king 并奖励破王压倒剑。

输出

骷髅王 Boss 和战利品包

# 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.

预设截图

骷髅王一开始是一个有名字的骷髅,带有 Boss 标签、持久性和战斗调整。
loot table路径为nbtforge:entities/skeleton_king,与召唤命令DeathLootTable匹配。
Output将召唤命令、datapack JSON 路径和快速战利品测试放在一起。
在奖励调整继续之前,捕获验证了骷髅王出现在恢复的测试世界中。

构建预设

  1. 打开Summonworkbench 并选择骨架作为boss实体。
  2. 将可见的自定义名称设置为 Skeleton King 并使其在竞技场 QA 中可见。
  3. 添加稳定的 boss 标签,因此属性、清理和奖励逻辑可以针对该实体。
  4. 将最大生命值设置为 120,攻击力设置为 12。
  5. 添加DeathLootTable:“nbtforge:entities/skeleton_king”到BOSS数据。
  6. 打开Data Pack并创建data/nbtforge/loot_table/entities/XQZKEEP0ZXQ.
  7. 配置loot table以掉落名称为 lore、enchantments、稀有度和 custom_data 的 Kingbreaker Overpower Sword。
  8. 在 Copy任一神器之前,将召唤命令和战利品 JSON 一起保存在 Project 中。
  9. 首先对 Boss 生成进行烟雾测试,然后使用 `/loot spawn` 或竞技场击杀来测试loot table。

Boss实体及奖励表

骷髅王有两个独立的职责。召唤命令创建带有名称、标签、持久性、生命值、攻击力和 DeathLootTable 参考的骨架。 data/nbtforge/loot_table/entities/XQZKEEP0ZXQ 的datapack文件定义了 Boss 死亡后玩家收到的内容。

将这些职责分开可以使预设更易于调试。如果 Boss 没有生成,请检查召唤Output和实体语法。如果 Boss 生成但没有掉落任何内容,请在更改实体命令之前检查命名空间、资源路径、datapack重新加载和loot table JSON。

workbench画廊围绕该裂缝布置。第一个镜头检查 Boss 身份,第二个镜头检查奖励资源,Output镜头使两个工件保持足够接近,以便 Project 条目可以保留关系。

  • Boss ID:骷髅
  • 战利品路径:nbtforge:entities/skeleton_king
  • 奖励物品:断王压倒剑

安全地测试遭遇

在平衡全面战斗之前,先进行干净的召唤测试。骷髅王应该在恢复的世界中以预期的名称和标签出现,并且屏幕截图应该使BOSS可读,而不依赖于旧的小怪或先前捕获的剩余效果。

生成稳定后,独立测试loot table。快速的 `/loot spawn ~ ~1 ~ loot nbtforge:entities/<id>` 检查证明 JSON 可以在涉及战斗逻辑之前产生奖励。然后运行最终的竞技场路径,其中实际的 Boss 死亡会触发相同的资源。

不要同时调整生命值、伤害、效果、bossbars 和战利品。进行一项更改,更新 Project 条目,然后测试Copy 的工件。这可以防止损坏的datapack路径看起来像实体问题,并防止实体打字错误看起来像战利品失败。

  • 首先进行产卵测试。
  • 战利品 JSON 测试第二。
  • 最后进行完整的竞技场击杀测试。

遭遇安置

当竞技场设置、bossbar、警告反馈和奖励表保存在召唤命令附近时,骷髅王最适合。这为审阅者提供了一个地方来检查遭遇是否开始、传达危险、掉落预期物品以及自行清理。

当预设成为生产内容时,将长命令移至datapack函数中,并将loot table保留在同一命名空间下。文章Output故意明确,因此在 Copy到文件之前,召唤命令和 JSON 路径仍然易于审核。

对于相邻的 Boss 战利品示例,请比较 火焰皇帝火BOSS战利品预设守望者回声 boss 古城战利品预设为 Boss 掉落预设loot table

FAQ

骷髅王如何掉落破王压倒剑?

召唤命令将 DeathLootTable 设置为 nbtforge:entities/skeleton_king。 data/nbtforge/loot_table/entities/XQZKEEP1ZXQ 的datapack文件将 Kingbreaker Overpower Sword 定义为奖励。

我可以将 boss 命令粘贴到聊天中吗?

仅当生成的命令保持在聊天限制以下时。 Boss 命令通常属于用于一次性测试的command block或用于可重用地图内容的datapack功能。

如果奖励不掉,我应该先测试什么?

首先使用 `/loot spawn` 测试loot table路径,然后验证 Boss 召唤仍然引用相同的 DeathLootTable id。大多数失败来自命名空间或资源路径不匹配。

打开这个工作流

从相关 Data Pack 工作台开始,然后按你的世界调整预设字段。