# 新Execute サブコマンド ## 新しい構文 ``execute サブコマンド run コマンド`` ※1 サブコマンドを連続して書くこともできる ※2 サブコマンドは左から優先されるので注意 ## サブコマンド 1. as 2. at 3. positioned 4. if 5. unless 6. rotated 7. facing 8. align 9. anchored 10. in --- ### as 実行者のエンティティを指定する。asだからね ``as <セレクター>`` ※ 実行者を指定するだけなので実行する位置は変わらない(コマンドブロックで起動したならコマンドブロック) 例) ``execute as @a run effect @s speed 1`` ### at 実行座標や視線の角度、ディメンションのエンティティを指定できる ``at <セレクター>`` 例) ``execute @e[type=armor_stand] run setblock ^^^1 stone`` ### positioned positionedはコマンドを実行する座標を指定する。つまりatの劣化版 しかしatにはない座標の入力でも実行する位置を決めることができるという利点がある ``` positioned <座標> positioned as <セレクター> ``` 例) ``execute positioned ~ ~4 ~ run say @e[c=1]`` ### if ifはif ``if <条件>`` #### 条件 1. entity 2. block 3. blocks 4. score #### entity ``entity <セレクター>`` 例) ``execute if entity @e[r=3] run say a`` #### block 指定した座標にあるブロックが特定のブロックだったら... ``block <座標> <ブロックID> <データ値(省略可)> <ブロックステート>`` データ値が指定されていない場合はデータ値は-1になる 例) ``execute if block ~~1~ wool ["color":"black"] run say a`` #### blocks blockの範囲指定版 ``blocks <始点座標> <終点座標> <比較する方の値の四方の値が小さい方の座標> <all/masked>`` allは空気ブロックも含めて完全一致 maskedは空気ブロックの位置に何かしらのブロックがあったとしても真になる 比較する方の値の四方の値が小さい方の座標っていうのが知りたいならcloneとか調べたらどうやってやるかって詳しく乗ってるのでggr 例) ``execute if blocks ~~1~ ~~2~ ~~1~-1 all run say a`` #### score 指定したもののスコアが特定の値だったら... ``score <ターゲット> <オブジェクト> <条件>`` ##### 条件 1. ``> <ターゲット2> <オブジェクト2>`` 2. ``< <ターゲット2> <オブジェクト2>`` 3. ``<= <ターゲット2> <オブジェクト2>`` 4. ``>= <ターゲット2> <オブジェクト2>`` 5. ``= <ターゲット2> <オブジェクト2>`` 6. ``matches <数値>`` ### unless ifの反対 ``unless <条件>`` 条件はifと同じ ### rotated rotatedは指定した方向を向いていると**仮定**する ``` rotated <Yrot> <Xrot> rotated as <セレクター> ``` Xrot  Yrot  例) ``execute rotated as @p run setblock ^^^5 stone`` ### facing facingは指定した位置に視線を合わせていると**仮定**する ``` facing <座標> facing entity <セレクター> <eyes/feet> ``` 例) ``execute facing ~10~5~5 run setblock ^^^2 stone`` ### align 俺もよくわからんので省略。調べたらわかりやすいの出てくるでしょ ### anchored anchoredは実行者の目または足先を指定できる ``anchored <eyes/feet>`` 例) ``execute as @a at @s anchored eyes run particle minecraft:basic_flame_particle ^^^2`` なんかバグあるらしいので使わない方がいいらしい 知らんけど ### in コマンドを実行するディメンションを指定する ``in <ディメンションID>`` ディメンションID * overworld * nether * the_end 例) ``execute in nether run say @e[rm=0]`` --- ## 後書き つかれた
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up