この記事ではMcreator2023.4の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
クロスボウの場合は拡散を付ければ3本発射されるのですが、弓は拡散を付けても1本しか発射されないんですね。
今回は、拡散のエンチャントの付けた弓で矢を打った時に、3方向に飛んでいくようにします。
この記事では、弓の速度の取得と、3方向に弓を打つ方法を解説します。
発射した弓の速度を取得する
プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
トリガーを、エンティティがスポーンする、にします。
フロー制御から、もし~実行、を持ってきます。
ロジックから、図のプロシージャブロックを持ってきます。
ワールドプロシージャのアクションから、範囲内のエンティティに対して実行するプロシージャブロックを持ってきます。
アイテムプロシージャのデータから、エンチャントがあるかどうかを持ってきます。
アイテムプロシージャのアクションから、NBTタグを持ってきます。
エンティティプロシージャのデータから、利き手にあるアイテム、を持ってきます。
エンティティプロシージャのデータから、射撃力を取得、を持ってきます。
マインクラフトコンポーネントの中から、アイテムを指定するプロシージャブロックを持ってきます。
このように設定し、スポーンしたエンティティが矢の場合、拡散のエンチャントを付けた弓を持っているエンティティが近くにいれば、弓に発射速度を記憶させます。
弓を3本発射する
弓を発射するプロシージャを作成します。
プラスから、プロシージャを選択。
名前を入れて、プロシージャを作成、を押します。
トリガーを、プレーヤーのチック更新時、にします。
ロジックから、数値の比較を持ってきます。
アイテムプロシージャのデータから、NBTタグを取得するプロシージャブロックを持ってきます。
このように設定し、NBTタグに数値が入った時に実行するようにします。
前に作成した矢を扇状に発射するプロシージャを持ってきます。
こちらの記事に作り方を記載しています。
赤で囲んだ部分だけ使用します。不要な部分はゴミ箱に捨てておきます。
Shootの部分を展開し、speedのところにNBTタグの数値を設定します。もう一つの方も同様に設定します。
一番後ろに、NBTタグの中身を0にリセットします。
保存して完成です。
このようにエンチャントされた弓で、3本発射できるようになります。
どうしても真ん中の矢より両端が少し遅れてしまいますが、許容範囲かな。