前回は金属探知機ということで、主人公の足元に鉱石があるかをチャットするプログラムを作りました。今回は、もっと簡単に鉱石を発見できるプログラムを作ってみます。その名も地面スケスケの術。一言でいうと、地面の土や石ブロックを一瞬でガラスに変えてしまいます。
import mcpi.minecraft as minecraft import mcpi.block as block import time from mcpi.vec3 import Vec3 mc = minecraft.Minecraft() def makeDirt2Glass(start, dist): for y in range(0, dist.y): for x in range(0, dist.x): for z in range(0, dist.z): blk = mc.getBlock(start.x + x, start.y + y, start.z + z) if blk in [block.GRASS.id, block.DIRT.id, block.STONE.id, block.GRAVEL.id]: mc.setBlock(start.x + x, start.y + y, start.z + z, block.GLASS) pos = mc.player.getTilePos() makeDirt2Glass(pos + Vec3(-10, -64, -10), Vec3(20, 64, 20))
実行してみると、こんな感じになります。
ガラスを壊して進んでいきます。今回はなんと廃坑も発見できました。鉱石探し以外にも効率がアップできそうです。
深いところに進むと鉱石の種類が増えてきます。見渡すだけでも
- 石炭
- 鉄
- 金
- レッドストーン
- エメラルド
- ダイヤモンド
が見つけられます。
ここまででも十分にゲームバランスがおかしいですが、次回はさらに効率化してみます。