详细步骤安装树莓派Minecraft,使用Python与游戏交互

在本指南中,详细记录了如何在树莓派上安装和运行Minecraft。

Raspberry-Pi-Minecraft-Thumbnail.jpg

将安装的是一个特殊版本的Minecraft,为树莓派专供的,这个版本的Minecraft叫做 “Minecraft Pi Edition”。比当前版本的Minecraft要老很多。  不过,它有一个优势,那就是它是完全免费的。另外,这个版本的Minecraft还带有一个Python库,可以让你与游戏世界进行交互。

有几件事情你应该知道这个版本的Minecraft,是专为树莓派打造的。

  1. 它使用旧的游戏世界格式,世界的最大尺寸为256 x 256 x 128块。
  2. 游戏模式是创造模式,所以在这个版本的Minecraft中没有手工制作。
  3. 在这个版本中没有小怪

尽管有这些缺点,这仍然是一个有趣的Minecraft版本,可以在你的树莓派上尝试。它也是通过使用Python与游戏世界互动来探索编程的好方法。如果你想为你的零售版Minecraft运行一个服务器,那么一定要查看我的Minecraft服务器指南

设备清单

本教程安装Minecraft到树莓派上需要的设备清单,点击链接可直达特别优惠购买。

建议

可选

为树莓派安装Minecraft

在本节中,展示如何将Minecraft Pi版安装到您的树莓派上。

1. 幸运的是,Minecraft Pi版已经在Raspbian软件包仓库中提供了。

首先,需要做的是通过运行下面的命令来更新和升级所有现有的软件包。

sudo apt update
sudo apt upgrade

2. 一旦更新了软件包,就可以继续进行本指南了。

运行以下命令将Minecraft Pi Edition安装到Raspberry Pi。

sudo apt install minecraft-pi

该命令将安装Minecraft和与它交互所需的Python库。

在树莓派上运行Minecraft

在树莓派上运行Minecraft Pi Edition非常简单。

1. 要启动Minecraft,你需要点击左上角的Raspberry Pi图标。

Minecraft-on-the-Raspberry-Pi-01-Pi-Icon.jpg

2. 接下来,你需要将鼠标悬停在 “游戏 “子菜单上,然后点击 “Minecraft Pi”。

Open-Minecraft-Pi-02.jpg

3. 现在Minecraft Pi版应该已经在树莓派上启动了。

要开始游戏,需要做的就是点击 “开始游戏 “按钮。

Start-Game-Minecraft-Pi-03.jpg

4. 在下一个菜单内,你需要通过点击 “创建新的 “按钮来创建你的第一个世界。

Create-new-World-in-Minecraft-Pi-04.jpg

5. 当世界生成完毕后,就会立即进入其中。

Within-the-Minecraft-World-05.jpg

在下一节,展示如何使用Python来操纵游戏世界。

通过Python与Minecraft交互

Minecraft Pi版最酷的功能之一就是它内置的API。

在本节中,我将向您展示如何使用Python与Minecraft Pi Edition进行交互。如果您想在继续学习之前更好地了解Python,那么一定要查看我的Python入门指南。

1. 从创建一个非常简单的Python脚本开始。

在这个脚本中,要向正在运行的Minecraft客户端发送一条消息。

使用终端,我们可以通过运行以下命令开始编写Python脚本。

nano minecraft.py

2. 要启动这个脚本,必须首先导入Minecraft Python库。

这个库是将用来与游戏客户端交互的。添加以下一行,从mcpi库中导入minecraft模块。

import mcpi from minecraft

3. 模块导入后,需要创建一个与游戏客户端的连接。

通过使用minecraft库Minecraft.create()函数来实现,并将结果存储在一个名为 “mc “的变量中。

mc = minecraft.Minecraft.create()

4. 使用存储在mc变量中的对象,可以对游戏客户端进行调用。

在我的例子中,我要使用的函数是.postToChat(“TEXT HERE”)函数。这个功能可以让我们做的是在聊天中发布文字。

mc.postToChat("Hello World")

这段代码是与树莓派上的Minecraft交互的最简单方法之一。

5. 你的代码的最终版本应该和我们下面的一样。

import mcpi from minecraft

mc = minecraft.Minecraft.create()

mc.postToChat("Hello World")

输入代码后,按CTRL + X,然后按Y,再按ENTER键保存文件。

5. 现在运行Python小脚本。

python3 minecraft.py

运行脚本后,你应该会看到游戏内出现 “Hello World “的文字。

Hello-World-Minecraft-Pi-Edition-API-06.jpg

Minecraft Python API的各种功能

在本节中,将探索一些其他功能,可以使用从您的树莓派与Minecraft互动。

寻找玩家的位置

使用Minecraft Python API,可以检索玩家的x、y和z位置。

要找到位置,可以在Python中使用以下一行。

pos = mc.player.getPos()

pos 变量现在将存储玩家的位置,可以通过使用 pos.x、 pos.y 和 pos.z 来访问这三个位置。你可以通过使用 pos.x、 pos.y 和 pos.z 来访问这三个位置。

如果您希望将位置存储为三个独立的变量,那么也可以通过以下方式来实现。

z, y, z = mc.player.getPos()

这个方法利用Pythons的解包功能来提取x、y和z变量的值。

