一、啟動Minecraft(《我的世界》)

1、啟動Start_Server

2、啟動“啟動俠”

二、操作Minecraf

1、操作角色

  • 移動角色
  • 上升下降
  • 切換人稱、查看狀態、切換全屏

2、設置Minecraf環境

  • 改變時間
  • 改變天氣
  • 游戲模式
  • 防止破壞

三、使用變量傳遞角色

1、認識世界坐標

2、將角色傳遞到某處

3、使用時間模塊降低傳送速度

4、使用注釋讓你的程序更易于理解

 

李老師教你用Python玩《我的世界》——開啟傳送之門

 

看了上節課的內容,你們搭建好Minecraft的環境了么?今天我們就要來用Python玩Minecraft了,我們先來啟動它。

一、啟動Minecraft

先雙擊Start_Sever文件,啟動服務器。

李老師教你用Python玩《我的世界》——開啟傳送之門

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

 

李老師教你用Python玩《我的世界》——開啟傳送之門

 

如何啟動游戲上次課程李老師已經介紹過了,如果還有什么不懂的地方,你們也可以再去復習一下上節課的內容,這里就不在贅述。

二、操作Minecraft

1、鍵盤操作

下面我們來看看如何在Minecraft中操作角色,在剛剛打開Minecraft時,我們是用第一人稱看世界的,這種視角對下面我們造房并不友好,所以我們可以用F5鍵將視角改為第三人稱。用WASD四個鍵我們可以移動角色,如果我們一不小心掉進坑里,我們可以用空格鍵跳出來,如果我們想飛高點看看遠處的世界,可以快速按兩下空格,然后再長按空格飛起來,如果要想落地,就再快速按兩下空格就落回地面,竟然一點也沒傷到,是不是很神奇?如果你想暫時釋放鼠標去編寫程序,就按下ESC暫停一下,接著你可以去干其它事兒了。

2、環境設置

糟糕,我的世界打開為什么黑呼呼的,還在下雨,突然想起一句歌詞“雨紛紛,舊故里草木深;我聽聞,你始終一個人…"哎,我的世界總是孤獨的一個人。。。

 

李老師教你用Python玩《我的世界》——開啟傳送之門

 

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

 

李老師教你用Python玩《我的世界》——開啟傳送之門

 

1)設置時間

在命令行中輸入我們希望世界的時間

time set (數值)

我的世界怎么調時間:天黑的時候做實驗也是各種不方便,time set 13000 可以讓我們享受夕陽。

李老師教你用Python玩《我的世界》——開啟傳送之門

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

李老師教你用Python玩《我的世界》——開啟傳送之門

大家記住下面的時間點哦:

time set 0 天剛亮

time set 10000 差不多正午

time set 13000(夕陽)
time set 15000(午夜)

time set 21000 天就黑了

2)設定天氣

 

李老師教你用Python玩《我的世界》——開啟傳送之門

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

weather clear

李老師教你用Python玩《我的世界》——開啟傳送之門

再來看看效果:

 

李老師教你用Python玩《我的世界》——開啟傳送之門

天終于放晴了,心情也開朗了。

輸入指令:“weather thunder”,就可以切換為雷雨天了。

 

李老師教你用Python玩《我的世界》——開啟傳送之門

如果天氣干旱,就輸入指令“weather rain”,澆灌下干涸的大地吧。

3)打開生存模式

打開生存模式,可以不需要擔心損失健康,感到饑餓或被攻擊,全心全意去創造世界。

但也許你為了更有樂趣而想接受生存模式的挑戰,在創造模式和生存模式之間進行切換也非常簡單。

要想將服務器中的創建模式改為生存模式,請按照以下幾點去做。打開 Minecraft Tools 文件夾,然后打開 server 文件夾。找到 server.properties 文件夾并從目錄中打開,使用記事本工具打開就可以。

李老師教你用Python玩《我的世界》——開啟傳送之門

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

 

李老師教你用Python玩《我的世界》——開啟傳送之門

在Minecraft Tools文件夾中單擊 Start Server 來運行服務器,當你登錄 Minecraft Python World 游戲時,將處于生存模式。

4)防止破壞

我們游戲的主人公簡直就是個破壞王,如果一不小心點個鼠標,面前的方塊就被他給砸了,我現在得把他手上的錘子給沒收了,否則我的成果一定全部被他全部破壞了。

下面我們打開Pycharm,就在我們上次編寫的程序上添加一句命令并執行:

mc.setting("world_immutable",True)

 

李老師教你用Python玩《我的世界》——開啟傳送之門

添加這個命令,可以幫助你保護珍貴的作品,使其免遭破壞。

三、使用變量傳送

1、認識世界坐標

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

 

李老師教你用Python玩《我的世界》——開啟傳送之門

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

 

李老師教你用Python玩《我的世界》——開啟傳送之門

2、將角色傳遞到某處

在Minecraft中有兩個命令可以用來傳送角色:

mc.player.setTilePos(x,y,z)

mc.player.setPos(x,y,z)

我們在Pycharm測試一下,我們分別設置x,y,z為10,110和12:

 

李老師教你用Python玩《我的世界》——開啟傳送之門

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

李老師教你用Python玩《我的世界》——開啟傳送之門

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

李老師教你用Python玩《我的世界》——開啟傳送之門

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的值設置為三個變量,那么我們以后需要修改角色位置的時候,只要修改三個變量就可以了。

李老師教你用Python玩《我的世界》——開啟傳送之門
李老師教你用Python玩《我的世界》——開啟傳送之門

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)

李老師教你用Python玩《我的世界》——開啟傳送之門
李老師教你用Python玩《我的世界》——開啟傳送之門

我們發現,執行了tour.py后,角色在10秒后發生了移動。

你學到了什么

恭喜!你己經學會了編寫第一個python 程序來控制 Minecraft中玩家的位置了。你也已經認識了兩種全新的數據:整數和浮點數。你還學到了Minecraft Python 中兩個重要的 API 接口:setPos() 和 setTilePos()。將來你會慢慢了解如何在Minecraft 中快速搭建建筑,使用數學運算的方法和函數來設定磚塊的擺放。

歡迎大家繼續跟著李老師學習用python玩Minecraft,我們下期見!

我的世界相關攻略
我的世界螢石怎么挖不了
我的世界螢石怎么挖不了
我的世界正版怎么裝mo
我的世界正版怎么裝mo
我的世界故事模式手機版
我的世界故事模式手機版
我的世界pe版下載(min
我的世界pe版下載(min
我的世界釀造臺藥水表(
我的世界釀造臺藥水表(
我的世界電腦指令大全(
我的世界電腦指令大全(
我的世界地圖文件夾是哪
我的世界地圖文件夾是哪
我的世界末影龍蛋孵化要
我的世界末影龍蛋孵化要