一馬力のメモ帳

MVSからLinuxまで。基盤屋さんは眠らない

MinecraftをPythonから操作する(2017/06/07更新)

毎度。一馬力です。

今日はMinecraftPythonから操作する話です。

Minecraftって楽しいですよね。
ブロックポチポチ置いて自分だけの世界を作って行く感じが素敵です。

(2017/6/7更新)

とりあえず,どんな感じで動くのか確認したい人は
この記事を参考にして下さい

サンプルスクリプト名・概要を一覧にまとめています

ichibariki.hatenablog.com

目次


概要図

MinecraftPythonから操作する環境のイメージは図の通りです。
この記事では下図の環境を作ってPythonからMinecraftの世界に
Hello World”する事を目標にします。

f:id:htbariki:20170503184527p:plain

必要なもの

Minecraft FORGEの導入

MinecraftでMOD(今回はRaspberry Jam Mod)を動かす前提としてFORGEを導入します

ダウンロードサイトのURLは
http://files.minecraftforge.net/#Downloads 
です。

 Minecraft FORGEのダウンロード

サイトにアクセスして自分の環境にあったファイルをダウンロードします。
一馬力の環境はmacOS,Minecraftのバージョンは1.11なので最新版をダウンロードしていきます

f:id:htbariki:20170503184509p:plain

 Minecraft FORGEのインストー

ダウンロードしたforge-1.11.2-13.20.0.2259-installer.jarを実行します。

注意:以下ポップアップが出力されたらJDKを導入して下さい
この記事執筆時の最新版はjdk-8u121-macosx-x64でした。

f:id:htbariki:20170503184512p:plain

インストール画面を記載しておきます。参考にして下さい

f:id:htbariki:20170503184533p:plain

f:id:htbariki:20170503184506p:plain

f:id:htbariki:20170503184522p:plain

Minecraft起動とFORGE導入確認

Minecraftを起動します。
起動オプションに導入したforgeが表示されている事を確認します

f:id:htbariki:20170503184536p:plain

”プレイ”ボタン右横の上矢印を選択してforgeをクリックします。

f:id:htbariki:20170503184538p:plain

デフォルトの”最新のバージョン”から選択したforgeに変更されていればOKです
”プレイ”ボタンを押してMinecraftを起動します

f:id:htbariki:20170503184529p:plain

起動完了して左下に”Powerd by Forge”が表示されてばインストール完了です。

f:id:htbariki:20170503184540p:plain

 Raspberry Jam Modのインストー

続いてMCPIと通信するためのMOD(Raspberry Jam Mod)をインストールしていきます

MODはgithubからダウンロードします

ダウンロードURL
https://github.com/arpruss/raspberryjammod/releases/tag/0.88.2

サイトからmod.zipをダウンロードします。

f:id:htbariki:20170503184545p:plain

ダウンロードしたファイル(zip)を展開すると下のような構成になっています。
インストールするバージョンにあわせてRaspberryJamMod.jarを選択します

f:id:htbariki:20170503184548p:plain

選択したRaspberryJamMod.jarをMinecraftのMod格納先に保存します。
MacOSの場合は

/Users/(ユーザー名)/Library/Application Support/minecraft/mods

となります。

※FinderでLibraryが表示されない場合
 Option キーを押しながら移動メニューをクリックすると表示されます

modの保管が完了したら,再度Minecraftを起動して
modが認識されているか確認します

f:id:htbariki:20170503184550p:plain

f:id:htbariki:20170503184558p:plain 上の画像のように表示されていれば,インストールは問題無く完了しています。

 MCPIの実行

MCPIのダウンロード

MCPIのダウンロードはRaspberry Jam Modと同じサイトからダウンロードします

ダウンロードURL
https://github.com/arpruss/raspberryjammod/releases/tag/0.88.2

サイトからpython-scripts.zipをダウンロードします。

f:id:htbariki:20170503184554p:plain

ダウンロードしたファイルを展開すると,”mcpipy”ディレクトができあがります
Minecraftと通信するためのPythonライブラリです。

 MCPIで"hello world"

Minecraft側の準備

Minecraftのフォーカスが外れた時,動作が止まってしまいます。
MCPIを利用してpythonプログラムを動作させるときは,ターミナルから実行するので
Minecraft側の準備が必要となります

Minecraftのワールドを実行したら,F3 + Pを押して下さい 画面上に”フォーカスが外れた時にポーズ:無効”が表示されてば成功です。

画面から外れてもワールドは実行されたままになります
f:id:htbariki:20170503184514p:plain

 プログラム作成

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”で実行です

プログラムを実行する

f:id:htbariki:20170503184524p:plain

Minecraftのワールドにメッセージが表示される

f:id:htbariki:20170503184518p:plain “Hello Minecraft World!”と表示されましたか?

おめでとうございます。これで,pythonプログラムからMinecraftの世界を操作できるようになりました!!

これから色々と試してみたいと思います

試した環境

ホストOS

2500/15.4 MJLT2J/A MacBook Pro Retinaディスプレイ

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