用户:宏图大志EB9j查看:0 回复:1 评论:0 创建时间:2020-08-13T18:53:18
万一玩Minecraft的时候发现生在孤岛上,该怎么办?

让Python来帮你吧!
====================
不知道之前有没有人看过我的之前一片文章(搜索:"传说中的Minecraft + Python???"),
想的话,配置好一切后,在输入服务器地址的时候,改成"127.0.0.1"(就是图片所示),
登入中...
丁!
====================
新建Python文件,先输入以下代码:
import mcpi.minecraft as minecraft
World = minecraft.Minecraft.create()
Pos = World.player.getTilePos()
print(Pos.x, Pos.y, Pos.z)
第一行代码就是导入mcpi库里的minecraft,且直接取别名"minecraft"。
第三行代码就是连接游戏,以World变量为载体。
第五行,获取World世界里的玩家的三维位置,并将数据储存在Pos变量里。
第七行,输出获取的玩家坐标(Pos)的X轴(Pos.x)、Y轴(Pos.y)和Z轴。
至于为什么要用代码获得坐标而不是直接用F3(Minecraft老玩家都知道的操作)......
Python里的坐标和游戏里的不一样。
==========setBlock(X, Y, Z, Value, ID)==========
利用你的"金脚掌"来获得坐标,之后就是关于如何解决木头问题的了。
我们需要利用这个函数:
world.setBlock(X, Y, Z, Value, ID)
TA的作用就是把那个坐标的方块替换成ID值为ID的Value类型方块(坐标当然得用程序来获得!)。
这样的话,我们还需要导入一个block对象库。
from mcpi import minecraft, block
橡木属于WOOD类型,ID为0。
from mcpi import minecraft, block
world = minecraft.Minecraft.create()
world.setBlock(X, Y, Z, block.WOOD.id, 0)
(注意:在些方块类型的时候,必须要大写;如果这个类型只有一个方块,那ID就直接些0)
这里我没有填写X轴、Y轴和Z轴,因为不确定。
我在这里填写的是-12、6、5,然后...

当当!
==========world.setBlocks(X1, Y1, Z1, X2, Y2, Z2, Value, ID)==========
在这里,setBlocks函数比setBlock函数多了3个参数。
一个方块需要的数据有3个:X轴、Y轴和Z轴。
多个方块(立方体):X轴开始、X轴结束、Y轴开始、Y轴结束、Z轴开始以及Z轴结束

(画的看得懂吧?)
这个函数最重要的就是——顺序,数据别写反了!
from mcpi import minecraft, block
world = minecraft.Minecraft.create()
world.setBlocks(X1, Y1, Z1, X2, Y2, Z2, block.WOOD.id, 0)
我这里填的数据是-10、5、9、-1、 6、8,然后......

欧耶!妈妈再也不用担心我玩Minecraft没有木头啦!