この記事ではMcreator2023.3の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、足元にダイヤモンドがある場合に色を変えて教えてくれるアイテムを作ってみましょう。
この記事では、テクスチャが変わるアイテムの作り方を解説します。
こんな感じで動きます
こちらのショート動画で動作を確認できます。
地下にダイヤモンドがあると水色に変わります。
テクスチャを作る
リソースタブに移動し、新規テクスチャを作成から、テクスチャを作成を押します。
テクスチャのサイズと背景が選択できるので、そのまま作成を押します。
今回は、テンプレートからランダムで作成しました。気に入ったテクスチャができたら、作成してマージする、を押します。
保存します。
テクスチャの名前を入れ、タイプをアイテムにします。
同じように色違いのアイテムを作成しておきます。今回は白と水色の2つにしました。
アイテムを作成する
MOD要素タブのプラスから、アイテムを作成します。
名前を入れて、新しいアイテムを作成、を押します。
テクスチャを設定したら、アイテムの状態、に移動します。
左側の、カスタムプロパティを追加、を押します。
名前を入れて、OKを押しましょう。
プラスを押して、プロシージャーを作成します。
名前はそのままで、プロシージャーを作成、を押します。
プロシージャー作成画面に移動したら、まずはローカル変数を作成します。
右側のローカル変数のプラスを押し、名前を入れて、変数の種類をnumberにし、OKを押します。
同じように、変数の種類をlogicにしたものも作成します。
作成した変数に初期値を入力します。カスタム変数から、値をセット、を持ってきます。
数式の中に数字があるので持ってきます。
ロジックの中にtrue/falseがあるので持ってきます。
このように初期値をセットします。
ここから、高さを変えてダイアモンドがあるかどうかを調べていくので、フロー制御から繰り返しに必要なプロシージャーブロックを持ってきます。
ロジックから、分岐の条件を持ってきます。
見づらくなるので、右クリック→外部入力で表示を並列にします。
プルダウンから、条件をorに変えておきます。
ブロックデータから、特定の座標のブロックを取得するプロシージャーブロックを持ってきます。
マインクラフトコンポーネントの中に、ブロックを選択できるプロシージャーブロックがあるので持ってきます。
数式の中に演算用のプロシージャーブロックがあるので持ってきます。
先ほど作成した変数を使いますので、カスタム変数のなかから持ってきます。
このように設定します。下から順番にブロックの種類を調べていき、ダイアモンド鉱石または深層ダイアモンド鉱石だった場合には、変数をtrueに変更してループから抜け出します。
テクスチャを変えるための戻り値を設定するので、フロー制御からプロシージャーブロックを持ってきます。
先ほどの変数がtrueの場合には1を、それ以外の場合には0を返すように設定します。
保存して、今度はアイテムの状態を設定します。
Add state definitionのプラスから、状態エディターを開き、作成したプロパティーにチェックを入れ、数値を0にして変更を保存します。
この時のテクスチャに作成した白い方を設定します。
同じように数値を1にして作成し、こちらには水色のテクスチャを設定します。
保存して完成です。
持ち歩いていると、時々水色に変化して下にダイアモンドがあることを教えてくれます。 よかったら作ってみてくださいね。