この記事ではMcreator2023.3の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、スコープ付きのライフルを作ってみましょう。
一年半ほど前にYoutubeの方で紹介したのですが、Obfuscateというプラグインが現在のMcreatorのバージョンでは対応していないことと、Mcreatorのバージョンアップにより設定が少し変わったので、再度作ってみました!
この記事では、ライフル付きのスコープの作り方を解説します。
動作の紹介
こちらのショート動画で動作を紹介しています。
弾丸の作成
プラスから、アイテム、を押します。
名前を付けて、新しいアイテムを作成、を押します。
テクスチャを設定して、プロパティタブに移動します。
クリエイティブインベントリタブをCombatに、アイテムが破壊される速度を0にします。
ここはお好みで設定してもらってOKです。
保存します。
ライフルの作成
プラスから、遠距離武器、を押します。
名前を付けて、新しい遠距離武器を作成、を押します。
テクスチャを設定します。
クリエイティブインベントリタブ、アイテムのアニメーションはお好みで設定してください。
最大スタック容量を1、アイテム使用数を100に設定します。
弾丸として利用するアイテムに先ほど作った弾丸を設定します。
飛び道具タブに移動します。
弾丸のパワーを10、パーティクルの表示にチェックを入れます。
弾丸のパワーは大きい方が、玉の速度が速くてかっこよくなります。
飛び道具のテクスチャに弾丸を設定します。
保存します
オーバーレイでスコープを作成
プラスから、オーバーレイ、を押します。
名前を付けて、新しいオーバーレイを作成、を押します。
ベーステクスチャに、真ん中が抜けた黒の枠のテクスチャを設定します。
ゲーム内にオーバーレイを表示、のプラスから、プロシージャーを作成します。
名前は入っているので、そのままプロシージャーを作成、を押します。
フロー制御の中に、条件分岐があるので持ってきます。
ロジックの中に、イコールのプロシージャーブロックがあるので持ってきます。
エンティティデータの中に、スコアボードのスコアを取得するプロシージャーブロックがあるので持ってきます。
数式の中に、数字があるので持ってきます。
フロー制御の中に、戻り値を返すプロシージャーブロックがあるので持ってきます。
ロジックの中に、true/falseのプロシージャーブロックがあるので持ってきます。
このように設定します。
スコアボードのスコアの設定は、あとで別のところで行います。
キー設定を作成
スコープを掛けるか掛けないかを、Zキーを押すことで切り替えられるようにします。
プラスから、キー設定、を押します。
名前を付けて、新しいキー設定を作成、を押します。
イベントを発生させるキーにZを割り当てます。
キーが押されたとき、のプラスからプロシージャーを作成します。
ロジックの中に、アイテムの種類を判別するプロシージャーブロックがあるので持ってきます。
エンティティデータの中に、利き手に持っているアイテムを取得するプロシージャーブロックがあるので持ってきます。
マインクラフトコンポーネントの中に、アイテムを設定するプロシージャーブロックがあるので持ってきます。
このように設定します。
フロー制御の中に、もし~実行~そうでなければ~、のプロシージャーブロックがあるので持ってきます。
エンティティ管理の中に、スコアボードを設定するプロシージャーブロックがあるので持ってきます。
プレイヤープロシージャーの中にメッセージを送信するプロシージャーブロックがあるので持ってきます。
このように設定します。
Zkeyが1の時、スコープを表示します。
Zキーを押したとき、Zkeyが1ならZkeyを0に、それ以外ならZkeyを1にします。
Zキーを押したときに、どちらの状態かわかるように、rifleon/rifleoffのメッセージを送付します。
保存します。
プロシージャーを作成
ライフルを使用している間だけ、スコープを掛けるように、プロシージャーを作成していきます。
プラスから、プロシージャー、を押します。
名前を付けて、新しいプロシージャーを作成、を押します。
グローバルトリガーに、プレイヤーがアイテムを使う、を設定します。
エンティティ管理の中に、ポーション効果を付与するプロシージャーブロックがあるので持ってきます。
このように設定し、アイテムを使用した時にスコープがかかるようにします。
ポーション効果SLOWNESSをかけることで、画面を拡大することができます。
保存します。
新しいプロシージャーを作成します。
プラスから、プロシージャー、を押します。
名前を付けて、新しいプロシージャーを作成、を押します。
グローバルトリガーに、プレイヤーがアイテムの使用をやめる、を設定します。
エンティティ管理の中に。ポーション効果を削除するプロシージャーブロックがあるので持ってきます。
このように設定し、アイテムを使い終わったときに、スコープを外すようにします。
保存します。
再び新しいプロシージャーを作成します。
プラスから、プロシージャー、を押します。
名前を付けて、新しいプロシージャーを作成、を押します。
グローバルトリガーに、プレイヤーがワールドに参加した、を設定します。
このように設定します。
これにより、スコアボードがワールドに入るたびにリセットされます。
保存して、完成です。お疲れ様でした!
慣れないとなかなか作るのが大変ですが、頑張って作ってみてくださいね。