りみみのコマンド置き場

人によってはゴミ置き場かも、、?

新executeについて

仕様変更とか聞いてないヨオオオオ

はい。どうも、りみみです。

久しぶりですね(サボってただけ)。

いやー、最近新executeが出てきて仕様変更されましたね。

、、まあ、試験的なゲームモードオンにしてたらの話ですが。

自分はオンにしてたので絶望感に苛まれてる最中です。

でも作り直せばいい話ですからね。

、、それが大変だから絶望してるんですけど、、。

さて、それでは解説に行きましょうか。

まず、旧と新を比べてみましょう。

 

旧 /execute @a ~~~ detect ~ ~-1 ~ dirt 0 kill @s

 

新 /execute as @a at @s if block ~ ~-1 ~ dirt run kill @s

 

これは土の上に乗ったら死ぬコマンドですね。

比べて見るとやはり全然違いますね。

明らかに長く、そして複雑な構文になっています。

ここからは自分が感じた感じから予想して書いていきます。

間違ってる可能性があるのでそこはご了承下さい。

asは対象で、atは実行地点なのでは、、と自分は思います。

(この前as,atについての文見たけど忘れた\(^o^)/オワタ)

ifは「もし〜なら」という感じで、例の場合

「もし土が1ブロック下にあるなら自分をkillする」という感じですかね。

ちなみに、「if entity」もあります。

これは指定したエンティティがいるなら発動するって事ですね。

「/execute if entity @a[r=5] run kill @a」なら、

「もし半径5ブロック以内に誰かいるなら全員killする」という内容になります。

また、逆もあり、「unless」といいます。

先ほどの「if」を書き換えてあげると、

「もし〜なら」が「もし〜でないなら」に変わります。

便利ですね。

まだまだ解説すべきものはありますが一旦

ここで終わりとさせていただきます。

また次回の更新でお会いしましょう。

バイバイ!( ^_^)/~~~

 

追記:1.19.50で正式実装されました。

@initiatorが使えないバグとか意味不明。