马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
让我们写几段程序来运行一下,看一看这个 API 究竟能实现哪些功能?首先,导入 Minecraft 的 API 并创建相应的对象: [Python] 纯文本查看 复制代码 from mcpi.minecraft import Minecraft
mc = Minecraft.create()
这里,我们得到了一个 mc 对象, 任何关于玩家和建筑物的编程都是基于这个对象来进行的。游戏的世界里,玩家人物、建筑物都有其相应的坐标。我们相当于在一个3D空间中进行编程,即存在 x、y 和 z 三个参数:x 为横向坐标、y 为高度坐标(注意,不是纵向)、z 为纵向坐标:
我们可以通过 mc 这个对象里封装的player对象来获得当前玩家人物的位置,应用 getTilePos 函数: [Python] 纯文本查看 复制代码 position = mc.player.getTilePos()
x = position.x
y = position.y
z = position.z
print(x, y, z)
在特定地方放置指定的物质块,我们应用mc对象的setBlock函数来实现。如放置一个cubblestone块(前3个参数是坐标 xyz,最后1个参数是物质代号,cubblestone的代号是4): [Python] 纯文本查看 复制代码 mc.setBlock(-564, 64, 675, 4)
放置一个 glass 块(玻璃的代号是20): [Python] 纯文本查看 复制代码 mc.setBlock(-564, 64, 675, 20)
放置一个cubblestone,上面再放一把火炬(torch的代号是50,注意火炬的坐标需要的 y 值要比cubblestone大1,以确定让火炬在cubblestone的上方): [Python] 纯文本查看 复制代码 mc.setBlock(-564, 64, 675, 4)
# Cubblestone
mc.setBlock(-564, 65, 675, 50)
# Torch
下面我们应用循环语句来批量构建一些“建筑”,比如连接这块陆地和对面小岛的一座“桥”: [Python] 纯文本查看 复制代码 for i in range(100):
mc.setBlock(-564+i, 64, 674, 4)
mc.setBlock(-564+i, 64, 675, 4)
mc.setBlock(-564+i, 64, 676, 4)
# Bridge
在桥的两侧每隔5个块单位放置1把火炬: [Python] 纯文本查看 复制代码 for i in range(100):
mc.setBlock(-564+i, 64, 674, 4)
mc.setBlock(-564+i, 64, 675, 4)
mc.setBlock(-564+i, 64, 676, 4)
# Cubblestone
mc.setBlock(-564+i*5, 65, 674, 50)
mc.setBlock(-564+i*5, 65, 676, 50)
# Torch
我们在桥的中间建一个“柱子”: [Python] 纯文本查看 复制代码 for i in range(50):
mc.setBlock(-544, 64+i, 675, 4)
# Pillar
在桥的上方建一个“楼梯”: [Python] 纯文本查看 复制代码 for i in range(100):
mc.setBlock(-564+i, 64+i, 674, 4)
mc.setBlock(-564+i, 64+i, 675, 4)
mc.setBlock(-564+i, 64+i, 676, 4)
# Staircase
最后我们建一个稍微复杂一点的建筑——正方形的“城堡”。首先建一个正方形的“地基”(需要嵌套另一个循环): [Python] 纯文本查看 复制代码 for i in range(30):
for j in range(30):
mc.setBlock(x+i, y, z+j, 4)
# Foundation
构建整个城堡,带有“玻璃天窗”: [Python] 纯文本查看 复制代码 for i in range(30):
for j in range(30):
mc.setBlock(x+i, y, z+j, 4)
# Foundation
mc.setBlock(x+i, y+j, z, 4)
mc.setBlock(x, y+j, z+i, 4)
mc.setBlock(x+i, y+j, z+30, 4)
mc.setBlock(x+30, y+j, z+i, 4)
# Walls
mc.setBlock(x+i, y+30, z+j, 20)
# Glass ROOF
1 | 安装与配置编程环境 | 2 | Hello World | 3 | 创造方块 |
|