この記事ではMcreator2024.2の情報を執筆しています。
こんにちは。もえやです。3年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、ワープブロックですが、GUIを開いていき先を選べるようにしてみました!
グローバル変数を作成する
ワープ先の座標を保存するグローバル変数を作成します。
変数タブに移動し、左上のプラスから、変数を作成します。
変数名を入れ、変数の種類をnumber、変数のスコープをGLOBAL_MAPにし、OKを押します。
今回は、3か所登録できるようにしたので、xyz各方向3つずつ用意しました。
プロシージャを作成する
グローバル変数の数値を表示するプロシージャの作成
Mod要素タブに移動し、プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
フロー制御から、テキストを返すプロシージャブロックを持ってきます。
文字から、数値をテキストに変換するプロシージャブロックを持ってきます。
カスタム変数から、数値を取得するプロシージャブロックを持ってきます。
このように設定し、グローバル変数をテキストにして返すようにします。
グローバル変数の数だけ作成します。
ブロックの座標をグローバル変数に代入するプロシージャの作成
プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
カスタム変数から、変数を設定するプロシージャブロックを持ってきます。
マインクラフトコンポーネントの中から、xyzを持ってきます。
このように設定し、変数にブロックの座標を代入できるようにします。
ワープボタンを表示するプロシージャの作成
プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
フロー制御から、もし~実行を持ってきます。
フロー制御から、論理値を返すプロシージャブロックを持ってきます。
ロジックから、trueとブロックを判別するプロシージャブロックを持ってきます。を持ってきます。
マインクラフトコンポーネントの中から、ブロックを選択するプロシージャブロックを持ってきます。
ブロックプロシージャのデータから、指定座標のブロックを取得するプロシージャブロックを持ってきます。
このように設定し、指定座標にあるブロックがワープブロックならば、trueを返すようにします。
ワープするプロシージャの作成
プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
プレイヤープロシージャのアクションから、GUIを閉じるプロシージャブロックを持ってきます。
エンティティプロシージャのアクションから、場所を設定するプロシージャブロックを持ってきます。
このように設定し、GUIを閉じ、指定位置にワープするようにします。
登録した座標をリセットするプロシージャの作成
プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
このように設定し、作成したグローバル変数をすべて0にします。
GUIの作成
プラスから、GUIを作成します。
名前を入れて、新しいGUIを作成、を押します。
テクスチャのプラスを押し、テキストにグローバル変数を返すプロシージャを設定し、変更を保存します。
3方向3か所分を同じように作成し、配置します。
画像ボタンのプラスを押し、画像ボタンエディタを開きます。
テクスチャを設定し、ボタンをクリックしたとき、に座標を登録するプロシージャを設定します。
同じく画像ボタンのプラスから画像ボタンエディタを開き、ボタンを表示する条件、ボタンをクリックした時にそれぞれプロシージャを設定し変更を保存します。
3か所分配置します。
ボタンのプラスから、ボタンエディタを開き、テキストを設定し、ボタンをクリックした時、に座標をリセットするプロシージャを設定します。
すべて配置し終わったら保存しておきます。
ワープブロックを作る
プラスから、ブロックを作成します。
名前を入れて、新しいブロックを作成、を押します。
テクスチャを設定し、プロパティに移動します。
クリエイティブインベントリタブを設定し、ブロックエンティティに移動します。
一番上のチェックを入れ、GUIを右クリックで開く、を有効にします。
真ん中のチェックを外して、保存したら完成です。
赤いボタンを押すとブロックの座標が保存され、緑のボタンを押すとその座標にワープできるようになります。