【投擲アイテム】

はじめに

ここでご紹介させて頂く投擲アイテムというのは、トライデントやウインドチャージなどのように手に持って投げるアイテムの事を指しています。
以降ではcomponentsブロックのJSONデータの内容を「汎用ブロック」「アニメーション設定」「投擲設定」の3つのパートに分けて投擲(とうてき)アイテムの作り方をご紹介します。

※基本的な部分は▶ダミーアイテムのページでダミーアイテムが実装済みである事を前提で進めていきます。
※「汎用ブロック」とは、上記ページの「コンポーネント定義」の項目でご紹介させて頂いたcomponentsブロックの便宜上の呼称です。

定義ファイルの内容

以下のファイルはダミーアイテムの実装を元に必要な定義を追加したものです。
{
    "format_version": "1.20.50",
    "minecraft:item": {
        "description": {
            "identifier": "customize:dummy_item",
            "menu_category": {
                "category": "items"
            }
        },
        "components": {

            // 汎用ブロック -----START
            "minecraft:icon": {
                "texture": "dummy_item"
            },
            "minecraft:display_name": {
                "value": "item.customize:dummy_item.name"
            },
            "minecraft:can_destroy_in_creative": false,
            "minecraft:hand_equipped": false,
            "minecraft:glint": true,
            // 汎用ブロック -----END

            // アニメーション設定 -----START
            "minecraft:use_animation": "spear",
            "minecraft:use_modifiers": {
                "use_duration": 1.6,
                "movement_modifier": 0.35
            },
            // アニメーション設定 -----END

            // 投擲設定 -----START
            "minecraft:projectile": {
                "projectile_entity": "minecraft:ender_pearl"
            },
            "minecraft:throwable": {
                "do_swing_animation": false,
                "launch_power_scale": 1.6,
                "max_launch_power": 1.6,
                "scale_power_by_draw_duration": true,
                "max_draw_duration": 1.6,
                "min_draw_duration": 0.5
            },
            "minecraft:cooldown": {
                "category": "dummy_item",
                "duration": 0.1
            }
            // 投擲設定 -----END

        }
    }
}
                    
上記のコメントのように、大きく分けて「汎用ブロック」「アニメーション設定」「投擲設定」の3つのパートに分けています。
以下ではパート分けしたそれぞれの内容をみていきます。

汎用ブロック


・minecraft:icon

texture(="dummy_item")
テクスチャファイルの所在を表すキーを設定しています。

・minecraft:display_name

value(="item.customize:dummy_item.name")
以下の>> 多言語設定の項目で設定しているキーの名前を設定しています。
この多言語設定で登録されているキーの値がアイテム名として表示されます。

・minecraft:can_destroy_in_creative(=false)

クリエイティブモード時にブロックを壊さないようにfalseを設定しています。

・minecraft:hand_equipped(=false)

装備品ではないのでfalseを設定しています。

・minecraft:glint(=true)

カスタムアイテムである事を表現するため、レンダリングがかかるようにtrueを設定しています。

アニメーション設定

アニメーションの指定方法の詳細については▶アニメーションの種類▶定義が必要なアニメーションページをご覧ください。

・minecraft:use_animation(="spear")

アニメーションの種類を指定します。
今回はトライデントと同じように投げるアイテムなのでspearを指定しています。

・minecraft:use_modifiers

アイテムを使用するまでにかかる時間を指定します。
▶食料アイテムの設定を流用しています。

投擲設定


・minecraft:projectile

発射体のエンティティを指定します。
projectile_entity(="minecraft:ender_pearl")
今回はネイティブアイテムのエンダーパールを指定しています。
※発射体としてカスタムエンティティを指定する方法もあります。詳しい作り方については▶発射体エンティティのページをご覧ください。

・minecraft:throwable

各種投擲用の設定項目を指定します。
do_swing_animation(=false)
アイテム投擲時のネイティブアニメーション再生有無を設定します。
今回はfalseを設定していますが、trueにするとuse_animationとは異なるアニメーションが以下のように再生されます。

▼一人称
一人称視点での投擲アニメーション

▼三人称
三人称視点での投擲アニメーション

use_animationと同時に指定してしまうと動作が混同しておかしな動きになるので、この設定項目を使う場合ははずしておきましょう。

launch_power_scale(=1.6)
投擲の威力を数値で設定します。

max_launch_power(=1.6)
投擲アイテムを発射するための最大威力を設定します。
launch_power_scaleの数値を大きくしても、ここで設定した最大値は超えないように丸められるようです。

scale_power_by_draw_duration(=true)
チャージ時間に応じて投げの威力が増加するかどうかを設定します。
trueの場合、長く押し続けるほど放した時のパワーが大きくなり、アニメーションのuse_modifiers設定に関わらず右クリック状態を解除した時点で発射されます。

max_draw_duration(=1.6)
投擲可能なアイテムを描画するための最大期間(恐らく秒数)を設定します。
min_draw_durationとのセットで最小期間~最大期間を設定すると、この期間に右クリック状態を解除した時点で投擲されるようです。

min_draw_duration(=0.5)
投擲可能なアイテムを描画するための最小期間(恐らく秒数)を設定します。
max_draw_durationとのセットで最小期間~最大期間を設定すると、この期間に右クリック状態を解除した時点で投擲されるようです。
この値が低すぎるとあまり勢いをつけずに投げる事になるので、自分に当たってダメージを受ける事があります。

・minecraft:cooldown

アイテムのクールダウン時間を指定します。
このブロックを設定していると、投擲物発射後のクールダウン時間内では再投擲できなくなります。
また、右クリック状態を長押ししている間も投擲物が発射されません。
category(="dummy_item")
このアイテムのクールダウンの種類を文字列で設定します。

duration(=0.1)
一致するカテゴリを持つアイテムが再び使用可能になるまでのクールダウン時間(秒単位)を設定します。

多言語設定

カスタムエンティティの場合と同様に以下のファイルでアイテム名を定義しています。
item.customize:dummy_item.name=ダミーアイテム
                    


おわりに

完成イメージは次の通り。
完成形の投擲アニメーション

ここでご紹介させて頂いた作り方は以下のアイテムの実装時に応用しています。
▶召雷の魔石
▶ホバーユニット構成アイテム