Crafttweaker(1.12.2)預(yù)科2:對CrT的基本認識

在預(yù)科1的結(jié)尾,我提到了“游戲以外的玩法”,實際上就是脫離了游戲內(nèi),比如生電、建筑、跑酷、速通等基于游戲內(nèi)操作的玩法,比較常見的有模組制作、數(shù)據(jù)包制作、資源修改、光影制作等。這個系列將介紹一個相對容易上手的玩法——用Crafttweaker(以下簡稱CrT)修改游戲原本的內(nèi)容。當然了,目前的介紹僅限于1.12.2,因為此版本比較容易上手,且實例較多。
何為CrT,其全稱為Crafttweaker,在1.12.2下是一個基于forge的模組,其最大的特色莫過于使用較為容易的Zenscript腳本(以下簡稱zs)修改原本不得不通過編寫模組實現(xiàn)修改的內(nèi)容。
能修改什么呢?太多了,最普遍為人所知的就是配方的修改(包括原版的工作臺配方與熔爐配方)了,此外還有屬性修改、隱藏物品、獲取與修改NBT,甚至監(jiān)聽事件來獲得信息或者引發(fā)某些事情等,再有就是在擁有大量附屬模組的情況下實現(xiàn)對其他模組的修改。
修改游戲內(nèi)容能做什么呢?答:主要用于制作整合包(Modpacks)。
或者更進一步說:如果一個整合包僅僅有模組的堆砌,那么完全可以視為無主的一堆雜碎。整合包需要有將模組們有機統(tǒng)一之人自己的創(chuàng)作內(nèi)容,可以是修改模組自帶的配置文件,可以是通過任務(wù)類模組添加任務(wù)線,但要徹底擺脫“模組堆砌”這類水槽包才有的標簽,有追求的作者都會不約而同地望向CrT、KubeJS、數(shù)據(jù)包這類允許整合包作者創(chuàng)作個人內(nèi)容的工具。
怎么修改呢?具體的內(nèi)容當然不會放在本文內(nèi)(本文僅僅是預(yù)科),而是放在往后的專欄里。接下來請允許我為您介紹預(yù)科的正文——環(huán)境的搭建:
首先要明白一點,zs腳本是個什么東西以及它放在哪兒。就像添加其他模組那樣把CrT模組(https://www.curseforge.com/minecraft/mc-mods/crafttweaker/files/all?filter-game-version=2020709689%3A6756)拖入mods文件夾(什么?你問mods文件夾在哪兒?出門左轉(zhuǎn)上一篇文章)即可,然后啟動游戲。
游戲啟動一次后,versions\(版本名或?qū)嵗?文件夾內(nèi)會生成一個新的空文件夾scripts,這就是未來的zs腳本存放的地方了。
在此處新建一個空白文本文檔,不妨就命名為vanilla,將其原本的后綴名.txt改為.zs,一個新的空白zs腳本(vanilla.zs)就誕生了,當然了,到目前為止,這個模組并沒有起到任何直觀的效果。
其次是versions\(版本名或?qū)嵗?文件夾內(nèi)生成的另一個新的log文件,其名為crafttweaker。
它的用處大致就是你所編寫的腳本的日志,從中能反映你的腳本是否存在錯誤以及是否確實按照你的想法執(zhí)行了修改。
為了有個最初的概念,我們不妨動手輸出那句上古老?!澳愫茫澜?!”——既然.zs文件是由.txt文件而來,那其本質(zhì)依然是純文本文件,我們不妨先用文本文檔打開剛剛新建的vanilla.zs,輸入以下代碼:
保存,關(guān)閉并啟動游戲。用文本文檔(以后還是建議用vsc打開)打開crafttweaker.log后便能發(fā)現(xiàn)有行[INITIALIZATION][CLIENT][INFO]赫然顯示著Hello, world!
最后也是最重要的,你總不能用文本文檔寫代碼吧。既然是純文本文件,自然是用文本編輯器編輯最為合適,這個系列將圍繞VS Code這一文本編輯器(以下簡稱vsc)展開,所以如果你想要繼續(xù)的話,需要按照網(wǎng)上爛大街的安裝教程把vsc安裝好。安裝好后,啟動vsc,在左側(cè)欄的“擴展”中搜索插件并安裝:
ZenScript(最重要),作者為yesterday17,用于zs的語法高亮;
Minecraft Lang Colorizer(可選),作者為Qing Fu,用于打開.lang文件;
mcmeta(可選),作者為xTeal,用于打開.mcmeta文件。
當然了,隨著深入,你自己就能逐步認識到還有更多的插件可以成為不錯的輔助工具。
最后的最后,當然也是總的開始,右擊scripts文件夾,用vsc打開,在左側(cè)欄的“資源管理器”中打開vanilla.zs,輸入以下代碼:
以UTF-8編碼保存。然后,去哪兒看,會看到啥,相信你的心中已經(jīng)有了答案。