如何在Raspberry Pi上设置Minecraft 蟒蛇 API

14

我的世界的Raspberry Pi Edition的伟大之处在于,您可以使用Python脚本来操纵游戏世界。您可以移动播放器以及创建和销毁块。这使您可以在几秒钟内创建结构,而手工创建则要花费数小时。

通过重复脚本,您可以快速创建您设计的结构。例如,您可以编写脚本来创建塔和墙的一部分,并使用它来快速创建大型城堡。

要将Pi配置为允许这样做,您需要执行一些初始步骤。它们非常简单,只需五分钟。

2015年更新:

树莓派的最新版本包括Minecraft和Minecraft API的安装。这意味着您可以跳过步骤1-3。您的Python脚本可以从任何目录运行。我强烈建议您使用最新的Raspbian映像更新SD卡’还没有安装Minecraft或API。

第1步– Install 我的世界

请跟随我的 在Raspberry Pi教程上安装Minecraft 并检查游戏是否按预期工作。

第2步– Configure the API

现在已经安装了所需的文件,但是为了使它们更易于访问,我们将其复制到新文件夹中。因此,让我们在默认主目录中创建它:

mkdir〜/ 麦克皮-api

然后从Minecraft安装中复制文件:

cp -r ~/mcpi/api/python/mcpi ~/mcpi-api/

第三步– Navigate To Folder

在尝试使用自己的脚本之前,最好先测试一切是否正常。导航到先前创建的API目录:

cd ~/mcpi-api

步骤4– API Test

要测试您的设置,您可以使用以下简单脚本。它会创建一个由石头制成的立方体,并将其放在上面。

#!/usr/bin/python
# Import 我的世界 libraries
import 麦克皮.minecraft as minecraft
import 麦克皮.block as block

mc = minecraft.Minecraft.create()

# Get player position
pPos = mc.player.getTilePos()

mc.postToChat("API Test!")

# Change block
print "Create stone 3x3 cube"
mc.setBlocks(pPos.x-1,pPos.y,pPos.z-1,pPos.x+1,pPos.y+2,pPos.z+1,block.STONE)

print "Position player  上  top"
mc.player.setPos(pPos.x,pPos.y+3,pPos.z)

mc.postToChat("Move and have another go.")

您可以使用以下命令将此脚本直接下载到您的Pi:

wget //bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/minecraft/api_test.py

可以使用以下命令运行:

蟒蛇 api_test.py

在尝试测试脚本之前,请确保Minecraft正在运行,否则什么也不会发生!按下TAB键将鼠标从游戏窗口中释放出来,让您使用LXTerminal。

脚本运行后,您应该在脚下看到一个石块:

我的世界 API测试

我的世界 蟒蛇 API块名称参考

作为参考,如果您想更改上面的脚本以创建由其他材料制成的多维数据集,则可以使用以下块名称:

AIR                 
STONE               
GRASS               
DIRT                
COBBLESTONE         
WOOD_PLANKS         
SAPLING             
BEDROCK             
WATER_FLOWING       
WATER               
WATER_STATIONARY    
LAVA_FLOWING        
LAVA                
LAVA_STATIONARY     
SAND                
GRAVEL              
GOLD_ORE            
IRON_ORE            
COAL_ORE            
WOOD                
LEAVES              
GLASS               
LAPIS_LAZULI_ORE    
LAPIS_LAZULI_BLOCK  
SANDSTONE           
BED                 
COBWEB              
GRASS_TALL          
WOOL                
FLOWER_YELLOW       
FLOWER_CYAN         
MUSHROOM_BROWN      
MUSHROOM_RED        
GOLD_BLOCK          
IRON_BLOCK          
STONE_SLAB_DOUBLE   
STONE_SLAB          
BRICK_BLOCK         
TNT                 
BOOKSHELF           
MOSS_STONE          
OBSIDIAN            
TORCH               
FIRE                
STAIRS_WOOD         
CHEST               
DIAMOND_ORE         
DIAMOND_BLOCK       
CRAFTING_TABLE      
FARMLAND            
FURNACE_INACTIVE    
FURNACE_ACTIVE      
DOOR_WOOD           
LADDER              
STAIRS_COBBLESTONE  
DOOR_IRON           
REDSTONE_ORE        
SNOW                
ICE                 
SNOW_BLOCK          
CACTUS              
CLAY                
SUGAR_CANE          
FENCE               
GLOWSTONE_BLOCK     
BEDROCK_INVISIBLE   
STONE_BRICK         
GLASS_PANE          
MELON               
FENCE_GATE          
GLOWING_OBSIDIAN    
NETHER_REACTOR_CORE 

下一步

现在您可以创建自己的脚本了!使它们复杂到底由您自己决定。

分享。

14条留言

  1. 等一下,我一定错过了您在此代码中键入的内容,”mkdir ~/mcpi-api”您能告诉我在哪里键入此命令吗?非常感谢。

  2. 埃里克·德雷尔(Erik Dreyer)

    嗨,我按照您的指示进行了操作,但是在运行api_test.py时,它始终显示错误消息,即没有模块mcpi,或者找不到所需的模块。

      • 我遇到了类似的问题,而马特’的解决方案应首先尝试,以下是其他一些技巧:
        -确保从终端而不是从IDLE加载程序
        -确保在终端中首次使用此命令时:cd〜/ 麦克皮-api(第3步)
        -如果所有其他方法都失败,则您可以随时删除所有Minecraft文件,然后再次执行以下步骤重新下载,希望所有文件都放在适当的位置。

  3. 约翰·纳里

    你好

    I’我按照您的说明将文本粘贴到我的api_test文件中,但是当我尝试运行它时出现以下错误。

    文件“api_test.py”, line 4
    语法错误:非ASCII字符‘\xc2’在第4行的api_test.py文件中,但未声明编码;看到 http://www.python.org/peps/pep-0263.html 详情

    我去了网站,但无法真正理解问题。可以是我粘贴文字的方式吗?

    约翰

    • 我也遇到了完全相同的问题,但是很容易解决。在复制和粘贴代码时,由于某种原因,在文本之间的每个空白行的开头都有这些小的不可见字符。只需删除这些字符,您就可以了。

    • 如果您使用的是最新的Raspbian映像,则由于已经安装了Minecraft和API,因此可以跳过步骤1-3。 api_test脚本应该仍然有效。

发表评论

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.