この記事ではMcreator2024.2の情報を執筆しています。
こんにちは。もえやです。3年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、キーバインドで開くGUIを設定し、スロットに入れたものが保存されるようにしてみました!
これで荷物を運ぶのが楽になりますね!
変数を作成する
まずは、スロットの内容を保存するグローバル変数を作成します。
変数タブに移動し、新しい変数を追加を押します。
変数名を入れ、変数の種類をitemstackに、変数のスコープをPLAYER_PERSISTENTにします。
複数人で使用する予定がなければGROBAL_MAPとかでも大丈夫です。
スロットの数だけ用意します。今回は3つにしました。
GUIを作成する
Mod要素に戻って、プラスから、GUIを作成します。
名前を入れて、新しいGUIの作成、を押します。
入力スロットのプラスを押して、入力スロットエディタを開きます。
外部インベントリにバインドされていない~のチェックを外しておきます。
変更を保存し、配置します。
必要な数のスロットを配置したら、右上のGUIのタイプをGUI with slotsにします。
左下のGUIプロシーじゃトリガーを展開します。
GUIが閉じられたときのプロシージャを作成する
GUIが閉じられたとき、のプラスから、プロシージャを作成します。
カスタム変数から、アイテムスタックを設定、を持ってきます。
スロット&GUIプロシージャから、GUIのスロットからアイテムを取得するプロシージャブロックを持ってきます。
このように各スロットに入っているアイテムを、グローバル変数に格納するようにします。
GUIが開かれたときのプロシージャを作成する
次に、GUIが開かれたとき、のプラスから、プロシージャを作成します。
フロー制御から、一定時間後に実行するプロシージャブロックを持ってきます。
スロット&GUIプロシージャから、GUIのスロットにアイテムをセットするプロシージャブロックを持ってきます。
カスタム変数から、グローバル変数のアイテムを取得するプロシージャブロックを持ってきます。
このように設定し、GUIが開かれた1ティック後にグローバル変数の中のアイテムをスロットに設定するようにします。
キーバインドを作成する
プラスから、キー設定を作成します。
名前を入れて、新しいキー設定を作成、を押します。
キーを設定し、キーが押されたとき、のプラスからプロシージャを作成します。
プレイヤープロシージャのアクションから、GUIを開くプロシージャブロックを持ってきます。
このように設定し、キーを押したときにGUIが開くようにします。
保存して完成です。
キーで開いたGUIのスロットの中身が保存されるようになりました!