この記事ではMCreator2025.1の情報を執筆しています。
こんにちは、もえやです。3年ほど前からMCreatorの制作動画をYoutubeにアップしています。
今回は、前回作ったものに追加で、アイテムも設定時のものが保存されるようにします。
前回の記事に追加していきます。前回の記事はこちら
グローバル変数を追加
変数タブに移動し、インベントリの数のnumberとstringの変数を追加します。

ブロックを右クリックした時のプロシージャに追加する
前回作ったブロックを開き、トリガーに移動します。

ブロックが右クリックされた時、のペンのマークを押して、前回作ったプロシージャを開きます。

ローカル変数を追加します。stringとitemstackで1つずつ、numberを3つ作ります。

カスタム変数から、値を設定、取得するプロシージャを持ってきます。

フロー制御から、これらのプロシージャブロックを持ってきます。

エンティティプロシージャのデータから、インベントリのアイテムを取得するプロシージャを持ってきます。

マインクラフトコンポーネントの中から、アイテムスタックをすべて消去する、を持ってきます。

ロジックから、これらのプロシージャブロックを持ってきます。

エンティティプロシージャのアクションから、インベントリのスロットのアイテムに対して実行する処理を持ってきます。

エンティティプロシージャのアクションから、インベントリにアイテムをセットするプロシージャを持ってきます。

アイテムプロシージャのデータから、アイテムのレジストリ名を取得するプロシージャを持ってきます。

アイテムプロシージャのデータから、アイテムの数を取得するプロシージャを持ってきます。

このように設定します。繰り返しはインベントリの手持ちの数の9にしました。36にするとインベントリ全体に対して実行できます。
複雑ですが、今指定しているスロットが空でなければ、スロットに入っているアイテムの数を調べ、アイテムの種類とアイテムの数をローカル変数に保存しています。

続きです。そうでなければ、つまりスロットがからの場合は、アイテム名を空、アイテム数を0で設定します。

次に、0~8までの9個のスロットに対して、先ほどのローカル変数の値をグローバル変数に保存しています。

最後に、繰り返しのたびにインベントリの値を1進めます。

保存します。
プレイヤーがリスポーンした時のプロシージャに追加する
前回作成した、プレイヤーがリスポーンした時、のプロシージャを開きます。
アイテムプロシージャのデータから、レジストリ名をアイテムに変換するプロシージャを持ってきます。

赤枠部分を追加します。0~8の各スロットに対して、グローバル変数に保存してあるアイテムと数をセットします。

保存して完成です。
リスポーンすると、アイテムも設定時のものが反映されるようになります。
