数据包预设
骷髅王 Boss 压制之剑掉落预设
骷髅王压制之剑掉落预设现在是一套完整的 Boss 战利品工作流,而不再只是机器生成的一段单薄说明。它同时展示骷髅 Boss、DeathLootTable 路径、数据包奖励 JSON 以及经过验证的游戏内 Boss 结果,这样在遭遇进入实战地图之前就可以先完整复盘。当你需要一只远程不死系 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_kingThe 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
.mcfunctionfor a reusable datapack: save the line without the leading slash atsaves/<world>/datapacks/<pack>/data/<ns>/function/<name>.mcfunctionwith a minimalpack.mcmeta, run/reload, then run/function <ns>:<name>. Do not paste.mcfunctioncontent into chat.
预设截图
构建预设
- 打开召唤 Workbench,并选择 skeleton 作为 Boss 实体。
- 将可见的自定义名称设为 Skeleton King,并保持名牌在竞技场 QA 中可见。
- 添加稳定的 boss 标签,让属性、清理和奖励逻辑都能精准锁定该实体。
- 把最大生命值设为 120,攻击力设为 12。
- 在 Boss 数据中加入 DeathLootTable:"nbtforge:entities/skeleton_king"。
- 打开 Data Pack,并创建 data/nbtforge/loot_table/entities/skeleton_king.json。
- 配置战利品表,使其掉落附带名称、描述文本 (lore)、附魔、稀有度和 custom_data 的破王压制之剑。
- 在复制任何一件工件之前,先将召唤命令与战利品 JSON 一起保存在 Project 中。
- 先对 Boss 召唤做冒烟测试,再用 `/loot spawn` 或竞技场击杀来测试战利品表。
Boss 实体与奖励表
骷髅王分为两项独立的职责。召唤命令负责生成带有名称、标签、持久化、生命值、攻击力以及 DeathLootTable 引用的骷髅;而 data/nbtforge/loot_table/entities/skeleton_king.json 这份数据包文件则定义 Boss 死亡后玩家具体能获得什么。
把这两项职责分开能让预设更易于调试。如果 Boss 没有生成,先检查召唤的输出和实体语法;如果 Boss 生成了但什么都没掉落,则在改动实体命令之前,先核对命名空间、资源路径、数据包是否已重新加载以及战利品表 JSON。
Workbench 画廊正是围绕这条分界线来排版的。第一张图聚焦 Boss 身份,第二张图聚焦奖励资源,而输出截图则把两件工件放得足够近,这样 Project 条目就能完整保留两者之间的关联。
- Boss ID:skeleton
- 战利品路径:nbtforge:entities/skeleton_king
- 奖励物品:破王压制之剑
安全地测试遭遇
在调整完整战斗之前,先做一次干净的召唤测试。骷髅王应在还原后的世界里以预期的名称和标签出现,截图应让 Boss 清晰可读,而不被旧怪物或上次截图遗留的特效干扰。
召唤稳定之后,再独立测试战利品表。一次快速的 `/loot spawn ~ ~1 ~ loot nbtforge:entities/<id>` 检查可以在涉及战斗逻辑之前,先证明 JSON 能正常产出奖励。然后再走最终的竞技场流程,让真正的 Boss 死亡去触发同一份资源。
不要同时调整生命值、伤害、效果、Boss 血条和战利品。每次只改一项,更新 Project 条目,然后测试复制出的工件。这样可以避免数据包路径出错被误判为实体问题,也能避免实体打字错误被误判为战利品故障。
- 先做召唤测试。
- 再做战利品 JSON 测试。
- 最后做完整的竞技场击杀测试。
遭遇布置
当竞技场设置、Boss 血条、警告反馈和奖励表都保存在召唤命令附近时,骷髅王的体验最理想。这能让审阅者在同一个位置就能检查遭遇是否启动、是否传达了危险、是否掉落预期物品以及是否能自行清理。
当预设进入正式内容阶段,可以把长命令搬进数据包函数,并让战利品表保持在同一个命名空间下。文章的输出之所以刻意写得很明确,就是为了让召唤命令和 JSON 路径在被复制进文件之前,仍然便于审核。
想看相邻的 Boss 战利品示例,可比较 烈焰皇帝火焰 Boss 战利品预设、监守者回响 Boss 远古城市战利品预设 以及 Boss 掉落战利品表预设。
FAQ
骷髅王是如何掉落破王压制之剑的?
召唤命令将 DeathLootTable 设为 nbtforge:entities/skeleton_king;data/nbtforge/loot_table/entities/skeleton_king.json 这份数据包文件则把破王压制之剑定义为奖励。
可以把 Boss 命令直接粘到聊天里吗?
仅当生成出来的命令仍在聊天长度限制以内时才可以。Boss 命令通常应放进命令方块用于一次性测试,或放进数据包函数用于可重复使用的地图内容。
如果奖励没有掉落,应该先测试什么?
先用 `/loot spawn` 测试战利品表路径,然后确认 Boss 召唤仍然引用同一个 DeathLootTable id。大部分故障来自命名空间或资源路径不一致。
打开这个工作流
从相关 Data Pack 工作台开始,然后按你的世界调整预设字段。