「マイクラをリモコンする」これは、公式のRconに始まり、マイクラアプリの代わりにプロトコルをシミュレートするものまで、様々なアプローチがすでにあるのに、なぜ、今さら「マイクラリモコン」なのか。
2026年、生成AIは「マイクラみたいなアプリ」さえ作る。使い捨てアプリが目の前で生まれる今、「アプリを作ったことがある」の価値も、「アプリ」の存在意義さえも揺らいでいる。「ほとんどコードを書いていない」と公言するプログラマーも増えた。さて、コーディングをこれから学ぶ意味、ある?
2017年、コーディングを「コードを触って・変えて・観察して・判断するループの中で、ヒトの創造性を引き出す行為」と捉えた。(「Coding vs. Programming(Scratch Meetup Tokyo, 2017)」、PDF)小さく試し、組み合わせ、分解して直す。ブロック遊びにも似た、この手触りにこそ創造性が宿る。
生成AIの時代に、この解釈はむしろ重みを増している。生成、打ち込みは任せていい。判断は人間が握る。「要求仕様書は満たしています」というだけの使えないアプリが量産されてきたように、元々、コードを書くだけではダメだったのだ。
だから、もちろん、学ぶ意味がある。ただ、学ぶ中身が変わる。消えるのは暗記と打ち込みの労力で、消えないのは判断のための足場としてのコーディングだ。その足場は、目の前のTODOから始まり、ビジョンを越え、ミッションまで続いている。マイクラリモコンは、「手触り感のある試行錯誤」の道具を目指している。
sb-beta.mc-remote.com (マイクラリモコン 公式
箱庭サーバー ベータ版)
25565(デフォルトなので省略可能。)25565(デフォルトの19132ではないので注意。)
面倒なインストールは一切不要。PC/タブレット/スマホで開いたマイクラと、PC/タブレットのブラウザを使います。ブラウザのScratchで直感的にマイクラの世界を遠隔操作できます。
👉 Web版Scratchエディタ(ベータ版)を開くWireScope miniに表示される
ペアリングコマンド /mcremote pair NNN-NNN
をゲーム内チャットに貼り付け、Enterを押すと認証が完了。コマンド先頭にスペースがあると無効なので注意。
マイクラリモコンのブロックの使い方は、Scratchブロック一覧で調べられます。
VS Codeなどのエディタでは自動補完でブロックIDなどが入力できる公式Pythonライブラリ。最新マインクラフトの世界へ向けて、自分のアイデアを自由にコード化できます。
まずは、ターミナルを使って簡単にPythonモジュールをインストールしてみましょう。
uvをインストールしたら、プロジェクトを作ってモジュールを追加します。新プロトコルのリリース候補版はPyPIにあり、版を指定して追加します(版を指定しないと旧プロトコルの安定版が入ります)。
uv init --python 3.13 mc-hello
cd mc-hello
uv add "minecraft-remote-api==2321.0.0rc1"
VS CodeのJupyter Notebookで一行ずつ実行するのもオススメ。手順はminecraft-remote-apiのREADMEへ。
hello.py):from mc_remote.minecraft import Minecraft
# 公式箱庭サーバー(ベータ)に接続
mc = Minecraft.create(address="sb-beta.mc-remote.com", port=25575)
# 建築原点の設定
mc.setBuildOrigin(200, 0, 200)
# チャット送信
mc.postToChat("Hello, Minecraft from Python!")
# プレイヤー位置、視線方向の設定
mc.setPos("overworld", 30, 120, 30) # (230, 120, 230) に移動
mc.setDirection(-1, -2, -1)
# ブロック設置
# 建築原点からの相対計算で実際は (205, 67, 205) に置かれます。
mc.setBlock(5, 67, 5, "sea_lantern")
uv run hello.py を実行後、ターミナルに表示される /mcremote pair NNN-NNN
をゲーム内チャットに貼り付け、Enterを押すと認証が完了します。認証は2時間有効。
Minecraft.create(address=...)の接続先を、マイクラサーバーのPCに変えるだけです(同じPCなら127.0.0.1、ポートは25575のまま)。/mcremote pair NNN-NNNを、マイクラのチャットに貼り付けます。Gemini Notebookを使うと、マイクラリモコンのナレッジベースから、知りたいことを簡単に引き出せます。インストールの手順やサンプルコードを訊くのにも使えます。アクセス時にGoogleアカウントでのログインを求められます。
👉 Notebook先生(Gemini Notebook)を開くかなり正確に答えてくれますが、特にスケジュールについて、まだ予定のもの、構想中で具体的な予定がないものに関して、実装済み、あるいは予定しているように答える間違いが混じることがあります。詳しくは、答えに示されるソースに当たって確かめるか、Discordでお問い合わせください。
先人たちの功績を受け継ぎ、従来の「教育」から「学びの支援」へ。
Minecraft Remote(mc-remote /
マイクラリモコン)は、マインクラフトを外部からプログラムで遠隔操作するためのオープンソースシステムです。PaperMCサーバー上で動作する専用プラグイン(McRemote)と、利用者のコードを仲介するクライアントAPI(各言語版)から構成されています。
本プロジェクトは、RaspberryJuice(zhuowei氏)、mcpi(Martin O'Hanlon氏)、JuicyraspberryPie(wensheng氏)といった先人たちの先駆的な功績と、コミュニティの英知を受け継ぎ、最新のマインクラフト環境へ向けて再構築したものです。
先人たちのプロジェクトリファレンス:
初学者が自学自習アプローチ(Self-Learning Approach)を獲得できるよう支援すること。 単なるプログラミング言語の文法や技術スキルの習得にとどまらず、「自分で課題を発見し、試し、学ぶ姿勢」を育むことを最上位の目的としています。コーディング「を」学ぶ、ではなく、コーディング「で」学ぶ。
PaperMCサーバー上で動作する専用プラグイン。JSON-RPC 2.0プロトコルによる高速・安全なmc-remote(マイクラリモコン)サーバーとして動作。
GitHubで見る →ブラウザで動くWeb版Scratchエディタ(Scratch 3.0 フォーク=改造版)。インストール不要で、IndexedDBによる作品自動保存にも対応。
GitHubで見る →マイクラリモコンAPIを備えたPythonクライアントパッケージ。ブロックID、エンティティIDなど、IDEでのカタログ補完機能を提供。
GitHubで見る →クライアントとサーバーの間を行き来する通信内容(ワイヤメッセージ)をリアルタイムに覗き見できる観察・学習ツール。現在、ScratchやPythonクライアントと連携可能。
WireScope Betaを開く →Java環境からmc-remoteサーバーに接続して制御するためのJavaクライアントライブラリ。
GitHubで見る →Unityで利用可能なC#サーバー/クライアント。mc-remoteサーバー/クライアントとの相互接続で、Pythonで書いてUnity世界に建築、C#でマイクラ世界に建築、などが可能。(※新プロトコル未対応)
GitHubで見る →マイクラサーバー・Bridge・Scratch・WireScopeなどの環境について、一括構築・運用を支援する公式パッケージ。
GitHubで見る →システム全体のアーキテクチャ、決定ログ(DECISIONS)、プロトコル契約、設計思想を管理する真実の源(SSOT)。LLM支援前提のナレッジベース型開発支援システムの根幹。
GitHubで見る →マイクラリモコンの公開済みメソッド、パラメーター、応答、エラー応答の一覧。仕様正本から自動生成しています。Scratchのブロック一覧は、Scratchの版ごとに残しています。
API一覧を見る →2027年春の教室本番導入に向けた公開ロードマップです。
はじめに.htmlを、OSごとの手順に整理。各コンポーネントの動作確認済みバージョン対応表です。
| コンポーネント | 最新バージョン/公開サーバー | プロトコル | マインクラフトバージョン / 備考 |
|---|---|---|---|
| McRemote(Plugin、リリース候補) | 2321.0.0rc1 |
23.2.1 | Paper 1.21.11 / 26.3(同じJARで両方に対応) |
| McRemote(Plugin) | v1.21.8-1.4.0 |
旧プロトコル | Paper 1.21.11 |
| minecraft-remote-api (Python) | 2321.0.0rc1 |
23.2.1 | Python 3.10以上対応。PyPIでリリース候補版を版指定で取得(==2321.0.0rc1)。版指定なしでは旧プロトコルの安定版 |
| scratch-editor (Scratch) | 2320.0.0b10(Web版)2321.0.0rc1(LANパッケージ) |
23.2.0 23.2.1 |
Web版はブラウザ完結(Chrome, Safari, Edge等)で、箱庭の切り替えまでb10。自分のPC・LAN向けのScratch LANパッケージ(Windows/macOS/Linux用ZIP)はLANパッケージのページから |
| WireScope | 2321.0.0rc1 |
23.2.1 | 共通パケット観察Webアプリ(minecraft-remote-tooling) |
| 公式箱庭マイクラサーバー(ベータ) | sb-beta.mc-remote.com |
23.2.0 | 1.21.11、Java版:TCP25565 / 統合版:UDP25565 |
| 公式箱庭マイクラサーバー | sb.mc-remote.com |
旧プロトコル | 1.21.11、Java版:TCP25565 / 統合版:UDP25565 |
2321.0.0rc1に(APIと通信の中身はb10と同じで、23.2.0のサーバー・クライアントとそのままつながる)。Scratchのブロック選びにマイクラ26.3の日本語の名前を追加。Scratch LANパッケージのはじめに.htmlをOSごとの手順に整理。不具合や気づいたことはフィードバックのフォームへ。
mc-remote-2320.0.0b10.jar)でPaper 1.21.11と26.3に対応し、tagとJARの名前からMinecraftの版を外した。setBlocksの大きな要求(既定で1要求32768ブロックまで)を複数tickに分けて施工。Scratch LANパッケージ(Scratch、ランチャーと設定画面、WireScopeを同梱したOS別ZIP)を追加。APIの変更はなし。
chat.postの成功時の応答をnullに固定し、知らない種類のイベントが届いてもevents.poll全体を失敗させないように統一。PythonモジュールをPyPIへ登録(uv add "minecraft-remote-api==2320.0.0b9")。プロトコル定義・WireScope・Bridgeをminecraft-remote-toolingへ移管。
getNearbyEntities)、エンティティの位置と向き・削除(entity.getPose /
setPose / remove)、パーティクルの色・大きさと見せる相手(receiver)、サウンド(playSound /
playBlockSound)。minecraft:を省いたIDの受け付けを全種類で統一。
getDirection /
setDirection)の操作、落雷(strikeLightning)、WireScope detached ZIPの同梱。
getSign, setSign,
updateSignLine)、ツルハシによるブロック叩きイベント(pickaxe_poke)、ブラウザ内自動保存(IndexedDB)の導入。
state の分離)、空間識別子の Minecraft
DimensionKey への統一、高速建築モード(DEBUG,
TRACE, FAST)の整備。
setPlayer
廃止、setWorld /
setBuildOrigin 導入)、向きを含むプレイヤー姿勢(getPose /
setPose)の追加。
catalog.get)と、型補完アーティファクト(mc_constants)の生成機構。
/mcremote pair コマンド)の確立。