一、啟動Minecraft(《我的世界》)
1、啟動Start_Server
2、啟動“啟動俠”
二、操作Minecraf
1、操作角色
- 移動角色
- 上升下降
- 切換人稱、查看狀態、切換全屏
2、設置Minecraf環境
- 改變時間
- 改變天氣
- 游戲模式
- 防止破壞
三、使用變量傳遞角色
1、認識世界坐標
2、將角色傳遞到某處
3、使用時間模塊降低傳送速度
4、使用注釋讓你的程序更易于理解

看了上節課的內容,你們搭建好Minecraft的環境了么?今天我們就要來用Python玩Minecraft了,我們先來啟動它。
一、啟動Minecraft
先雙擊Start_Sever文件,啟動服務器。

接著雙擊“Minecraft啟動俠”啟動游戲。

如何啟動游戲上次課程李老師已經介紹過了,如果還有什么不懂的地方,你們也可以再去復習一下上節課的內容,這里就不在贅述。
二、操作Minecraft
1、鍵盤操作
下面我們來看看如何在Minecraft中操作角色,在剛剛打開Minecraft時,我們是用第一人稱看世界的,這種視角對下面我們造房并不友好,所以我們可以用F5鍵將視角改為第三人稱。用WASD四個鍵我們可以移動角色,如果我們一不小心掉進坑里,我們可以用空格鍵跳出來,如果我們想飛高點看看遠處的世界,可以快速按兩下空格,然后再長按空格飛起來,如果要想落地,就再快速按兩下空格就落回地面,竟然一點也沒傷到,是不是很神奇?如果你想暫時釋放鼠標去編寫程序,就按下ESC暫停一下,接著你可以去干其它事兒了。
2、環境設置
糟糕,我的世界打開為什么黑呼呼的,還在下雨,突然想起一句歌詞“雨紛紛,舊故里草木深;我聽聞,你始終一個人…"哎,我的世界總是孤獨的一個人。。。

讓我們按下ESC鍵,到Start_Server窗口下去敲擊一些命令,讓我們的心情變得開朗吧~

1)設置時間
在命令行中輸入我們希望世界的時間
time set (數值)
我的世界怎么調時間:天黑的時候做實驗也是各種不方便,time set 13000 可以讓我們享受夕陽。

返回游戲,哇,太美了!每天的這個時候,李老師最喜歡站在玄武湖畔呆呆地凝望,想起一首詩“夕陽無限好,只是近黃昏。”如此壯麗的景象,為什么只有夕陽才有,是不是對人生最后的倔強。好啦,其實大自然每天都有美景,我們珍惜每一天。

大家記住下面的時間點哦:
time set 0 天剛亮
time set 10000 差不多正午
time set 13000(夕陽)
time set 15000(午夜)
time set 21000 天就黑了
2)設定天氣

“雨一直下,氣氛不太融洽“為什么分手總是在雨天,這種天氣總是很容易抑郁,讓我們變個魔術,讓天也晴朗起來吧。還是回到Start_Server窗口下,輸入這樣一句話:
weather clear

再來看看效果:

天終于放晴了,心情也開朗了。
輸入指令:“weather thunder”,就可以切換為雷雨天了。

如果天氣干旱,就輸入指令“weather rain”,澆灌下干涸的大地吧。
3)打開生存模式
打開生存模式,可以不需要擔心損失健康,感到饑餓或被攻擊,全心全意去創造世界。
但也許你為了更有樂趣而想接受生存模式的挑戰,在創造模式和生存模式之間進行切換也非常簡單。
要想將服務器中的創建模式改為生存模式,請按照以下幾點去做。打開 Minecraft Tools 文件夾,然后打開 server 文件夾。找到 server.properties 文件夾并從目錄中打開,使用記事本工具打開就可以。

在這個文件里,找到“gamemode=1”并將它改為"gamemode=0”,保存這個文件并關閉。

