MINECRAFT (Java version)

python を用いた Minecraft プログラミング (2)


ブロックをまとめて設置する (1)

  1. ブロックをまとめて設置するには setBlocks() 関数を使う。
  2. 'I' キーを押して 'py block_1_1b 'とタイプすると、'block_1_1b.py' が 呼び出される。
  3. C:/Users/nitta/Roaming/.minecraft-forge1.12.2/mcpi/block_1_1b.py
    import mcpi.minecraft as minecraft
    mc = minecraft.Minecraft.create()
    
    x, y, z = mc.player.getPos()
    mc.setBlocks(x+1, y, z, x+1, y+20, z, 1)
    
  4. 実行例。


ブロックをまとめて設置する (2)

  1. setBlocks() 関数を3回使ってみる。
  2. 'I' キーを押して 'py block_1_2 'とタイプすると、'block_1_2.py' が 呼び出される。
  3. C:/Users/nitta/Roaming/.minecraft-forge1.12.2/mcpi/block_1_2.py
    import mcpi.minecraft as minecraft
    mc = minecraft.Minecraft.create()
    
    x, y, z = mc.player.getPos()
    mc.setBlocks(x-3, y, z+3, x-2, y+3, z-3, 24)
    mc.setBlocks(x+2, y, z+3, x+3, y+3, z-3, 24)
    mc.setBlocks(x-3, y+4, z+3, x+3, y+5, z-3, 24)
    
  4. 実行例。

ブロックをまとめて設置する (3)

  1. $x$, $y$, $z$ 方向にそれぞれ $3$ 個, $2$ 個, $2$ 個。すなわち、合計で $3\times 2\times 2 = 12$ 個のブロックを生成する。
  2. 'I' キーを押して 'py block_2_1 'とタイプすると、'block_2_1.py' が 呼び出される。
  3. C:/Users/nitta/Roaming/.minecraft-forge1.12.2/mcpi/block_2_1.py
    import mcpi.minecraft as minecraft
    mc = minecraft.Minecraft.create()
    
    x, y, z = mc.player.getPos()
    mc.setBlocks(x, y, z+3, x+2, y+1, z+4, 24)
    
  4. 実行例。

時間を空けながら実行する

  1. 'I' キーを押して 'py block_3_1 'とタイプすると、'block_3_1.py' が 呼び出されて、2秒置きに、3個のブロック集合が出現する。
  2. C:/Users/nitta/Roaming/.minecraft-forge1.12.2/mcpi/block_3_1.py
    import mcpi.minecraft as minecraft
    import time
    
    mc = minecraft.Minecraft.create()
    
    x, y, z = mc.player.getPos()
    
    time.sleep(2)
    mc.setBlocks(x-3, y, z+3, x-2, y+3, z-3, 24)
    time.sleep(2)
    mc.setBlocks(x+2, y, z+3, x+3, y+3, z-3, 24)
    time.sleep(2)
    mc.setBlocks(x-3, y+4, z+3, x+3, y+5, z-3, 24)
    
  3. 実行例。

  4. 第3者視点