

unless blocksフィルターで雪玉の衝突を正確に判定するやり方
unless blocks条件フィルターを使うと、指定(してい)した範囲(はんい)のブロックが特定(とくてい)の配置(はいち)と一致(いっち)していない場合にコマンドを実行(じっこう)できます。
unless blocks <始点X> <始点Y> <始点Z> <終点X> <終点Y> <終点Z> <比較基準(きじゅん)X> <比較基準(きじゅん)Y> <比較基準(きじゅん)Z> <オプション>
<始点X> <始点Y> <始点Z>:範囲(はんい)の開始(かいし)地点の座標(ざひょう)
<終点X> <終点Y> <終点Z>:範囲(はんい)の終了(しゅうりょう)地点の座標(ざひょう)
<比較基準(きじゅん)X> <比較基準(きじゅん)Y> <比較基準(きじゅん)Z>:比較するブロックの配置(はいち)がある座標(ざひょう)
(オプション):all(完全一致(いっち))または masked(空気を無視して比較)
🧱コマンドブロックに入力したコマンド
コマンドブロックの設置方法

🅰️コマンドブロックA
コマンドブロック(リピート、常時実行):
/execute as @e[type=snowball] at @s unless blocks ~1~1~1 ~-1~-1~-1 ~~~ masked run tag @s add back
まず雪玉(@e[type=snowball])が実行(じっこう)者(as)となり、その位置(いち)(at @s)を中心として実行(じっこう)します。始点(~1~1~1)から終点(~-1~-1~-1)までの範囲(はんい)(3×3×3 の立方体のブロック配置(はいち))と、基準(きじゅん)である自分自身(雪玉)の位置(いち)(~~~)を比べて、空気を無視して一致(いっち)しない場合(masked)、自分自身(雪玉)に back タグをつけます(tag)。
🅱️コマンドブロックB
コマンドブロック(リピート、常時実行):
/execute as @e[tag=back] at @s run tp @s ^^0.1^1 facing @p
back タグが付いたエンティティ(@e[tag=back])が実行(じっこう)者(as)となり、その位置(いち)(at @s)から、上方向に0.1ブロック浮(うき)かびながら(^0.1)、前方に1ブロック進み(^1)、その際に最も近いプレイヤー(@p)の方向を向かせるというコマンドです。
教育版マインクラフトは、教育のために特別に設計されたMinecraftのバージョンです。学生たちにクリエイティブな問題解決やコラボレーション、コミュニケーションのスキルを身につけさせることを目的としています。さらに、MakeCodeやPythonなどのプログラミングも学べることが特徴です。教師向けのツールや教材、教育コンテンツが追加されており、学習環境に適した機能が提供されています。

