毎度。一馬力です。
Minecraftって楽しいですよね。
ブロックポチポチ置いて自分だけの世界を作って行く感じが素敵です。
(2017/6/7更新)
とりあえず,どんな感じで動くのか確認したい人は
この記事を参考にして下さい
サンプルスクリプト名・概要を一覧にまとめています
目次
概要図
MinecraftをPythonから操作する環境のイメージは図の通りです。
この記事では下図の環境を作ってPythonからMinecraftの世界に
“Hello World”する事を目標にします。
必要なもの
- Minecraft (インストール済み前提で説明します)
- Minecraft FORGE
- Raspberry Jam Mod
- MCPI - Minecraft: Pi edition API Python Library
- Python (macOSには標準でインストール済みです)
Minecraft FORGEの導入
MinecraftでMOD(今回はRaspberry Jam Mod)を動かす前提としてFORGEを導入します
ダウンロードサイトのURLは
http://files.minecraftforge.net/#Downloads
です。
Minecraft FORGEのダウンロード
サイトにアクセスして自分の環境にあったファイルをダウンロードします。
一馬力の環境はmacOS,Minecraftのバージョンは1.11なので最新版をダウンロードしていきます
Minecraft FORGEのインストール
ダウンロードしたforge-1.11.2-13.20.0.2259-installer.jarを実行します。
注意:以下ポップアップが出力されたらJDKを導入して下さい
この記事執筆時の最新版はjdk-8u121-macosx-x64でした。
インストール画面を記載しておきます。参考にして下さい
Minecraft起動とFORGE導入確認
Minecraftを起動します。
起動オプションに導入したforgeが表示されている事を確認します
”プレイ”ボタン右横の上矢印を選択してforgeをクリックします。
デフォルトの”最新のバージョン”から選択したforgeに変更されていればOKです
”プレイ”ボタンを押してMinecraftを起動します
起動完了して左下に”Powerd by Forge”が表示されてばインストール完了です。
Raspberry Jam Modのインストール
続いてMCPIと通信するためのMOD(Raspberry Jam Mod)をインストールしていきます
MODはgithubからダウンロードします
ダウンロードURL
https://github.com/arpruss/raspberryjammod/releases/tag/0.88.2
サイトからmod.zipをダウンロードします。
ダウンロードしたファイル(zip)を展開すると下のような構成になっています。
インストールするバージョンにあわせてRaspberryJamMod.jarを選択します
選択したRaspberryJamMod.jarをMinecraftのMod格納先に保存します。
MacOSの場合は
/Users/(ユーザー名)/Library/Application Support/minecraft/mods
となります。
※FinderでLibraryが表示されない場合
Option キーを押しながら移動メニューをクリックすると表示されます
modの保管が完了したら,再度Minecraftを起動して
modが認識されているか確認します
上の画像のように表示されていれば,インストールは問題無く完了しています。
MCPIの実行
MCPIのダウンロード
MCPIのダウンロードはRaspberry Jam Modと同じサイトからダウンロードします
ダウンロードURL
https://github.com/arpruss/raspberryjammod/releases/tag/0.88.2
サイトからpython-scripts.zipをダウンロードします。
ダウンロードしたファイルを展開すると,”mcpipy”ディレクトができあがります
Minecraftと通信するためのPythonライブラリです。
MCPIで"hello world"
Minecraft側の準備
Minecraftのフォーカスが外れた時,動作が止まってしまいます。
MCPIを利用してpythonプログラムを動作させるときは,ターミナルから実行するので
Minecraft側の準備が必要となります
Minecraftのワールドを実行したら,F3 + Pを押して下さい
画面上に”フォーカスが外れた時にポーズ:無効”が表示されてば成功です。
画面から外れてもワールドは実行されたままになります
プログラム作成
MCPIが保存されているディレクトリ(mcpipy)に移動して,pythonプログラムを記述します
今回は"Hello Minecraft World!”と表示させてみます
下のプログラムを記載してhello.pyのファイル名で保存して下さい
import mcpi.minecraft as minecraft mc = minecraft.Minecraft.create() mc.postToChat("Hello Minecraft World!")
プログラムの実行
さてプログラムの準備が完了したら,ついに実行です
マインクラフトのワールドはフォーカスが外れてもポーズしない状態になっていますか?
先程準備したプログラムを実行してみましょう
ターミナルを開いて,”python hello.py”で実行です
プログラムを実行する
Minecraftのワールドにメッセージが表示される
“Hello Minecraft World!”と表示されましたか?
おめでとうございます。これで,pythonプログラムからMinecraftの世界を操作できるようになりました!!
これから色々と試してみたいと思います
試した環境
ホストOS
MacBook Pro (Retina, 13-inch, Late 2013) macOS Sierra システムのバージョン: macOS 10.12.4 (16E195) カーネルのバージョン: Darwin 16.5.0
Minecraft
Minecraft 1.11.2 Forge-1.11.2-13.20.0.2259 Raspberry Jam Mod 0.88 Python 2.7