坐标系统
我的世界是由一个个方块构成的,每个方块边长都是1米。方块的位置由X,Y,Z三维坐标表示。其中X和Z表示水平面的坐标,Y表示垂直高度坐标。

用代码生成一个铁傀儡

铁傀儡是由4个铁块和一个雕刻过的南瓜构成,注意:南瓜要最后放上去才行。另外四个空白角落的格子必须都是空气,不能有草或其他东西。
代码如下
import mcpi.minecraft as minecraft
import time
if __name__ == "__main__":
# 连接到游戏
mc = minecraft.Minecraft.create()
# 获取玩家坐标
pos = mc.player.getTilePos()
time.sleep(5)
# 放置铁块和南瓜造出一个铁傀儡
mc.setBlock(pos.x, pos.y + 5, pos.z - 10, 'IRON_BLOCK')
mc.setBlock(pos.x, pos.y + 4, pos.z - 10, 'IRON_BLOCK')
mc.setBlock(pos.x - 1, pos.y + 5, pos.z - 10, 'IRON_BLOCK')
mc.setBlock(pos.x + 1, pos.y + 5, pos.z - 10, 'IRON_BLOCK')
mc.setBlock(pos.x, pos.y + 6, pos.z - 10, 'carved pumpkin')
批量生成铁傀儡
上面代码使用SetBlock来放置一个方块,下面我们使用SetBlocks来批量放置方块。
SetBlocks(X1,Y1,Z1,X2,Y2,Z2,Block_Name)SetBlocks坐标参数包含两个点,分别表示矩形的左下角和右上角。使用SetBlocks可以画出一个面或者一条线。
我们将上面的的每个方块改为一条线就可以批量建造出铁傀儡。
代码如下
import mcpi.minecraft as minecraft
import time
if __name__ == "__main__":
# 连接到游戏
mc = minecraft.Minecraft.create()
# 获取玩家坐标
pos = mc.player.getTilePos()
time.sleep(5)
# 批量放置铁块和南瓜来实现批量生产铁傀儡
mc.setBlocks(pos.x, pos.y, pos.z + 5, pos.x, pos.y, pos.z + 10, 'IRON_BLOCK')
mc.setBlocks(pos.x, pos.y - 1, pos.z + 5, pos.x, pos.y - 1, pos.z + 10, 'IRON_BLOCK')
mc.setBlocks(pos.x - 1, pos.y, pos.z + 5, pos.x - 1, pos.y, pos.z + 10, 'IRON_BLOCK')
mc.setBlocks(pos.x + 1, pos.y, pos.z + 5, pos.x + 1, pos.y, pos.z + 10, 'IRON_BLOCK')
mc.setBlocks(pos.x, pos.y + 1, pos.z + 5, pos.x, pos.y + 1, pos.z + 10, 'carved pumpkin')
参考资料:
https://blog.csdn.net/gogir/article/details/100074563
https://blog.csdn.net/gogir/article/details/100085244
版权声明:本文为gogir原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。