アイテムプリセット
Minecraft の属性修飾子アイテムコマンド
属性修飾子アイテムのコマンドは、なかなか厄介です。古い例は時代遅れのスロットや修飾子の形を使っていますし、わずかなミスで、意図しない場所のプレイヤーステータスが変わってしまうことがあるからです。この刷新版の記事は、現行のワークフローを対象としています。アイテムに名前を付け、読みやすい説明文 (lore) を添え、目的の修飾子を組み立て、コピーする前にスロットの挙動を確認するという流れです。ギャラリーでは、属性エディター、ツールチップに見えるテキスト、生成された出力、そして配布されたアイテムをひとつの流れに束ねていますので、コマンドを不透明なスニペットとして扱う必要はなく、プリセットをキット、ショップ、ボスドロップ、バランステストへ繰り返し再利用できます。
プリセット結果
意図した装備 (equipment) スロットでのみプレイヤーのステータスを変える、コピーできるアイテムコマンドです。
出力
属性修飾子の Give 出力
/give @p minecraft:netherite_axe[custom_name={text:"Titan Axe",color:"red",italic:false},lore=[{text:"+6 attack damage in main hand",color:"gray",italic:false}],attribute_modifiers=[{id:"nbtforge:titan_axe_damage",type:"minecraft:attack_damage",amount:6,operation:"add_value",slot:"mainhand"},{id:"nbtforge:titan_axe_speed",type:"minecraft:attack_speed",amount:-2.8,operation:"add_value",slot:"mainhand"}],custom_data={attribute_item:"titan_axe"}] 1The longest command line is 449 characters, 193 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.
プリセットのスクリーンショット
プリセットを作成
- Give を開き、ステータス変化を適用したいアイテムを選びます。
- 安定した ID、種類、量、操作、スロットを備えた attribute_modifiers を追加します。
- どのステータスが変化し、それがいつ適用されるのかをプレイヤーへ伝える説明文 (lore) を書きます。
- 出力パネルで、現行の Java コンポーネントの構文を確認します。
- スロットと数値が、意図したバランス設計と一致したことを確かめてから、コマンドをコピーします。
- キット、ショップ、ボス報酬で使う前に、想定したスロットでアイテムを実際にテストします。
スロットがうっかりした全体ステータス変化を防ぐ
修飾子のスロットは安全装置です。武器のダメージ修飾子は mainhand に属しますし、防具のステータスは対応する防具スロットに属します。スロットの意図をあいまいにしておくと、アイテムが予想外の振る舞いを見せます。
NBTForge は、修飾子の細部をひとつの出力ブロックに集めて保ち続けますので、ID、操作、量、スロットを一度にまとめて確認できます。
この確認を、ただの構文チェックではなく、バランス調整のチェックポイントとして扱ってください。修飾子が誤った手で適用されたり、別のキットの装備と重複していたり、遭遇で想定した以上のダメージをプレイヤーに与えていたりするなら、マップ上で正しく見えても設計としては誤っている可能性があります。この記事では Workbench の流れと並べてゲーム内の配布スクリーンショットを掲載していますので、テスターへ渡す前に、正確なアイテムスタックを目で確認できます。
読みやすいステータス設計
ステータスの変化をプレイヤーの言葉で説明するためには、説明文 (lore) を使ってください。コマンドのデータは Minecraft 向け、説明文 (lore) はそのアイテムを装備するかどうかを決める人に向けたものです。
バランステストでは、1 本の長い属性コマンドを繰り返し編集するのではなく、弱い版と強い版を別々に Project へ保存してください。
良い属性プリセットは、仕組みの上での意図をはっきり示します。斧がダメージを増やす代わりに攻撃速度を落とすのであれば、説明文 (lore) でそう伝え、後でコマンドを見直しやすいように修飾子 ID の名前空間を保ってください。キットが複数のステータスアイテムを使う場合は、防具、ポーション効果、モブの体力が絡んでも個々のアイテムが正しく感じられると決めつけず、同じバージョンと難易度でまとめてテストしてください。
近い系統のステータスプリセットについては、Java の攻撃速度武器プリセット と 属性と説明文 (lore) を備えた防具プリセット を見比べてください。
- ステータスを直接変えるには、add_value を使ってください。
- 修飾子の ID は安定させ、名前空間を保ってください。
- 攻撃速度とダメージは、必ずまとめてテストしてください。
プリセットを実際の Project に組み込む
Minecraft の属性修飾子アイテムコマンドは、ただコピーした文字列ではなく、検証済みの出発点として扱ってください。出力がいったんきちんと動いたら、はっきりした Project 名で保存し、対象の Minecraft バージョンを書き留め、スコアボード、ボスバー、ルートテーブル、リセット行といった関連する設定コマンドの近くにプリセットを置いておきます。
プリセットをマップやサーバー、Command Pack へ公開する前には、動作中の Workbench だけからではなく、コピーした成果物自体から実行してください。そうすれば、欠けている依存関係、古いセレクター、誤ったエディションの選択、そしてローカルのテスト状態がすでに整っていたからこそ動いていただけのコマンドに気付けます。
- 選択した Edition と Version は、共有するコマンドと一緒に保ってください。
- ダメージ、キル、クリア、テレポートを使う前に、無害なコマンドでセレクターをテストしてください。
- 長いコマンドをチャットに貼り付けるのではなく、Project や関数形式のワークフローへ移してください。
- エンティティ、アイテムコンポーネント、passenger、データパックのリソースを書き換えたあとは、警告をもう一度確認してください。
FAQ
新しい Java バージョンで、古い属性修飾子コマンドが失敗するのはなぜですか。
属性修飾子の構文とスロットの扱いが、バージョンファミリーをまたいで変わっているためです。対象の Java バージョンを選び直してから、アイテムを組み直してください。
1 つのアイテムに複数の修飾子を入れても構いませんか。
はい、構いません。各修飾子の ID を一意に保ち、それぞれのスロットが意図した装備 (equipment) の挙動と一致するようにしてください。
このプリセットは、いつ Command Pack の一部にするべきですか。
出力が設定行、リセットコマンド、ルートテーブルのリソース、スコアボードの状態、または繰り返しのテストに依存する場合は、Command Pack のエントリにしてください。単発の安全なコマンドであれば、引き続き出力から直接コピーして構いません。
このワークフローを開く
関連する Give ワークベンチから始め、ワールドに合わせてプリセット項目を調整します。