ユキミ大福のマイクラBE生活

Minecraft統合版で遊んだりゲーム作ったりするブログ

コマンド解説実践編-マジカルロッドを作ろう!-

  投稿日:2021/08/25

最終更新日:2021/08/25

 

どうも、ユキミ大福です。

今回はMinecraft統合版のコマンドを実践的に活用する一例をご紹介する回です。今回は『マジカルロッド』というコマンド制御の特殊アイテムを作っていきます。

ここで解説するコマンド等は、解説する注意事項等をよく読み、個人でより詳しく調べた上で、個人の責任において使用して下さい。コマンド等の使用によって如何なる損害が発生しても、筆者であり当ブログの管理者でもあるわたくしユキミ大福は一切の責任を負いかねますので、ご了承下さい。

 

今回作るものの概要

今回作る『マジカルロッド』は、使うと魔法の弾を真っ直ぐ発射する釣り竿です。ちなみに仕様上、この魔法の弾は地形を貫通し、なおかつ地面に対して水平にしか発射できません。ここはご了承ください。

f:id:YukimiD1999:20210822071827j:plain

完成するとこんな感じに魔法の弾が飛ぶぞ!

なお、この解説ではユキミ大福式コマンドブロック設定表記法を用います。これについて詳しくは ↓ の記事をご覧下さい。

 

使用するコマンド

chainA1:RNR

 

/execute @e[type=fishing_hook] ~ ~ ~ tag @p[r=2] add UserMR

 

chainA2:CNA

/execute @e[type=fishing_hook] ~ ~ ~ execute @p[tag=UserMR] ~ ~ ~ summon armor_stand MR ~ ~70 ~

 

chainA3:CNA

/execute @e[type=fishing_hook] ~ ~ ~ execute @p[tag=UserMR] ~ ~70 ~ tp @e[type=armor_stand,name=MR,r=1] ^ ^ ^2 facing ^ ^ ^4

 

chainA4:CNA

/execute @e[type=fishing_hook] ~ ~ ~ kill @sえ

 

 

chainB1:RNR

/execute @e[type=armor_stand,name=MR] ~ ~ ~ tp @s ^ ^ ^2

 

chainB2:CNA

/effect @e[type=armor_stand,name=MR] wither 3 255 true

 

chainB3:CNA

/effect @e[type=armor_stand,name=MR] invisibility 2 1 true

 

chainB4:CNA

/execute @e[type=armor_stand,name=MR] ~ ~-69 ~ effect @p[r=3,tag=!UserMR] instant_damage 1 255 true

 

chainB5:CNA

/execute @e[type=armor_stand,name=MR] ~ ~-69 ~ tag @p[r=5,rm=3,tag=UserMR] remove UserMR

 

 

chainC1:RNR

/execute @e[type=armor_stand,name=MR] ~ ~ ~ particle minecraft:shulker_bullet ~ ~-69 ~

 

chainC2:CNA

/execute @e[type=armor_stand,name=MR] ~ ~ ~ particle minecraft:large_explosion ~ ~-69 ~

 

chainC3:CNA

/execute @e[type=armor_stand,name=MR] ~ ~ ~ particle minecraft:knockback_roar_particle ~ ~-69 ~

f:id:YukimiD1999:20210822071918p:plain

↑ 完成図 手前からchainA群、B群…となっている

この回路は ↑ の画像の金ブロックの上にRSブロックを置けば動作します(止める場合はその逆)。

 

詳細解説

chainA群ではまず、釣り竿を使用することで出現するウキ」にコマンドを実行させることで釣り竿を使用したプレイヤーを検知します。

chainA1では、そうして検知したプレイヤーに「UserMR」というタグを付与しています。このタグはこの後たくさん使います。

chainA2では、ウキに1番近くて「UserMR」のタグを持つプレイヤーが居る場所から70ブロック上空にMR」という名前の防具立て(armor_stand)を召喚しています。名前が付いているのが最大のポイントです。

chainA3では、chainA2で召喚した防具立て「MR」をプレイヤーが見ている方向に向かって2ブロックの位置に移動させつつ、防具立て「MR」が向いている方向を、プレイヤーが向いている方向と同じにしています。これで魔法の弾の用意ができました。

