この記事ではMcreator2024.1の情報を執筆しています。
こんにちは。もえやです。2年ほど前からMcreatorの制作動画をYoutubeにアップしています。
今回は、1年ちょっと前にYoutubeで公開した、浸食するブロックを最新版で作り直してみました!
といっても全く内容は変わらないので、日本語版が見たい!って方は良かったら見ていってくださいね。
この記事では、浸食するブロックの作り方を解説します。
ブロックの作成
まずは、ブロックを作成します。
プラスから、ブロックを選択。
名前を入れて、新しいブロックを作成、を押します。
テクスチャを設定して、プロパティに移動します。
クリエイティブインベントリタブを設定し、高度なプロパティに移動します。
ティックレートを5に設定します。この値を変えると、早くなったり遅くなったりします。
トリガーは後で設定するので、一旦保存します。
手にブロックを持っている間だけ浸食がすすむようにする
浸食が始まると、止まらなくなるので、オンオフができるように条件を追加します。
変数の作成
変数タブに移動し、新しい変数を追加します。名前を入れ、種類をlogicにしてOKを押します。
プロシージャの作成
Mod要素タブに移動し、プラスから、プロシージャを作成します。
名前を入れて、新しいプロシージャを作成、を押します。
グローバルトリガーを、プレイヤーのティック更新時にします。
フロー制御から、もし~実行~そうでなければ~を持ってきます。
ロジックから、図の2つのプロシージャブロックを持ってきます。
エンティティプロシージャのデータから、利き手にあるアイテムを取得するプロシージャブロックを持ってきます。
マインクラフトコンポーネントの中から、アイテムを取得するプロシージャブロックを持ってきます。
カスタム変数から、ロジックを設定するプロシージャブロックを持ってきます。
このように設定し、利き手にあるアイテムが作成したブロックの場合にのみ浸食がすすむようにします。
ブロックのトリガーを設定する
先ほど作成したブロックに、浸食する機能を追加していきます。
先ほど作ったブロックをダブルクリックして、設定画面を再度表示します。
トリガーに移動し、On tick updateのプラスから、プロシージャを作成します。
まずは変数を作成します。
右上のローカル変数、のプラスから、変数を作成します。
変数は、i、j、kの3種類で、種類はすべてnumberで作成します。
フロー制御から、もし~実行、と繰り返しの処理を持ってきます。
ロジックから、図のプロシージャブロックを持ってきます。
カスタム変数から、図のプロシージャブロックを持ってきます。
数式から、図のプロシージャブロックを持ってきます。
このように設定し、グローバル変数がtrueの場合のみ実行するようにします。
また、先ほど作成したローカル変数の初期値をすべて-1にします。
ブロックプロシージャのデータから、指定位置のブロックを取得するプロシージャブロックを持ってきます。
ブロックプロシージャのデータから、液体かどうか判別するプロシージャブロックを持ってきます。
ワールドプロシージャのデータから、指定位置にブロックがあるかどうかを判別するプロシージャブロックを持ってきます。
マインクラフトコンポーネントの中から、ブロックを取得するプロシージャブロックを持ってきます。
ブロックプロシージャのアクションから、指定のブロックをセットするプロシージャブロックを持ってきます。
このように設定します。
変数を変えながら3回ずつ繰り返し、指定の位置のブロックが液体、何もない、浸食ブロック以外の場合に、ランダムな整数が指定の数字であれば、浸食ブロックに置き換えます。
さらに、現在ある浸食ブロックを消すかどうかの処理を追加します。
ブロックプロシージャのアクションから、指定位置のブロックを取り除くプロシージャブロックを持ってきます。
このように設定し、ランダムな整数が指定の値の場合にブロックを取り除くようにします。
保存して完成です。
このように浸食がすすんでいきます!
ティックレートとランダムの最大値を変更することで速度が変わるので、いろいろ試してみてください。