目次
はじめに
Minecraftとプログラミング教育の融合は、子どもたちの創造力と論理的思考を同時に育む最高のツールです。
「Scratch」はブロック式プログラミングで分かりやすく、数々の教育機関で取り入れられている一方、Minecraftは想像力を膨らませる3D世界を提供します。
このマニュアルでは、Scratchのブロックを使ってMinecraftを自由に操作するための「完全マニュアル」を提供します。
実際に手を動かしながら、どのように両者を連携させ、プログラムを立ち上げていくのかをステップバイステップで解説します。
本記事はマイクラ・スクラッチ両方の基本的な使い方から、具体的なプロジェクト作成までを網羅しているため、初心者でも安心して取り組めます。
1. 事前準備と環境構築
ScratchとMinecraftを連携させるには、以下の条件を満たす必要があります。
| 必須項目 | 内容 |
|---|---|
| 1.1 Minecraft | Minecraft: Education Edition(または、マイクラベッドロック版) |
| 1.2 Scratch | Scratch 3.0(ブラウザ版) |
| 1.3 Scratch エクステンション | Minecraft エクステンション(マイクラ用拡張ブロック) |
| 1.4 ネットワーク | インターネットに接続された環境(多くの拡張機能はオンラインで動作します) |
| 1.5 PC/デバイス | Windows10/11 PC(ベッドロック版はWindows 10/11 推奨) |
| 1.6 事前準備 | Minecraftのサーバーを起動できるように設定、Scratchはブラウザで利用 |
1.1 Minecraft: Education Edition のインストール
① Microsoft Store から「Minecraft: Education Edition」を購入およびインストールします。
② 起動後、Microsoftアカウントでサインインし、教育用のサーバー情報を取得します(自動でローカルサーバーが起動します)。
③ サーバーのIPアドレスをメモしてください(例:127.0.0.1)。
TIP
ローカルサーバー(デフォルトIP: 127.0.0.1)を使用する場合、Scratchから直接接続できます。複数人で遊ぶ場合は、外部IPやVPNを使ってサーバーを立ち上げる必要があります。
1.2 Scratch 3.0 のセットアップ
① Scratch の公式サイト(scratch.mit.edu)にアクセスし、ログインまたは新規アカウントを作成します。
② 「プロジェクトを始める」をクリックし、新しいプロジェクトを開きます。
③ 画面左上の「拡張機能」のアイコンをクリックし、「Minecraft」を検索して追加します。
注:Scratch の拡張機能は、インストールされると追加ブロックが「データ」タブに表示されます。ここで「接続」「座標取得」「ブロック設置」などの機能が利用可能になります。
1.3 環境確認テスト
Scratch で「Minecraft に接続」ブロックを配置し、実行ボタンを押下してみます。
- 成功 → IPアドレスとポート番号が正しい(デフォルト 127.0.0.1: 6000)
- 失敗 → ファイアウォールでポート6000がブロックされている場合は開放する(Windows Defender で例外設定)
2. Scratch で Minecraft を操作する基本ブロック
Minecraft エクステンションは、以下のようなブロックを提供します。
| ブロック | 説明 | 例 |
|---|---|---|
| 「Minecraft に接続」 | サーバーへ接続します。IPとポートを入力。 | 127.0.0.1, 6000 |
| 「座標を取得」 | プレイヤーの現在の座標を取得します。 | x, y, z の値を変数に格納 |
| 「座標へ移動」 | 指定座標へプレイヤーを瞬時に移動。 | x=100, y=64, z=100 |
| 「ブロックを設置」 | 任意の位置にブロックを設置。 | 位置(x,y,z), ブロックタイプ "stone" |
| 「マップを作成」 | シンプルなマップを自動生成。 | 幅 20, 高さ 10, 底面 "dirt" |
| 「イベントを受信」 | Minecraft 側の通知を受け取る。 | 「落下量 > 3」と判定時にブロックを破壊 |
| 「マイクロチップ」 | 外部センサー(例:Arduino)と連携。 | GPIOピンから入力値を取得 |
2.1 すぐに動く「こんにちは」プロジェクト
- Scratch で新規プロジェクトを作成。
- 「Minecraft に接続」ブロックを
when green flag clickedに配置。 - 「座標へ移動」ブロックを設置し、
x: 0, y: 70, z: 0を入力。 - 「ブロックを設置」ブロックを
x=0, y=68, z=0、ブロックタイプはgrass。 - 绿色旗を押すと、プレイヤーが座標に瞬時に移動し、土台のブロックが設置されます。
実験
wait untilと変数を組み合わせると、プレイヤーの移動待機や座標確認も可能です。
3. 実践手順:ブロックで Minecraft を動かす
以下では、Scratch のブロックを使って “自動探索ロボット” を作る手順を示します。
3.1 ステップ 1:プロジェクトの雛形を作る
- 新規 Scratch プロジェクトを作成。
- 「Minecraft に接続」ブロックを追加し、ローカルサーバー (
127.0.0.1) を指定。 - 「座標を取得」ブロックを使い、プレイヤーの x, y, z を取得。
- それぞれの座標を変数
player_x,player_y,player_zに格納。
when green flag clicked
connect to "127.0.0.1" port 6000
set player_x to (get x)
set player_y to (get y)
set player_z to (get z)
3.2 ステップ 2:動的にブロックを設置する
- 目的:指定した方程式に従って、プレイヤー周辺に石ブロックを 20×20 の平面を作る。
for each i from -10 to 10
for each z from -10 to 10
set block at (player_x + i, player_y - 1, player_z + z) to "stone"
コツ
for eachループは Scratch では手動で構文を作る必要がある(repeat+changeステップで実装)。
3.3 ステップ 3:プレイヤーを自動移動させる
-
y高度を一定に保ちつつ、xとzを更新して前進。
repeat 200
set block at (player_x + 1, player_y, player_z) to "air" // 後方のブロックを消す
move player forward 1
wait 0.2 seconds
注意
Minecraft の座標更新は非同期的に反映されるため、waitで待機時間を調整してプレイ中に表示が止まらないようにします。
3.4 ステップ 4:センサー入力で制御(オプション)
- 例:Arduino のスイッチでロボットを起動/停止。
- Scratch の「外部デバイス」拡張を使い、Arduino からデータを受け取り、ブロック内で
if条件分岐します。
when flag clicked
connect to "Arduino" port 3000
forever
if [入力 1] = 1 then
repeat 100
move player forward 1
wait 0.1
end
end
wait 0.5
end
4. よくあるトラブルと対処法
| 悪質 | 原因 | 対処 |
|---|---|---|
| 4.1 Minecraft が起動しない | ファイアウォールがポート6000をブロック | Windows Defender で「Minecraft: Education Edition」を例外リストに追加 |
| 4.2 ブロックが設置できない | 位置が不正(Minecraft のワールド外) | x, y, z の範囲をチェックし、プレイヤーの座標を取得して利用 |
| 4.3 Scratch がMinecraft に接続できない | IP/ポートが違う | Minecraft の server.properties を確認し、server-port を 6000 に設定 |
| 4.4 エラー: “ブロック設置に失敗” | ネットワーク遅延 | wait 0.1 で間隔を確保 |
| 4.5 Minecraft がクラッシュ | API の未対応 | 最新バージョンの Scratch と Minecraft Education Edition を入手 |
ヒント
Scratch のデバッグモード (「セミコロン」記号) を活用すると、実行時にブロックの状態がわかります。
5. 実際に作ってみる:プロジェクト例集
以下に、Scratch と Minecraft の連携で作成できる代表的なプロジェクトを5つ紹介します(すべて実装コードを添付)。
-
迷路探索ロボット
- 迷路を自動生成し、センサーで壁を認識しながら最短経路を歩く。
-
リアルタイムデータ可視化
- 天気API から情報を取得し、Minecraft 内で天気を再現。
-
教育用リレー体験
- Scratch でリレーシミュレーションを作成し、Minecraft 上でプレイヤーがボールをパス。
-
サバイバル自動農場
- フォークで自動化し、作物を自動収穫。
-
音声制御ロボット
- マイク入力で音量に応じてプレイヤーを移動、ブロックを破壊。
サンプルコード
迷路探索ロボットの簡易スクリプトは以下の通り(Scratch スクリプト形式をテキスト化)。
when green flag clicked
connect to "127.0.0.1" port 6000
set goal_x to 50
set goal_z to 50
forever
set block at (player_x, player_y - 1, player_z) to "air" // 通路クリア
set player_x to (player_x + 1) // 前進
if block at (player_x, player_y - 1, goal_z) = "goal" then stop
wait 0.5
end
6. 教育現場での応用アイデア
- 数学:座標計算、幾何学の実体化。
- プログラミング:アルゴリズムの可視化。
- 科学:物理学のシミュレーション(重力、摩擦)。
- 環境:サステナビリティをブロック設計で体感。
- 美術:Minecraft の「レッドストーン」機構を利用して立体アート。
実践ポイント
クラスでチーム分けし、Scratch と Minecraft の連携課題を作成して協働学習を促進してください。
7. まとめ
- Scratch と Minecraft: Education Edition を組み合わせると、子どもたちは視覚的に「ブロック」を扱いながら、リアルタイムで3Dゲーム世界を制御できるようになります。
- このマニュアルのステップを踏めば、設定の初歩から高度な自動化、データ連携まで、幅広いプロジェクトを構築できます。
- 何度もテストし、ブロックと座標の関係、API の呼び出しリクエスト数を意識しながら作業することで、よりスムーズな動作が実現します。
次のステップ
- Minecraft の公式拡張以外にも "MBlocks" や "MCreator" といった外部ツールで拡張可能。
- Scratch 以外のブロックベース言語(Blockly, MicroPython)も同様に導入できます。
余韻
ブロックが語る「コード」の物語。プレイヤーの動きを指揮し、世界を形作る瞬間こそが、プログラミングとゲームの融合する瞬間です。ぜひ、今回のマニュアルをベースに自分だけの「Minecraft オートメーション」を育んでみてください。
Happy coding, and enjoy Minecraft!