传送玩家

你也能够利用API来传送玩家。

为此,将使用 player.setPos(x, y, z) 函数。下面可以看到我如何使用.setPos(x, y, z)和.getPos()两个函数将玩家在游戏世界中垂直传送50个坐标单位。

x, y, z = mc.player.getPos()
mc.player.setPos(x, y+50, z)

运行带有这两个功能的脚本后,你应该会看到玩家出现在空中,然后落回地面。

Minecraft-Teleport-Into-Air-07.jpg

设置一个区块

API还具有在游戏世界中操作区块的功能。

要做到这一点,你需要使用mc.setBlock(x, y, z, blockID)函数。该功能可以将指定位置的块改为自己指定的块。通过这个例子,可以使用下面的代码将一个石块放置在离玩家当前位置一个x的位置。

x, y, z = mc.player.getPos()
mc.setBlock(x+1, y, z, 1)

当运行这段代码后,应该会看到一个石块出现。你可能需要将摄像机旋转一下才能看到它。

Add-block-using-Minecraft-API-08.jpg

如果您对可以使用的不同块 ID 感兴趣,然后进一步向下滚动,因为我们已经列出了 Minecraft Pi 版中支持的所有块。

设置多个区块

也可以利用mc.setBlocks(x0, y0, z0, x1, y1, z1, blockID)函数一次设置多个块。

该函数接收六个不同的参数。

第一组位置(x0, y0, and z0)定义了区域的起始点.第二组位置(x1, y1, z1)定义了区域的终点. 第二组位置(x1, y1, z1)定义了区域的终点。

使用此功能,可以将一个区域设置为特定的块型,例如,创建一个巨大的石块方块。在下面的例子中,我们将向你展示如何使用mc.setBlocks()函数来创建一个5x5x5的石头立方体。

x, y, z = mc.player.getPos()
mc.setBlocks(x+1, y+1, z+1, x+6, y+6, z+6, 1)

运行这两行代码后,你应该会看到一个巨大的石块出现在玩家附近。

Create-Cubeoid-using-Minecraft-API-09.jpg

如果你想快速制作大型对象,这个API函数是非常好的。

检索一个块的ID

就像你可以设置一个区块一样,你也可以检索特定位置的区块的ID。

要做到这一点,您可以使用.getBlock(x, y, z)函数。这个函数将检索指定位置的块的ID。

例如,你可以使用这个功能来检查玩家当前站在什么块上。

x, y, z = mc.player.getPos()
blockID = mc.getBlock(x, y-1, z)
print(blockID)

这个功能是相当有用的,因为你可以根据玩家所站的块来编程行为。

Minecraft Pi版块ID

下面你可以看到Minecraft Pi版中可用块的ID列表。

Constant Name Block ID
AIR 0
STONE 1
GRASS 2
DIRT 3
COBBLESTONE 4
WOOD_PLANKS 5
SAPLING 6
BEDROCK 7
WATER_FLOWING 8
WATER 8
WATER_STATIONARY 9
LAVA_FLOWING 10
LAVA 10
LAVA_STATIONARY 11
SAND 12
GRAVEL 13
GOLD_ORE 14
IRON_ORE 15
COAL_ORE 16
WOOD 17
LEAVES 18
GLASS 20
LAPIS_LAZULI_ORE 21
LAPIS_LAZULI_BLOCK 22
SANDSTONE 24
BED 26
COBWEB 30
GRASS_TALL 31
WOOL 35
FLOWER_YELLOW 37
FLOWER_CYAN 38
MUSHROOM_BROWN 39
MUSHROOM_RED 40
GOLD_BLOCK 41
IRON_BLOCK 42
STONE_SLAB_DOUBLE 43
STONE_SLAB 44
BRICK_BLOCK 45
TNT 46
BOOKSHELF 47
MOSS_STONE 48
OBSIDIAN 49
TORCH 50
FIRE 51
STAIRS_WOOD 53
CHEST 54
DIAMOND_ORE 56
DIAMOND_BLOCK 57
CRAFTING_TABLE 58
FARMLAND 60
FARMLAND_INACTIVE 61
FARMLAND_INACTIVE 61
FURNACE_ACTIVE 62
DOOR_WOOD 64
LADDER 65
STAIRS_COBBLESTONE 67
DOOR_IRON 71
REDSTONE_ORE 73
SNOW 78
ICE 79
SNOW_BLOCK 80
CACTUS 81
CLAY 82
SUGAR_CANE 83
FENCE 85
GLOWSTONE_BLOCK 89
BEDROCK_INVISIBLE 95
STONE_BRICK 98
GLASS_PANE 102
MELON 103
FENCE_GATE 107
GLOWING_OBSIDIAN 246
NETHER_REACTOR_CORE 247

如果您想了解更多关于Minecraft Pi Edition Python API的信息,那么可以查看我的Minecraft API参考指南。该指南向您展示了API所暴露的所有功能,并解释了它们如何工作。

希望到这里,你现在将Minecraft成功地安装到您的树莓派上。现在应该也了解了如何利用Minecraft Pi版的Python API。

平均: 5 / 5. votes: 1

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 详细步骤安装树莓派Minecraft,使用Python与游戏交互

赞 (2)

评论

2+1=