在本指南中,详细记录了如何在树莓派上安装和运行Minecraft。
将安装的是一个特殊版本的Minecraft,为树莓派专供的,这个版本的Minecraft叫做 “Minecraft Pi Edition”。比当前版本的Minecraft要老很多。 不过,它有一个优势,那就是它是完全免费的。另外,这个版本的Minecraft还带有一个Python库,可以让你与游戏世界进行交互。
有几件事情你应该知道这个版本的Minecraft,是专为树莓派打造的。
- 它使用旧的游戏世界格式,世界的最大尺寸为256 x 256 x 128块。
- 游戏模式是创造模式,所以在这个版本的Minecraft中没有手工制作。
- 在这个版本中没有小怪
尽管有这些缺点,这仍然是一个有趣的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图标。
2. 接下来,你需要将鼠标悬停在 “游戏 “子菜单上,然后点击 “Minecraft Pi”。
3. 现在Minecraft Pi版应该已经在树莓派上启动了。
要开始游戏,需要做的就是点击 “开始游戏 “按钮。
4. 在下一个菜单内,你需要通过点击 “创建新的 “按钮来创建你的第一个世界。
5. 当世界生成完毕后,就会立即进入其中。
在下一节,展示如何使用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 “的文字。
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)
运行带有这两个功能的脚本后,你应该会看到玩家出现在空中,然后落回地面。
设置一个区块
API还具有在游戏世界中操作区块的功能。
要做到这一点,你需要使用mc.setBlock(x, y, z, blockID)函数。该功能可以将指定位置的块改为自己指定的块。通过这个例子,可以使用下面的代码将一个石块放置在离玩家当前位置一个x的位置。
x, y, z = mc.player.getPos()
mc.setBlock(x+1, y, z, 1)
当运行这段代码后,应该会看到一个石块出现。你可能需要将摄像机旋转一下才能看到它。
如果您对可以使用的不同块 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)
运行这两行代码后,你应该会看到一个巨大的石块出现在玩家附近。
如果你想快速制作大型对象,这个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。
欢迎转载,请留下出处链接:Labno3 » 详细步骤安装树莓派Minecraft,使用Python与游戏交互