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

起動確認

  1. Minecraftランチャーで fabric-loader-1.21.10 プロファイルを選んで起動
  2. ワールドに入り \(バックスラッシュ)キーを押す
  3. 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の電源を入れるだけで自動起動するので、通常は操作不要。

ブログ

BLOG

PAGE TOP