データパックプリセット
ラヴェジャーウォーロード ボスアリーナルートプリセット
ラヴェジャーウォーロードのボスアリーナルートプリセットは、薄い生成メモにとどまらず、ボスとルートをひと続きで扱える完成度の高いワークフローへと整えました。ラヴェジャー系ボス、DeathLootTable のパス、データパックの報酬 JSON、検証済みのゲーム内ボスの結果を一度に並べて確認できるため、マップ戦闘に組み込む前に遭遇全体の整合性を見直せます。アリーナや前哨基地、Command Pack の遭遇に組み込みやすいレイド寄りのボスを用意したいときに有用で、召喚コマンドと報酬テーブルを同じ Project コンテキストの中で一緒に管理し続けたい場合に向いています。
プリセット結果
ラヴェジャーウォーロードが nbtforge:entities/ravager_warlord に紐付き、撃破時にウォーロード・オーバーパワー・ソードを報酬として与えます。
出力
ラヴェジャーウォーロードのボスとルートのバンドル
# 1) Summon the boss. This entity points at the custom loot table.
/summon minecraft:ravager ~ ~ ~ {Tags:["nbtforge_boss","ravager_warlord"],CustomName:{text:"Ravager Warlord",color:"gold",bold:true},CustomNameVisible:1b,PersistenceRequired:1b,DeathLootTable:"nbtforge:entities/ravager_warlord",equipment:{mainhand:{id:"minecraft:netherite_sword",count:1,components:{"minecraft:custom_name":{text:"Warlord Overpower Sword",color:"gold",italic:false},"minecraft:enchantments":{"minecraft:sharpness":6}}}}}
/attribute @e[tag=ravager_warlord,limit=1,sort=nearest] minecraft:max_health base set 180
/attribute @e[tag=ravager_warlord,limit=1,sort=nearest] minecraft:attack_damage base set 18
/data merge entity @e[tag=ravager_warlord,limit=1,sort=nearest] {Health:180f}
# 2) Save this datapack file as data/nbtforge/loot_table/entities/ravager_warlord.json
{
"type": "minecraft:entity",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "minecraft:netherite_sword",
"weight": 1,
"functions": [
{
"function": "minecraft:set_count",
"count": 1
},
{
"function": "minecraft:set_components",
"components": {
"minecraft:custom_name": {
"text": "Warlord Overpower Sword",
"color": "gold",
"italic": false
},
"minecraft:lore": [
{
"text": "Dropped by Ravager Warlord",
"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:ravager_warlord_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": "ravager_warlord",
"overpower": 1
}
}
}
]
}
]
}
]
}
# 3) Optional quick test after /reload: spawn the reward without killing the boss.
/loot spawn ~ ~1 ~ loot nbtforge:entities/ravager_warlordThe longest command line is 437 characters, 181 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.
プリセットのスクリーンショット
プリセットを作成
- Summon Workbench を開き、ボスのエンティティとしてラヴェジャーを選択します。
- 表示名のカスタム名を Ravager Warlord に設定し、アリーナ QA でも判読できるようにします。
- 安定したボス用タグを追加し、属性付与・クリーンアップ・報酬処理が同じエンティティを参照できるようにします。
- 最大体力を 180 に、攻撃ダメージを 18 に設定します。
- DeathLootTable:「nbtforge:entities/ravager_warlord」をボスデータに追記します。
- データパックを開き、data/nbtforge/loot_table/entities/ravager_warlord.json を作成します。
- 名前、説明文 (lore)、エンチャント、レアリティ、custom_data 付きのウォーロード・オーバーパワー・ソードがドロップするようルートテーブルを構成します。
- アーティファクトをコピーする前に、召喚コマンドとルート JSON をひとつの Project にまとめて保存します。
- まずボスの出現をスモークテストし、その後 `/loot spawn` またはアリーナでの撃破でルートテーブルを検証します。
ボスのエンティティと報酬テーブル
ラヴェジャーウォーロードは、責務が明確に 2 つに分かれています。召喚コマンドは、名前・タグ・永続化・体力・攻撃ダメージ・DeathLootTable 参照を備えたラヴェジャーを生成します。一方、data/nbtforge/loot_table/entities/ravager_warlord.json のデータパックファイルは、ボス撃破後にプレイヤーが受け取る内容を定義します。
この役割分担を保っておくと、プリセットのデバッグが格段に楽になります。ボスが出現しない場合は召喚コマンドの出力とエンティティ構文を確認し、ボスは出現するのに何もドロップしない場合は、エンティティ側のコマンドを直す前に名前空間、リソースパス、データパックの再読み込み、ルートテーブル JSON を点検してください。
Workbench のギャラリーもこの分割を意識した構成にしています。1 枚目でボスの ID を、2 枚目で報酬リソースを確認し、出力ショットでは Project エントリ内で両者の関連が崩れないよう、両方を近い位置にまとめて表示しています。
- ボス ID: ラヴェジャー
- ルートパス: nbtforge:entities/ravager_warlord
- 報酬アイテム: ウォーロード・オーバーパワー・ソード
遭遇を安全に検証する
戦闘全体の調整に入る前に、まずはきれいな召喚テストから始めます。復元したワールドで、ラヴェジャーウォーロードが想定どおりの名前とタグを持って出現することを確認しましょう。スクリーンショットを撮っておけば、過去の Mob や残ったエフェクトに紛れることなく、ボスを判別しやすくなります。
出現が安定したら、ルートテーブルを単独で検証します。`/loot spawn ~ ~1 ~ loot nbtforge:entities/<id>` を実行する簡単なチェックで、戦闘ロジックを挟まなくても JSON が報酬を吐き出せることを確認できます。最後に、実際のボス撃破で同じリソースがトリガーされるかをアリーナで通しで検証します。
体力、ダメージ、エフェクト、ボスバー、ルートを一度にまとめて触らないでください。変更は 1 か所ずつ加えて Project エントリを更新し、コピーしたアーティファクトをテストする運用にしておくと、データパック側のパス不一致がエンティティの不具合に見えたり、エンティティ側のタイポがルートの失敗に見えたりといった混同を避けられます。
- 最初は出現テスト。
- 次にルート JSON テスト。
- 最後にアリーナでの完全な撃破テスト。
遭遇全体の配置
ラヴェジャーウォーロードは、アリーナのセットアップ、ボスバー、警告フィードバック、報酬テーブルをすべて召喚コマンドの近くに保存しておくと、もっとも扱いやすくなります。こうしておけば、レビュー担当者が、遭遇が始まったか、危険を伝えられたか、想定どおりのアイテムを落としたか、後始末まで済んだか、を 1 か所で確認できます。
プリセットを実運用のコンテンツに昇格させる段階では、長いコマンドはデータパックの関数に逃がし、ルートテーブルは同じ名前空間の下に揃えて保持します。記事の出力をあえて明示的に書き出しているのは、ファイルにコピーする前に召喚コマンドと JSON パスを目視で監査できるようにするためです。
近い系統のボスとルートの作例は、ブレイズエンペラーファイアボスルートプリセット、ウォーデンエコー ボス古代都市ルートプリセット、ボスドロップ用ルートテーブルプリセット を見比べてみてください。
FAQ
ラヴェジャーウォーロードはどのようにしてウォーロード・オーバーパワー・ソードをドロップしますか?
召喚コマンドが DeathLootTable を nbtforge:entities/ravager_warlord に設定します。data/nbtforge/loot_table/entities/ravager_warlord.json のデータパックファイル側で、報酬としてウォーロード・オーバーパワー・ソードを定義しています。
ボスのコマンドをチャットに貼り付けてもよいですか?
生成されたコマンドがチャットの文字数制限を下回っている場合に限ります。ボスのコマンドは通常、単発のテストならコマンドブロック、再利用するマップコンテンツならデータパック関数に置くのが適しています。
報酬がドロップしないときは、まず何を確認すべきですか?
最初に `/loot spawn` でルートテーブルのパスを単独で検証し、その後にボスの召喚コマンドが同じ DeathLootTable の ID を参照しているかを確認します。失敗の大半は、名前空間かリソースパスのズレが原因です。
このワークフローを開く
関連する Data Pack ワークベンチから始め、ワールドに合わせてプリセット項目を調整します。