MinecraftをPythonで操作する——Minescript導入からRaspberry Piサーバー構築まで
この記事でわかること
- はじめに
- Minescriptとは
- 導入環境
- Step 1: Mac側のセットアップ
- Fabric Loaderのインストール
- MODファイルの配置
MinecraftをPythonで操作する——Minescript導入からRaspberry Piサーバー構築まで
はじめに
「Minecraftでプログラミングの勉強ができないか?」という発想から始まったこの検証。MinescriptというMODを使うと、PythonでMinecraftを操作できることがわかった。今回はMac M1への導入から、Raspberry Piでのサーバー構築、Pythonスクリプトで家を自動建築するところまでやってみた。
Minescriptとは
MinescriptはFabric(Minecraftのmod loader)に対応したクライアントサイドのMOD。ゲーム内でPythonスクリプトを実行でき、ブロックを操作したりプレイヤーを動かしたりできる。
- 公式: Modrinth – Minescript
- 対応バージョン: 1.21.10(2025年時点)
- Pythonは不要(内蔵のPyjinnエンジンで動く)
導入環境
- クライアント: MacBook Air M1 / macOS最新版
- サーバー: Raspberry Pi(Debian 13 / ARM64)
- Minecraftバージョン: Java Edition 1.21.10
Step 1: Mac側のセットアップ
Fabric Loaderのインストール
Minescriptを使うにはFabricが必要。Minecraftに内蔵されているJavaを使ってインストーラーを実行する。
# Fabric Installer ダウンロード
curl -L -o ~/Downloads/fabric-installer-1.1.1.jar \
"https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.1.1/fabric-installer-1.1.1.jar"
# Minecraft内蔵のJavaで起動
"/Users/casio/Library/Application Support/minecraft/runtime/java-runtime-delta/mac-os-arm64/java-runtime-delta/jre.bundle/Contents/Home/bin/java" \
-jar ~/Downloads/fabric-installer-1.1.1.jar
GUIが開いたら:
– Minecraft Version: 1.21.10
– Loader Version: 最新
– 「Install」をクリック
インストール先: ~/Downloads/fabric-installer-1.1.1.jar
MODファイルの配置
MODS=~/Library/Application\ Support/minecraft/mods
# Fabric API
curl -L -o "$MODS/fabric-api-0.138.4+1.21.10.jar" \
"https://cdn.modrinth.com/data/P7dR8mSH/versions/tV4Gc0Zo/fabric-api-0.138.4%2B1.21.10.jar"
# Minescript
curl -L -o "$MODS/minescript-fabric-1.21.10-5.0b11.jar" \
"https://cdn.modrinth.com/data/KcpXWngB/versions/Fb2gRYFQ/minescript-fabric-1.21.10-5.0b11.jar"
インストール先:
– ~/Library/Application Support/minecraft/mods/fabric-api-0.138.4+1.21.10.jar
– ~/Library/Application Support/minecraft/mods/minescript-fabric-1.21.10-5.0b11.jar
起動確認
- Minecraftランチャーで
fabric-loader-1.21.10プロファイルを選んで起動 - ワールドに入り
\(バックスラッシュ)キーを押す - Minescriptのプロンプトが開けばOK
Step 2: はじめてのスクリプト
スクリプトの保存先: ~/Library/Application Support/minecraft/minescript/
hello.py
import minescript
minescript.echo("こんにちは!Minescriptが動いています!")
プロンプトで hello と入力してEnterを押すと、画面にメッセージが表示される。
Step 3: 整地スクリプト
プレイヤーの足元を中心に21×21マスを平らにする。
ポイント: ~ はMinecraftの相対座標。座標取得不要で書ける。
# flatten.py
import minescript
minescript.echo("整地開始...")
minescript.execute("/fill ~-10 ~ ~-10 ~10 ~15 ~10 air")
minescript.execute("/fill ~-10 ~-1 ~-10 ~10 ~-1 ~10 grass_block")
minescript.echo("整地完了!21×21の平地ができました")
実行: \ キー → flatten
Step 4: 家を自動建築するスクリプト
石レンガの床・木材の壁・ガラス窓・松明つきの家を自動で建てる。
# build_house.py
import minescript
minescript.echo("建築開始!")
# 床(石レンガ)
minescript.execute("/fill ~-4 ~ ~-4 ~4 ~ ~4 stone_bricks")
# 壁(木材で塗りつぶし→内側を空洞)
minescript.execute("/fill ~-4 ~1 ~-4 ~4 ~5 ~4 oak_planks")
minescript.execute("/fill ~-3 ~1 ~-3 ~3 ~5 ~3 air")
# 天井
minescript.execute("/fill ~-4 ~6 ~-4 ~4 ~6 ~4 oak_planks")
# 玄関
minescript.execute("/fill ~-1 ~1 ~4 ~1 ~3 ~4 air")
# 窓(前後)
minescript.execute("/setblock ~-3 ~3 ~4 glass_pane")
minescript.execute("/setblock ~3 ~3 ~4 glass_pane")
minescript.execute("/setblock ~-3 ~3 ~-4 glass_pane")
minescript.execute("/setblock ~3 ~3 ~-4 glass_pane")
# 窓(左右)
minescript.execute("/setblock ~4 ~3 ~-2 glass_pane")
minescript.execute("/setblock ~4 ~3 ~2 glass_pane")
minescript.execute("/setblock ~-4 ~3 ~-2 glass_pane")
minescript.execute("/setblock ~-4 ~3 ~2 glass_pane")
# 松明(室内)
minescript.execute("/setblock ~-2 ~1 ~-2 torch")
minescript.execute("/setblock ~2 ~1 ~-2 torch")
minescript.execute("/setblock ~-2 ~1 ~2 torch")
minescript.execute("/setblock ~2 ~1 ~2 torch")
minescript.echo("完成!家が建ちました!")
実行: \ キー → build_house
注意: チートが有効なワールド、またはクリエイティブモードで実行すること。
Step 5: Raspberry PiでMinecraftサーバーを構築
Java 21のインストール
ssh casio@xxx.xxx.xxx.xxx
sudo apt-get update -y
sudo apt-get install -y openjdk-21-jre-headless
インストール先: /usr/lib/jvm/java-21-openjdk-arm64/
PaperMCサーバーのダウンロード
mkdir -p ~/minecraft-server
curl -L -o ~/minecraft-server/paper-1.21.10-129.jar \
"https://api.papermc.io/v2/projects/paper/versions/1.21.10/builds/129/downloads/paper-1.21.10-129.jar"
インストール先: ~/minecraft-server/paper-1.21.10-129.jar
初期化とEULA同意
cd ~/minecraft-server
java -Xmx1G -Xms512M -jar paper-1.21.10-129.jar --nogui
# → eula.txtが生成される
sed -i 's/eula=false/eula=true/' eula.txt
常時起動スクリプトの作成
cat > ~/minecraft-server/start.sh << 'EOF'
#!/bin/bash
cd ~/minecraft-server
screen -dmS minecraft java -Xmx1536M -Xms512M -jar paper-1.21.10-129.jar --nogui
echo 'Minecraft server started'
EOF
chmod +x ~/minecraft-server/start.sh
インストール先: ~/minecraft-server/start.sh
起動
sudo apt-get install -y screen
~/minecraft-server/start.sh
# 起動確認
screen -S minecraft -X hardcopy /tmp/log.txt && grep "Done" /tmp/log.txt
Step 6: マルチプレイ設定
接続方法
MinecraftのマルチプレイからサーバーIPを追加:
xxx.xxx.xxx.xxx
OP権限の付与
コマンドを使えるようにするにはサーバーコンソールからOP権限を付与する。
screen -S minecraft -X stuff 'op プレイヤー名\n'
まとめ・気づき
| やったこと | 使った技術 |
|---|---|
| MinescriptのMac導入 | Fabric + MODファイル配置 |
| Pythonスクリプトでブロック操作 | Minescript 5.0(Pyjinn) |
| 整地・建築の自動化 | /fill /setblock の相対座標 |
| Raspberry Piサーバー構築 | Java 21 + PaperMC + screen |
| マルチプレイ対応 | OP権限付与 |
Minescriptを使うと「Pythonを書く→ゲームが動く」という体験が手軽にできる。プログラミング学習の入口として非常に面白い素材だと感じた。
検証日: 2026年4月25日
関連記事
Step 7: サーバーの常時起動設定
screenで起動するだけではRaspberry Piを再起動したときにサーバーが止まってしまう。systemdサービスに登録することで、電源を入れるだけで自動起動するようになる。
systemdサービスの登録
# /etc/systemd/system/minecraft.service を作成
sudo systemctl daemon-reload
sudo systemctl enable minecraft # 自動起動を有効化
sudo systemctl start minecraft # 起動
サーバーの操作コマンド
| 操作 | コマンド |
|---|---|
| 起動 | sudo systemctl start minecraft |
| 停止 | sudo systemctl stop minecraft |
| 再起動 | sudo systemctl restart minecraft |
| 状態確認 | sudo systemctl status minecraft |
SSHで ssh casio@xxx.xxx.xxx.xxx に接続してから実行する。Raspberry Piの電源を入れるだけで自動起動するので、通常は操作不要。
