【防御力を無視した攻撃】Mcreatorで自作MODを作ろう#140【マイクラ】

Minecraft
スポンサーリンク

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

今回は、防御力を無視した攻撃ができるようにしてみます。

スポンサーリンク

直接ダメージを設定する

実は、プロシージャーで与えるダメージは、防御力を無視した値になります。

試しに、ダイヤ剣をエンティティに右クリックすると7のダメージを与えるプロシージャを作ってみます。

プラスから、プロシージャを作成します。

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

グローバルトリガーを、プレイヤーがエンティティに右クリックする、にします。

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

ロジックから、アイテムの比較を持ってきます。

エンティティプロシージャのデータから、利き手にあるアイテムを取得するプロシージャブロックを持ってきます。

マインクラフトコンポーネントの中から、アイテムを選択するプロシージャブロックを持ってきます。

エンティティプロシージャのアクションから、利き手を振るプロシージャブロックを持ってきます。

エンティティプロシージャのアクションから、ダメージを与えるプロシージャブロックを持ってきます。

このように設定し、エンティティにダイヤ剣で右クリックすることで、7のダメージを与えるようにします。

右クリックで攻撃すると、アーマーを付けていても7のダメージを与えられます。

防御力無効のエンチャントを作る

通常、剣で殴る場合は、アーマーなどでダメージ量が減少します。

なので、ダメージ量を直接減らすエンチャントを作成します。

プラスから、エンチャントを作成します。

名前を入れて、新しいエンチャントを作成、を押します。

エンチャントレベルを1にし、エンチャントできるアイテムをダイヤ剣にします。

保存します。

体力をNBTタグに保存できるようにする

プラスから、プロシージャを作成します。

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

グローバルトリガーを、エンティティのチック更新時、にします。

エンティティプロシージャのアクションから、NBTタグをセットするプロシージャブロックを持ってきます。

エンティティプロシージャのデータから、現在の体力を取得するプロシージャブロックを持ってきます。

このように設定し、毎チックエンティティの体力をNBTタグに保存します。

エンチャントがついていた場合にダメージ量を直接与えるプロシージャを作成する

プラスから、プロシージャを作成します。

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

グローバルトリガーを、Entity is hurtにします。

アイテムプロシージャーのデータから、エンチャントがあるかどうかを判別するプロシージャブロックを持ってきます。

エンティティプロシージャのアクションから、体力を設定するプロシージャブロックを持ってきます。

高度から、数値の依存を持ってきます。

マインクラフトコンポーネントの中から、元のエンティティを持ってきます。

このように設定し、エンチャントがついている場合、保存されている体力から直接ダメージ量を引いた値を新しい体力として設定します。

保存して完成です。

エンチャントの剣を使用すると、アーマーを付けていても7のダメージを与えることができます。

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