在Minecraft Tools文件夾中單擊 Start Server 來運行服務器,當你登錄 Minecraft Python World 游戲時,將處于生存模式。
4)防止破壞
我們游戲的主人公簡直就是個破壞王,如果一不小心點個鼠標,面前的方塊就被他給砸了,我現在得把他手上的錘子給沒收了,否則我的成果一定全部被他全部破壞了。
下面我們打開Pycharm,就在我們上次編寫的程序上添加一句命令并執行:
mc.setting("world_immutable",True)

添加這個命令,可以幫助你保護珍貴的作品,使其免遭破壞。
三、使用變量傳送
1、認識世界坐標
請大家回憶一下,我們在scratch中是怎樣將一個角色從一個位置瞬移到另一個位置,所用的命令是“移到x,y”x,y是平面上某點的坐標。在minecraft中,世界是立體的,除了平面坐標外,我們還需要一個高度的坐標,這樣才能表示一個東西在空間上的位置,下面就讓我們來認識一下Minecraft中的坐標。Minecraft角色在世界中有一個位置(position),它是由x、y、z坐標構成的。字母y代表的是高度,x和z代表的是在水平面上的位置。我們可以把世界上每個整數坐標都想象成一個方塊,我們編程要做的事情就是改變這些方塊的性質。

我們可以按鍵盤上的F3鍵去查看玩家角色所在的位置。

2、將角色傳遞到某處
在Minecraft中有兩個命令可以用來傳送角色:
mc.player.setTilePos(x,y,z)
mc.player.setPos(x,y,z)
我們在Pycharm測試一下,我們分別設置x,y,z為10,110和12:

我們突然發現,我們到了一個黑乎乎什么也看不見的地方,讓我們修改下坐標值。

這個時候,我們落在了一個跟剛才不太一樣的地方了。

mc.player.setTilePos(x,y,z)和mc.player.setPos(x,y,z)有什么區別呢?mc.player.setTilePos(x,y,z)中的x,y,z必須是整數,而mc.player.setPos(x,y,z)中的x,y,z可以是浮點數,你可以看做是小數。x,y,z除了正數外,可以是負數。
為了不要反復寫兩個命令,我們可以先將x,y,z的值設置為三個變量,那么我們以后需要修改角色位置的時候,只要修改三個變量就可以了。


y不是100的原因是如果角色不在地面上,會自動落回地面,y就顯示的是地面的數值了。
3、使用時間模塊降低傳遞速度
Python 會盡可能快地運行你的程序,但是你也可以人為地讓它減速。比如,讓它等待一段時間再繼續工作。如果想要在你的程序中用到 time(時間)模塊,你需要在程序的最上面加入下面這一行代碼:
import time
然后我們用time.sleep(時間)來控制時間暫停的長度。
4、添加注釋
為了讓我們能更好地理解程序的作用,我們經常需要在一段程序塊前面加上注釋,注釋的內容不會被執行,但是它可以很好地告訴我們程序的作用,當我們在很長時間不用這段程序的時候,再次看起來,也可以清楚地回憶起程序的作用。
注釋的寫法是
# 注釋內容
下面我們來編寫一個完整的python程序,用來移動游戲角色,并給它取名為tour.py
#連接到 Minecraft
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
import time
#設置x、y和z變量來表示坐標
x = 50
y = 88
Z = 100
#變換玩家的位置
mc.player.setTilePos(x,y,z)
#等待10秒
time.sleep(10)
#設置x、y和z變量來表示坐標
x = 200
y = 100
z = 400
#變換玩家的位置
mc.player.setTilePos(x,y,z)


我們發現,執行了tour.py后,角色在10秒后發生了移動。
你學到了什么
恭喜!你己經學會了編寫第一個python 程序來控制 Minecraft中玩家的位置了。你也已經認識了兩種全新的數據:整數和浮點數。你還學到了Minecraft Python 中兩個重要的 API 接口:setPos() 和 setTilePos()。將來你會慢慢了解如何在Minecraft 中快速搭建建筑,使用數學運算的方法和函數來設定磚塊的擺放。
歡迎大家繼續跟著李老師學習用python玩Minecraft,我們下期見!
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。