Minecraft Programming プレイヤー位置&block配置

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

今回は複数のブロックを並べてみます。

今は何にもない状態。広々した世界が続く・・・

では自分の座標に対してx軸方向に5つ指定したブロックを並べてみましょう。

これが今回のスクリプトです。

まず1〜3行はおなじみの呪文。

4行目はプレイヤーのタイルでの位置情報を取得し変数posに格納。

5行目〜9行目は、プレイヤーの位置情報を基準にブロックを並べるスクリプトです。

ここでブロックIDが「1」のSTONEを指定しています。

5行目はプレイヤーの位置情報のx軸の位置に+1足したところにブロッックを置きます。

6行目はプレイヤーの位置情報のx軸の位置に+2足したところにブロッックを置きます。

というように、X座標に+1足してずらしてSTONEを配置させます。

では実際にこのスクリプトを実行するとこんな感じ。

ドン!!

STONEがX軸方向に5つ配置されました。簡単ですね。

では次にY軸とZ軸にも5つSTONEを配置します。

今度はわかりやすく空中でやってみます。ジャンプ!!

そして〜

ドン!!

X・Y・Z軸にそれぞれ5つSTONEを配置出来ました!!

スクリプトはこちら。

今ので19行、ちょっと長いですね。

少しスリムにしてみましょう。

同じ結果で7行にしてみました。

ちなみに、今度はブロックをSTONEではなくGLASS(ガラス:20)にしました。

結果はこんな感じ。

ドン!!

同じ結果ですね。ブロックの種類は違いますが。

では何が違うのか。

メソッド(関数)を変えました。

setBlocks()を使います。

今までのメソッドとほぼ同じですが最後に「S」が付いてますよ。複数形ですね。

関数の中身ですが、最初に基準となる位置をx,y,z軸で指定し、その後に並べる最終位置をx,y,z軸で指定します。

例えば下の例だと、

setBlocks(pos.x+1,pos.y,pos.z,pos.x+6,pos.y,pos.z,20)

x軸だけみると、プレイヤーの位置pos.x+1からpos.x+6まで並べます。

y・Z軸はプレイヤーの位置から変更なし、という設定です。

この結果はプレイヤーのX軸方向に5個GLASSを配置してくれます。

先ほどのスクリプトの6行目はY軸方向、7行目はZ軸方向の命令です。

ということで、次回はさらによりプログラミングチックにやってみましょう!!

-Minecraft, Programming, プレイヤー位置&block配置