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