Minecraft for Python夜子まま
Kobe.py 第2回勉強会
自己紹介• 名前: 寺園聖文 てらぞの まさふみ• ハンドルネーム: 夜子まま• 職業: Android エンジニア、またはプログラミング講師• マイクラ歴: 半年• SNS : Twitter @yokmama と Facebook やってます
話す内容Python で作ったプログラムを Minecraft の世界に出力して遊ぼう!っていう話をします
さて Minecraft を知ってますか?
それは、多種多様な生き物が生活する箱庭ゲーム
今回は
この Minecraft の
世界に
Python から
干渉して me ようと思っています
Python
Hello World
これがPython
こうなる
Python
sorted234567
これがPython
こうなる
というわけでやってみましょう
Python SDK のインストール
https://www.python.org/
今回は 2.7 で動作検証しました
Python 開発ツールのインストール
https://www.jetbrains.com/idea/
Community Edition は無料です
Python プラグインをインストール
ここからPreference を選択
Plugins で Python を検索すると見つからないはず、なので Browse でさらに検索をする
Python のプラグインがみつかるはず、さっそくインストールしよう
インストールしたら再起動を促されるはずだ。IntelliJ を再起動しよう
Python のプロジェクトを作成
Python を選択ここが None になっているならNew をクリックして、VirtualEnv を生成して、Python2.7 を追加しよう
プロジェクトの名前は任意だけど、思いつかなければ python-mcpi としておいて。
Python のプロジェクトができました
mcpi ライブラリを追加
http://blog.whaleygeek.co.uk/minecraft-pi-with-python/
これを Download
展開したフォルダの中の api/python/mcpi をフォルダごとプロジェクトに追加
この作業はここまでつぎは、 Minecraft を設定しよう
Python 対応 Minecraft のインストール
You Minecraft のアカウントもってるかい?
こっからは持ってる奴だけの話だぜ
Minecraft Forge のインストール
http://files.minecraftforge.net/
今回は 1.7.10 でのみ、動作確認をしています。1.7.10 の Recommended バージョンをダウンロードしよう
まちがって AdWare をインスト―スしないように、右上の Skip で広告を飛ばそう。
クライアントをインストールしてください。install client です
Minecraft を起動し、左下のNew Profile をクリック
図のように編集分かりやすい名前に
Desktop 以外の分かりやすい場所に
さっきインストールした 1.7.10 を選択
一回シングルプレイで起動してすぐに終了しましょう
さっき設定したフォルダを開いてください。
この作業はここまでつぎは、このフォルダにいれる Mod ファイルをダウンロードしよう
mcpi 用 Mod のインストール
http://minecraft.curseforge.com/projects/mcpiapi/files/2223658
ダウンロードした jar ファイルをMinecraft の Profile で設定したフォルダの下にあるmods というフォルダに移動する
これで準備完了、最後にもう一度、次の条件が満たされているかもう確認してみよう
• PythonSDK が入っている• Python のプロジェクトに mcpi の Python ライブラリを追加している• Minecraft をもっている• Minecraft に MinecraftForge の 1.7.10 をインストールしている• MinecraftForge1.7.10 のプロフィルのフォルダの下の Mods に MCPI の Mods をいれている
準備ができているなら、早速 Minecraft をシングルプレイで起動しよう。ワールドはフラットワールドにしておくといいぞ
さぁこっからだ
Python で Hello World
プロジェクト名の所で右クリック
Python Packageを選択
名前は何でもいいけど思いつかなかったら demo をどうぞ
プログラムを作成していれるパッケージを作成
demo のところで右クリックし Python File を選択Python のプログラムを作成
ファイル名は HelloWorld
プログラムを実装
あとで説明するのでサラッと進めます
プログラムを実行実行したいプログラムを選択し右クリックでメニューからRun “HelloWorld”
を選択
プログラムを実行すると、 Minecraft の画面にHelloWorld が表示されます。
プログラムを解説
import mcpi.minecraft as minecraft
if __name__ == "__main__":
mc = minecraft.Minecraft.create()
mc.postToChat("Hello World”)
minecraft ファイルを読み込む
Python から Minecraft に命令をするためのMinecraft クラスを生成Chat に Hello World を表示するように指示
mcpi(Minecraft Pi) ライブラリ
Minecraft
mcpi サーバー
mcpi とはPython
mcpi クライアントライブラリmcpi プロトコル4711 ポートを使っているTCP 接続
http://www.stuffaboutcode.com/p/minecraft-api-reference.html
基本的なライブラリの解説は下記のサイトで参照できる。また先ほどダウンロードしたファイルの中に DOC も入っているので参照すると良いです。
プレイヤーの現在位置を知りたい#get players position as floatsplayerPos = mc.player.getPos()
#sets a block at an x, y, z co-ordinate to a particular typemc.setBlock(0,0,0,block.DIRT.id)#sets a block to a particular type and 'subtype'mc.setblock(0,0,0,block.WOOD.id, 1)
好きなブロックを置きたい
#get block event hits that have occured since the last time the function was runblockEvents = mc.events.pollBlockHits()for blockEvent in blockEvents: print blockEvent
プレイヤーがブロックを叩いたときに何かをしたい
例えばこんなことが出来るぞ
Lets Python!