パイクラおじさんの日記

MinecraftでPythonを勉強するおじさんの日記です。

マイクラ内での読み込み(1)

Pythonが実行可能な状態にした)マイクラに認識されるように次のディレクトリ(各自それぞれのバージョンによって違う可能性があります)にloadnpy.pyという名前で保存した。

~/Library/Application\ Support/minecraft/versions/1.12-forge1.12-14.21.1.2387/mcpipy/

とりあえず、草ブロックを配置する。

# coding: utf-8

import mcpi.minecraft as minecraft
import mcpi.block as block
import numpy as np
import sys

NPY_DIR = "/Users/pycra/Desktop"
NPY_FILE = "npydata-{0:04d}-{1:02d}-{2:02d}.npy"

mc = minecraft.Minecraft()
mc.postToChat("Loadnpy.py Start!")

if len(sys.argv) < 4:
    print("loadnpy.py mesh1 mesh2 mesh3")
    exit(-1)

mesh1 = int(sys.argv[1])
mesh2 = int(sys.argv[2])
mesh3 = int(sys.argv[3])

array = np.load(NPY_DIR+"/"+NPY_FILE.format(mesh1, mesh2, mesh3))
(zshape, xshape) = array.shape

for z in range(zshape):
    for x in range(xshape):
        mc.setBlock(x, array[z][x], z, block.GRASS)

mc.postToChat("Loadnpy.py Finish!!!")