【走って壁に激突すると爆発!】Mcreatorで自作MODを作ろう#117【マイクラ】

Minecraft
スポンサーリンク

こんにちは。もえやです。3年ほど前からMcreatorの制作動画をYoutubeにアップしています。

今回は、歩いてぶつかると大丈夫なのに、走ってぶつかると爆発するようにしてみました!

スポンサーリンク

グローバル変数を作成する

1ティック前の位置を保存するグローバル変数を作成します。

変数タブに移動し、左上のプラスから、変数を作成します。

変数名を入れ、変数の種類をnumber、変数のスコープをPLAYER_LIFETIMEにし、OKを押します。

プロシージャを作成する

Mod要素タブに移動し、プラスから、プロシージャを作成します。

名前を入れて、新しいプロシージャを作成、を押します。

グローバルトリガーを、プレイヤーのティック更新時にします。

ローカル変数のプラスから、numberで変数を5つ作成します。

フロー制御から、もし~実行を持ってきます。

ロジックから、~ではない、と数字の比較を持ってきます。

カスタム変数から、変数を取得、と設定を持ってきます。

エンティティプロシージャのデータから、各方向の座標を取得するプロシージャブロックを持ってきます。

数式からいろいろ持ってきます。

このように設定し、グローバル変数が初期値でない場合はこのように各変数を設定します。

ワールドプロシージャのデータから、指定位置に何もない、を持ってきます。

ワールドプロシージャのアクションから、爆発を起こすプロシージャブロックを持ってきます。

このように設定し、速度が設定した値を超えた場合、現在地から今の移動速度で移動した先に何かあれば(何もない、でなければ)爆発を起こすようにします。

歩く、走る、の場合は壁が近くなると減速するようにできているようなので、変数を使って2倍の距離に壁がある場合、としています。

最後に、現在位置をグローバル変数に保存して完成です。

走って壁にぶつかったときに爆発するようになりました。

歩く、走るの場合には、x/y/z delta movement ofでは速度を取得できないため、1ティック前の位置と比較して速度を出す方法をとりましたが、エリトラで飛んでいる場合、などはx/y/z delta movement ofで速度を取得しても大丈夫だと思います。

タイトルとURLをコピーしました