Ubuntu 18.04 で JAVA版 MINECRAFT + Python3 

「Ubuntu18.04 で MINECRAFT」
https://qiita.com/nanbuwks/items/df10bba9f0ed473827d7

の環境を元に、Python3 で MINECRAFT プログラミングできるようにしてみます。

以下は小学生でもできるように記述したため、冗長になっています。
また、Ubuntuの設定として、デフォルトフォルダを英語構成としています。

# Webブラウザで操作


## raspberryjammod からダウンロード

Chromeなどで操作します。もし、作業途中で「このページを翻訳しますか？」が出てきたら閉じてください。

https://github.com/arpruss/raspberryjammod/releases

を開きます。

ここから「Latest release」を押して

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/63915e7a-1c8e-5742-5688-ac11e7a6cee4.png)

mods.zip
と
python-scripts.zip

を右クリックして「名前をつけてリンク先を保存」します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/928ca5cd-5dd7-7b1d-a989-7fe37c3ed1ff.png)

保存場所はDownloadsにしておきます。

Webブラウザのダウンロード画面を出します。Chromeの場合、右上ボタンから「ダウンロード」です。
mods.zipをクリックして中身を確認（展開しない）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/8ceb9724-94b9-dd2f-4e69-8b90c14643ad.png)

最新のが 1.12.2 ということがわかります。
これから使う Minecraft のバージョンはこれに合わせないといけません。

確認できたら mods.zip の画面は閉じておきましょう。

## minecraftforge をダウンロード

以下のWebページを開く
https://files.minecraftforge.net/

これから使う Minecraft のバージョンは 1.12.2でした。
なので、左側のMinecraft Version を 1.12.2を選びます。

「Download Recommended 1.12.2 - 14.23.5.2768」の「Installer」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/f8b71862-6e87-7a66-027a-e07a6d0bf84d.png)

（Windows Installerではありません！）を右クリックして「名前をつけてリンク先を保存」で、
Downloadsに保存する。（forge-1.12.2-14.23.5.2768-installer.jar）


# ターミナルでの作業

Windowsキー＋Sキーを押してTERMと打ち込み→端末を選び、黒い画面を出す。

黒い画面に以下のように入力（コピー＆ペースト）。

```

cd Downloads
java  -jar forge-1.12.2-14.23.5.2768-installer.jar
```

「Install Client」で「OK」
![Screenshot from 2019-08-08 20-09-14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/48387f27-9915-b464-9ad8-c90d7ddcbb27.png)

# minecfartでの作業

そのあとminecraft-installerを起動する

「起動構成」-「新規作成」で名前を「minepython」とする。
「バージョン」は「release 1.12.2-forge1.12.2-14.23.5.2768」を選ぶ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/43e4f4d3-383c-8a95-d88e-cc14471b7e60.png)


「作成」のあと、minepython を起動する

この作業をして一旦環境を作っておかないと進まない

# ターミナルの作業

ターミナル（黒い画面）に戻って

```

cd
mkdir minepython
cd minepython
mkdir mods
pwd
```

こうすると出てくる
/home/nanbuwks/minepython（環境によって違います）
がゲームディレクトリ。これは重要なのでメモしておく。

# minecfartでの作業

そのあとminecraft-installerを起動する

「起動構成」で先程のminepytonを選び編集。
「ゲームディレクトリ」を先程メモしたものにする。
なお、ゲームディレクトリは参照が効かなかったり相対パスが効かなかったりするので絶対パスで入力。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/2a067362-070d-0d84-d287-478818415a0b.png)

「作成」のあと、minepython を起動する

「Mod」の画面があるのを確認して「Quit Game」

これでゲームディレクトリに必要なフォルダなどができる。

# ターミナルの作業

ターミナル（黒い画面）に戻って

```
 export GAMEDIR=/home/nanbuwks/minepython ←メモしたゲームディレクトリ
 cd
 cd Downloads
 mkdir pimod
 cd pimod
 mv ../mods.zip .
 unzip mods.zip
 cp 1.12.2/RaspberryJamMod.jar $GAMEDIR/mods
 mv ../python-scripts.zip .
 unzip python-scripts.zip
 cp -a mcpipy $GAMEDIR
```

# minecraft起動して動作確認

起動したら
「Mods」
を押す

左側に「RaspberryPiMoD」があるかどうか調べる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/4cee5480-d47a-8cb4-5f21-8c16710e28db.png)

「Singleplayer」で「Create New World」で適当に名前をつけて「Create New World」
してワールドで遊べることを確認できたら

「t」を押す

チャットで
/python helloworld.py
として実行できるか確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/a7b8f98d-1e93-97dd-6816-533cf5764b53.png)

実行が成功すれば

Hello worldと表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/276fba9f-4c54-558d-e72d-557e15c67a02.png)

# IDLE インストールして Python を作る環境を用意する

ターミナル（黒い画面）に戻って

```

sudo apt update
sudo apt-get install idle-python3.6

```
# IDLE から Python を実行する

Windowsキーを押してIDLEを呼び出す
IDLEのFileを押してNew File
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/7368b1b7-ba42-5da2-2e7e-198417b7fe71.png)

プログラムを以下のようにする

```

from mcpi.minecraft import Minecraft
from mcpi.block import *
mc = Minecraft.create()
pos = mc.player.getTilePos()
for i in range(10):
  mc.setBlock(pos.x+i,pos.y+10,pos.z,STONE)
mc.postToChat("Hello STONE")
```

File押してSave Asを押して
ゲームディレクトリのmcpipyに
hellostone.pyとして保存

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/ecdd99d4-e799-fb9a-6b4e-adf0100a1a29.png)

「Run」-「Run Module F5」で実行します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/15246392-a5b1-d951-53b5-26b44d9dbe94.png)

Saveするかどうか聞いてくるので、「OK」を押して保存したら、実行されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b254cf1b-3665-da8d-3f09-10572e181e8b.png)

minecraft画面に戻り、上を見ると石の橋が空中にできています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b06ce242-f40f-332a-d274-a9496e512417.png)