【Minecraft 1.18.1】経験値を取ると死ぬ世界を"コマンドで"作る方法を解説!!

こんにちは!

えだまめです!

 

今回は、マインクラフトで「経験値を取ると死ぬ世界の作り方」を解説していきます。

この記事で紹介するやり方は「Minecraft java edition ver.1.18.1」の環境で動作を確認しています。

それ以外のバージョンや統合版環境での再現方法は調査していないのでご了承ください。

それでは解説していきます!

 

 

使うコマンドの紹介

ではいきなりですが、今回用いるコマンドの紹介です。

 

/execute at @a run execute as @e[type= minecraft:experience_orb,distance= ..2] run kill @a[distance= ..1.8]

 

このコマンドをコマンドブロックのコンソールコマンド欄にコピペしましょう。

 

コマンドブロックの出し方

f:id:Edamame-San:20220110233838p:plain

/(スラッシュキー)を押してチャット欄を開いて

 

/give @p mincraft:command_block

と入力してEnterキーを押すとコマンドブロックを入手できます。

 

あとは普通のブロックと同じように、好きな場所に設置して左クリックで使用します。

 

コマンドブロックの設定

f:id:Edamame-San:20220110235258p:plain

 

コンソールコマンドに先ほどのコマンドをコピペして

実行条件は

リピート 無条件 常時実行

とします。

 

この時点で、「経験値を取ると死ぬ世界」は完成です!!

おめでとう!

 

 

↓ここから下は応用したい人向けです

コマンドの解説

では、今回のコマンドの解説をしていきます。

 

/execute at @a run execute as @e[type= minecraft:experience_orb,distance= ..2] run kill @a[distance= ..1.8]

このコマンドは3つのパーツに分けることができます。

 

execute at @a

run execute as @e[type= minecraft:experience_orb,distance= ..2]]

run kill @a[distance= ..1.8]

 

に分けることができます。

 

これを日本語にすると

 

すべてのプレイヤーがこのコマンドを実行する

すべてのエンティティ[種類=経験値オーブ、距離=2ブロック以内]が

すべてのプレイヤー[距離=1.8ブロック以内]をキルする

 

になり

分かりやすくすると

 

すべてのプレイヤーの2ブロック以内にある経験値オーブが

1.8ブロック以内にいるすべてのプレイヤーをキルする

 

となります。

 

ちょっとややこしいですね。

 

executeコマンドについて

executeコマンドはあまりにも複雑で応用しがいがありますが、その分解説が難しいので使い方の一覧だけ載せておきます。

f:id:Edamame-San:20220110235941p:plain

この他にも使い方はあります。

executeコマンドの詳しい解説はmincraft wiki を見ましょう。

 

ターゲットセレクタについて

次に @a や @e などのターゲットセレクタの解説です。

@が付くと対象の選択を意味します。

@p 最寄りのプレイヤー 1 人
@r ランダムなプレイヤー
@a 全てのプレイヤー
@e 全てのエンティティ
@s コマンドを実行しているエンティティ

このように使用します。

 

@e[type= minecraft:experience_orb,distance= ..2]]

のように@~[~~~~~~]の[ ]の中身は@~の条件や絞り込みをすることができます。

type= ,distance= のように、そのエンティティの条件を決めることができます。

この条件もtype= ,distance= 以外にも様々な種類があり、大変便利なので色々調べてみると滅茶苦茶面白いです。

 

構文について

最後に構文についてです。

このコマンドは構文的には

execute ~ ~ 

run execute ~ ~

run kill ~

ここではexecuteの

execute as 対象 run サブコマンド

という構文が用いられていて、

execute as 対象

run execute(サブコマンド) as 対象

run kill(サブコマンド) 対象

という構成でコマンドが成り立っています。

 

ですので、

execute as 対象 run サブコマンド

のサブコマンドの部分を好きなコマンドにすることで好きな場所で好きなコマンドを使用することができます。

 

as の部分を at や if にすることでまた別の構文として、また違う効果を得ることもできます。

この他にもいろんな副詞(?)があるので調べてみましょう。

 

英語の文法みたいで頭が痛くなりますが、これを理解して応用できると、できることの幅が急に広がります。

 

 

 

まとめ

今回は、コマンドを使って「経験値を取ると死ぬ世界」を再現する方法を解説しました!

少し前に、このような世界でサバイバルなどの企画をしている実況者さんを見たことがあり、作りたいと思ったのがきっかけです。

僕と同じように「作りたい!」と思っても「難しそう」と手を出せなかった人は結構いると思うので、そのような方のためになる記事が書けていれば幸いです!

 

 

それじゃあまた今度!

じゃあね!ばいばい