最後にchainA4で使用したウキを削除します。なお、釣り竿の耐久値はウキを回収する時に減る関係上、このコマンドで制御された釣り竿の耐久値はどうやっても減りません。

 

chainB群では、魔法の弾の具体的な処理を行っています。

chainB1では、防具立て「MR」が向いている方向に向かって防具立て「MR」自身をワープさせています。防具立て「MR」が向いている方向は、chainA3の時点でプレイヤーが向いていた方向と同じにしているので、これで魔法の弾が真っ直ぐ飛ぶようにしているワケですね。ちなみに「^ ^ ^2」の「2」の部分が魔法の弾のスピードを左右する数値になっています。

chainB2では、防具立て「MR」にウィザーのポーション効果を与えています。これは、ウィザーの状態異常で防具立て「MR」にダメージを与えることで、防具立て「MR」を消滅させることを目的としています。つまり、ここで与えるダメージ量が魔法の弾の射程となります。ダメージ量は「255」の部分で変えることができます。

chainB3では、防具立て「MR」に透明化のポーション効果を与えています。これは単純に防具立てが見えないようにするためものです。

chainB4では、防具立て「MR」の69ブロック下を中心とした半径3ブロック以内のプレイヤーにダメージのポーション効果を与えています。元々防具立て「MR」はプレイヤーの70ブロック上にワープさせているので、その69ブロック下はプレイヤーの目線の高さになります。ちなみに魔法の弾を発射したプレイヤーは、その魔法の弾でダメージを食らわないように対象から外しています。そして、このコマンド中の「r=3」の部分がダメージ範囲で「255」の部分がダメージ量となっています。なお「instant_damage」はプレイヤーにしか効果が無いため、Mobにもダメージを与えたい場合は「wither」に変えると良いでしょう。

chainB5では、防具立て「MR」(魔法の弾)がプレイヤーから3~5ブロック離れた時点で「UserMR」のタグを消去しています。タグ「UserMR」を消さないとプレイヤーが一生無敵になってしまうため、ダメージ範囲から魔法の弾が離れた瞬間に「UserMR」を消しています。

 

chainC群では、魔法の弾の見た目を作っています。ここは個人で好みにカスタマイズすると良いかもしれません。「minecraft:~」の部分を変えることで様々な見た目にできます。

 

+αしてみよう!

さて、現在の仕様では、無限に魔法の弾を連射することができてしまいます。このままではちょっと味気ないので、経験値をMP代わりにして魔法の弾を発射できるようにしてみましょう。今回はレベルを「1」消費して発射できるようにしてみます。

まずはchainA1を以下のように書き換えます。

 

chainA1:RNR

/execute @e[type=fishing_hook] ~ ~ ~ tag @p[r=2,lm=1] add UserMR

 

タグ「UserMR」が付与される条件を「レベルが1以上の」プレイヤーに変えてみました。続いてchainA1とchainA2の間に新しくchainA1.5を挿入します。

 

chainA1.5:CNA

/execute @e[type=fishing_hook] ~ ~ ~ xp -1L @p[tag=UserMR]

 

ここでレベルを「1」消費しています。そもそも「レベルが1以上の」プレイヤーにしかタグ「UserMR」は付与されないので、レベルが「1」未満のプレイヤーはこの後のchainA2・A3を実行できないため、魔法の弾が発射されることはありません。そして次は新たにchainD群を作成し、chainD1を挿入します。

 

chainD1:RNR(4)

 

/xp 1 @a[l=2]

 

ここで経験値をレベル3になるまで自然回復させています。レベルの最大値は「l=2」の部分で調整できますが、[そこで設定した数値]+1 になるまでレベルが回復するのでこの点にはご注意下さい。回復スピードは『ティックの遅延』の部分で調整できます(ここでは「4」としています)。

f:id:YukimiD1999:20210822072332p:plain

↑ +α版の完成図

今回は経験値(MP)が自然回復する仕様としましたが、特定のアイテムを手に入れることで回復するようにしても面白いかもしれませんね。

 

 

今回はマジカルロッドを作ってみました。これとほぼ同じコマンドを『トレジャーコレクト』で使用していますので、体験してみたい方は ↓ の記事をご覧下さい!

 

関連記事

 

 

当記事及び当ブログへのご意見・ご質問はいつでも受け付けております。

お気軽にコメント欄までどうぞ!

↓良ければポチッとお願いします。