新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が使えないバグとか意味不明。