Minecraft for Python
夜子まま
Kobe.py 第2回勉強会
自己紹介
• 名前: 寺園聖文 てらぞの まさふみ
• ハンドルネーム: 夜子まま
• 職業: Androidエンジニア、またはプログラミング講師
• マイクラ歴: 半年
• SNS: Twitter @yokmama とFacebookやってます
話す内容
Pythonで作ったプログラムをMinecraftの世界に出力して遊ぼう
!っていう話をします
さてMinecraftを知ってますか?
それは、
多種多様な生き物が生活する箱庭ゲーム
今回は
このMinecraftの
世界に
Pythonから
干渉してmeようと
思っています
Python
Hello World
これが
Python
こうなる
Python
sorted
2
3
4
5
6
7
これが
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のプロジェクトを作成
Kobe.py 勉強会 minecraft piスライド
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 floats
playerPos = mc.player.getPos()
#sets a block at an x, y, z co-ordinate to a particular type
mc.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 run
blockEvents = mc.events.pollBlockHits()
for blockEvent in blockEvents:
print blockEvent
プレイヤーがブロックを叩いたときに何かをしたい
例えばこんなことが出来るぞ
Lets Python!

More Related Content

PPTX
Minecraftと連携するSlackちゃんという会話Botを作った話
PDF
初心者向けSpigot開発
PPTX
ディープラーニングにおける学習の高速化の重要性とその手法
PDF
Unityで始めるバージョン管理 Git LFS 入門編
PPTX
Triphugger 1.0
PDF
Unityが繋げる!ゲーム制作コミュニティとOSSの最前線 - OSC19広島
PDF
VTuberになるためにUnityを触ってみよう!
PDF
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話
Minecraftと連携するSlackちゃんという会話Botを作った話
初心者向けSpigot開発
ディープラーニングにおける学習の高速化の重要性とその手法
Unityで始めるバージョン管理 Git LFS 入門編
Triphugger 1.0
Unityが繋げる!ゲーム制作コミュニティとOSSの最前線 - OSC19広島
VTuberになるためにUnityを触ってみよう!
誰でもVTuberになれるWebアプリFaceVTuberの立ち上げ話

What's hot (20)

PPTX
プログラマがUnityでSTGを作った話
PDF
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
PDF
「宴」まとめ(2016年7月23UniBoookLT大会)
PDF
Cloudmix About Girls
PPTX
TRaT Sprint12
PDF
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
PDF
当日に楽しめない話
PDF
関ジャバ 20130731 invokedynamic
PDF
勉強会アンチパターン at LLまつり
PPTX
PythonのインストールからHello Worldまで
PDF
Imostagram
PDF
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
PPTX
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~バーチャルYoutuberのイママデとコレカラ~
PDF
UnityによるVR開発 - 基本編 -
PDF
Developers Summit 2016 kintone プラグイン開発ハンズオン
PDF
GGJ登録マニュアル
PPT
How to make gear demo videos(機材動画のつくりかた)
PPTX
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~VRMのセカイとVTuberアプリの変遷~
PPTX
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
PDF
S05 t1 midorikawa
プログラマがUnityでSTGを作った話
八百万クエストにおける MUN採用事例 MUN使用環境における課題と対策
「宴」まとめ(2016年7月23UniBoookLT大会)
Cloudmix About Girls
TRaT Sprint12
UnityでつくるVRアプリ 〜VRの作法とVRTK〜
当日に楽しめない話
関ジャバ 20130731 invokedynamic
勉強会アンチパターン at LLまつり
PythonのインストールからHello Worldまで
Imostagram
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~バーチャルYoutuberのイママデとコレカラ~
UnityによるVR開発 - 基本編 -
Developers Summit 2016 kintone プラグイン開発ハンズオン
GGJ登録マニュアル
How to make gear demo videos(機材動画のつくりかた)
FaceVTuberの開発者が見た バーチャルYoutuberの世界 ~VRMのセカイとVTuberアプリの変遷~
【Unity道場スペシャル 2017札幌】おっさんでも美少女になれる?!VRアイドルの作り方
S05 t1 midorikawa
Ad

Viewers also liked (16)

PPTX
Minecraft dayの報告
PPTX
Ugledajte se na nas
PDF
فرحة الأبرار في قراءة خلف البزار من طريقي الدرة والطيبة
PDF
إنفوجرافيك - أهمية إنشاء تطبيق للهواتف الذّكية للمدوّنة أو منصّة النشر
PPTX
Brief Intro to Shaoxing
PPTX
Интернет-ТВ как новый формат в Сети
PDF
PPTX
Shablon Skolkovo
PDF
Презентация Deworkacy
PDF
Olivier Courtin - PostGIS from 1.4 to 2.0: what is really new?
PPTX
Metacognition & Self-regulated Learning
PDF
カスタムメタデータを受託の案件で使ってみた話
PDF
Subversion の導入から 運用について 〜ワシのTipsは108つまであるぞ〜
PPTX
LA REVOLUCIÓ INDUSTRIAL
Minecraft dayの報告
Ugledajte se na nas
فرحة الأبرار في قراءة خلف البزار من طريقي الدرة والطيبة
إنفوجرافيك - أهمية إنشاء تطبيق للهواتف الذّكية للمدوّنة أو منصّة النشر
Brief Intro to Shaoxing
Интернет-ТВ как новый формат в Сети
Shablon Skolkovo
Презентация Deworkacy
Olivier Courtin - PostGIS from 1.4 to 2.0: what is really new?
Metacognition & Self-regulated Learning
カスタムメタデータを受託の案件で使ってみた話
Subversion の導入から 運用について 〜ワシのTipsは108つまであるぞ〜
LA REVOLUCIÓ INDUSTRIAL
Ad

More from Masafumi Terazono (20)

PPTX
BungeeCordeについて
PPTX
Spongeについて
PDF
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
PDF
夜子まま塾 2015年1月23日 進行用資料
PDF
PDF
Android wear勉強会2
PDF
夜子まま塾@鹿児島
PDF
セーラーソン振り返り
PDF
関西Nfc lab勉強会 宣伝
PDF
関西支部 第二回 NFCLab勉強会 
PDF
日本Androidの会 中国支部資料
PDF
Android+NFC 日本Androidの会神戸支部 勉強会
PDF
関西支部Android勉強会(ロボットxnfc)
PDF
関西Unity勉強会
PDF
夜子まま塾講義12(broadcast reciever)
PDF
夜子まま塾講義11(暗黙的intent)
PDF
夜子まま塾講義10(画面の呼び出し)
PDF
夜子まま塾講義9(androidの画面デザイン)
PDF
夜子まま塾講義8(androidの画面デザイン2)
PDF
夜子まま塾講義7(androidの画面デザイン1)
BungeeCordeについて
Spongeについて
初心者〜中級者 Android StudioによるAndroid勉強会資料(スライド)
夜子まま塾 2015年1月23日 進行用資料
Android wear勉強会2
夜子まま塾@鹿児島
セーラーソン振り返り
関西Nfc lab勉強会 宣伝
関西支部 第二回 NFCLab勉強会 
日本Androidの会 中国支部資料
Android+NFC 日本Androidの会神戸支部 勉強会
関西支部Android勉強会(ロボットxnfc)
関西Unity勉強会
夜子まま塾講義12(broadcast reciever)
夜子まま塾講義11(暗黙的intent)
夜子まま塾講義10(画面の呼び出し)
夜子まま塾講義9(androidの画面デザイン)
夜子まま塾講義8(androidの画面デザイン2)
夜子まま塾講義7(androidの画面デザイン1)

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