Kobe.py 勉強会 minecraft piスライド

Preview:

Citation preview

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!