【Minecraft】劇的に軽く!?operationの罠に気をつけよう!【BE】


みなさんこんにちは!
赤石大好き!赤石愛です!



最近、といってももう結構立ちましたが、Minecraft BEにもスコアボードが実装されましたね!
できることが増えたので使いまくっている人も多いのではないでしょうか?

でもscoreboard players operationには、とあるが潜んでいるのです!
次の映像をご覧ください。
明らかに重さの違うコマンドのようですが……?



比べているコマンドは以下の2つです。
1つめ
/scoreboard players operation @e TEST2 = @e[tag=TEST,c=1] TEST
2つめ
/execute @e[tag=TEST,c=1] ~ ~ ~ /scoreboard players operation @e TEST2 = @s TEST
この2つ、全く同じことをしているコマンドです。
一見、1つめの方が短く、セレクタも少ないため軽そうですが、
2つめの方が圧倒的に軽いです!



同じことをするコマンドなのに差が出る理由としては、
上のコマンドでは@e[tag=TEST,c=1]を@eの数だけ評価しちゃっているようです。
scoreboard players operationの両方に@s以外のターゲット選択子(@?のこと)を入れてはいけません。
どちらにも入れたい場合は必ず片方をexecuteで前に出しましょう。



なお、JEでも1.12.2以前の場合は同じことが発生します。
BEJE1.12.2以前の方は、一度operationコマンドを見直してみてください。



なんとも恐ろしいスコアボードの罠でした!
JE1.13以降は起こらないので安心してね!