blockのランダム配置 Minecraft Programming

【Minecraft】Pythonでブロックを並べてみる!!その4

さ、今回はMinecraftでランダムにブロックを並べてみましょう!!

今までPythonの「setBlock」を使ってブロックを並べる際、ブロックのIDを指定することで石や草、そしてガラスなどを配置してきました。

このIDは数字ですから数字の乱数を作る仕組みを適用すれば、スクリプトを実行する度にランダムにブロックのIDが変化し、いろいろなブロックが配置されます。面白そうでしょ。

ではやってみましょう!!

今回乱数を生成するために、新しいモジュールをインポートする必要があります。

それが「random」です。

このrandomモジュールで使う関数「randint()」を利用すると、任意の範囲の整数をランダムに返してくれます。

例えば使い方はこうです。

import random             :  randomモジュールのインポート

random.randint(0,24) :0〜24までの整数をランダムに返します。この場合24も含みます。

この整数の範囲はMinecraftのブッロクIDを指定しています。

ブッロクIDの一覧はこうでした。抜粋なのでまだまだブッロックの種類ありますよ〜。

ちなみにこのIDの調べ方はforgeを入れた際に以下のパスにあります「block.py」のスクリプト内に記載されてますので確認してみてください。

/users/ユーザー名/library/application support/minecraft/versions/1.12.2-forge1.12.2-14.23.5.2768/mcpipy/mcpi/block.py

では今回のスクリプトです。

1個目の赤枠内がrandomモジュールのインポートおよびrandint()関数の指定です。

randint()関数は0〜24までのブロックIDをランダムに返し変数 r に格納します。

2個目の赤枠内の「r」にブロックIDを指定しています。

ではこれを実行してみましょう!!

さあ、どうなるんでしょう?!

えい!!

座標 x+1にブロックが現れました!!

ちょっと後退して、もう一回同じスクリプトを実行。

えい!!

おお!!これはID10の「LAVA_FLOWING」、つまり溶岩流ですね。

うわっ流れ出しました!!

私が燃えてる!!・・・熱い熱い!!

ではこのスクリプトを連続して実行してみましょう!!

結果はこうです!!

溶岩流がまた出るは、水流は出るは、その他様々なストーンが出ました。

これだけでも結構楽しいですよ。

というこうとで、今回はrandomモジュールをインポートして、指定した範囲内のブロックをランダムに配置してみました。

ぜひ試してみてください!!

 

-blockのランダム配置, Minecraft, Programming