プリセット

データパックプリセット

トライアルチャンピオン ボス報酬剣プリセット

トライアルチャンピオンのボス報酬剣プリセットは、薄い生成メモにとどまらず、ボスとルートをひと続きで扱える完成度の高いワークフローへと整えました。ブリーズ系ボス、DeathLootTable のパス、データパックの報酬 JSON、検証済みのゲーム内ボスの結果を一度に並べて確認できるため、マップ戦闘に組み込む前に遭遇全体の整合性を見直せます。より大きなデータパックの軸となる報酬剣を備えた、トライアルチャンバー風のボスフローを用意したいときに有用で、召喚コマンドと報酬テーブルを同じ Project コンテキストの中で一緒に管理し続けたい場合に向いています。

プリセット結果

トライアルチャンピオンが nbtforge:entities/trial_champion に紐付き、撃破時にチャンピオン・オーバーパワー・ソードを報酬として与えます。

出力

トライアルチャンピオンのボスとルートのバンドル

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

# 2) Save this datapack file as data/nbtforge/loot_table/entities/trial_champion.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": "Champion Overpower Sword",
                  "color": "blue",
                  "italic": false
                },
                "minecraft:lore": [
                  {
                    "text": "Dropped by Trial Champion",
                    "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:trial_champion_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": "trial_champion",
                  "overpower": 1
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

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

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

プリセットのスクリーンショット

トライアルチャンピオンは、ボス用のタグ、永続化、戦闘パラメーターを与えた名前付きのブリーズとして組み立てます。
ルートテーブルのパスは nbtforge:entities/trial_champion で、召喚コマンドの DeathLootTable と一致させます。
出力には、召喚コマンド、データパックの JSON パス、簡易ルートテストの 3 点をひとまとめに保管しておきます。
復元したテストワールドにトライアルチャンピオンが正しく出現していることをスクリーンショットで確認してから、報酬の調整に進みます。

プリセットを作成

  1. Summon Workbench を開き、ボスのエンティティとしてブリーズを選択します。
  2. 表示名のカスタム名を Trial Champion に設定し、アリーナ QA でも判読できるようにします。
  3. 安定したボス用タグを追加し、属性付与・クリーンアップ・報酬処理が同じエンティティを参照できるようにします。
  4. 最大体力を 135 に、攻撃ダメージを 12 に設定します。
  5. DeathLootTable:「nbtforge:entities/trial_champion」をボスデータに追記します。
  6. データパックを開き、data/nbtforge/loot_table/entities/trial_champion.json を作成します。
  7. 名前、説明文 (lore)、エンチャント、レアリティ、custom_data 付きのチャンピオン・オーバーパワー・ソードがドロップするようルートテーブルを構成します。
  8. アーティファクトをコピーする前に、召喚コマンドとルート JSON をひとつの Project にまとめて保存します。
  9. まずボスの出現をスモークテストし、その後 `/loot spawn` またはアリーナでの撃破でルートテーブルを検証します。

ボスのエンティティと報酬テーブル

トライアルチャンピオンは、責務が明確に 2 つに分かれています。召喚コマンドは、名前・タグ・永続化・体力・攻撃ダメージ・DeathLootTable 参照を備えたブリーズを生成します。一方、data/nbtforge/loot_table/entities/trial_champion.json のデータパックファイルは、ボス撃破後にプレイヤーが受け取る内容を定義します。

この役割分担を保っておくと、プリセットのデバッグが格段に楽になります。ボスが出現しない場合は召喚コマンドの出力とエンティティ構文を確認し、ボスは出現するのに何もドロップしない場合は、エンティティ側のコマンドを直す前に名前空間、リソースパス、データパックの再読み込み、ルートテーブル JSON を点検してください。

Workbench のギャラリーもこの分割を意識した構成にしています。1 枚目でボスの ID を、2 枚目で報酬リソースを確認し、出力ショットでは Project エントリ内で両者の関連が崩れないよう、両方を近い位置にまとめて表示しています。

  • ボス ID: ブリーズ
  • ルートパス: nbtforge:entities/trial_champion
  • 報酬アイテム: チャンピオン・オーバーパワー・ソード

遭遇を安全に検証する

戦闘全体の調整に入る前に、まずはきれいな召喚テストから始めます。復元したワールドで、トライアルチャンピオンが想定どおりの名前とタグを持って出現することを確認しましょう。スクリーンショットを撮っておけば、過去の Mob や残ったエフェクトに紛れることなく、ボスを判別しやすくなります。

出現が安定したら、ルートテーブルを単独で検証します。`/loot spawn ~ ~1 ~ loot nbtforge:entities/<id>` を実行する簡単なチェックで、戦闘ロジックを挟まなくても JSON が報酬を吐き出せることを確認できます。最後に、実際のボス撃破で同じリソースがトリガーされるかをアリーナで通しで検証します。

体力、ダメージ、エフェクト、ボスバー、ルートを一度にまとめて触らないでください。変更は 1 か所ずつ加えて Project エントリを更新し、コピーしたアーティファクトをテストする運用にしておくと、データパック側のパス不一致がエンティティの不具合に見えたり、エンティティ側のタイポがルートの失敗に見えたりといった混同を避けられます。

  • 最初は出現テスト。
  • 次にルート JSON テスト。
  • 最後にアリーナでの完全な撃破テスト。

遭遇全体の配置

トライアルチャンピオンは、アリーナのセットアップ、ボスバー、警告フィードバック、報酬テーブルをすべて召喚コマンドの近くに保存しておくと、もっとも扱いやすくなります。こうしておけば、レビュー担当者が、遭遇が始まったか、危険を伝えられたか、想定どおりのアイテムを落としたか、後始末まで済んだか、を 1 か所で確認できます。

プリセットを実運用のコンテンツに昇格させる段階では、長いコマンドはデータパックの関数に逃がし、ルートテーブルは同じ名前空間の下に揃えて保持します。記事の出力をあえて明示的に書き出しているのは、ファイルにコピーする前に召喚コマンドと JSON パスを目視で監査できるようにするためです。

近い系統のボスとルートの作例は、ブレイズエンペラーファイアボスルートプリセットウォーデンエコー ボス古代都市ルートプリセットボスドロップ用ルートテーブルプリセット を見比べてみてください。

FAQ

トライアルチャンピオンはどのようにしてチャンピオン・オーバーパワー・ソードをドロップしますか?

召喚コマンドが DeathLootTable を nbtforge:entities/trial_champion に設定します。data/nbtforge/loot_table/entities/trial_champion.json のデータパックファイル側で、報酬としてチャンピオン・オーバーパワー・ソードを定義しています。

ボスのコマンドをチャットに貼り付けてもよいですか?

生成されたコマンドがチャットの文字数制限を下回っている場合に限ります。ボスのコマンドは通常、単発のテストならコマンドブロック、再利用するマップコンテンツならデータパック関数に置くのが適しています。

報酬がドロップしないときは、まず何を確認すべきですか?

最初に `/loot spawn` でルートテーブルのパスを単独で検証し、その後にボスの召喚コマンドが同じ DeathLootTable の ID を参照しているかを確認します。失敗の大半は、名前空間かリソースパスのズレが原因です。

このワークフローを開く

関連する Data Pack ワークベンチから始め、ワールドに合わせてプリセット項目を調整します。