最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

IDF與MDK

2022-10-11 12:52 作者:道家深湖  | 我要投稿

IDF,Idealland Framework(理想境框架),是指基于理想境mod源碼刪減之后得出的一臺框架。

IDL,Idealland,理想境的簡稱。

MDK,Mod Development Kit,模組開發(fā)包的簡稱。


最初,IDF只是為了我個人開發(fā)微型mod的時候,不浪費太多時間寫重復代碼而制作的。后來,隨著“邊睡覺”系列教程的發(fā)布而對外開放。

須知,它最初只是個我個人私用的東西,制作的時候我還只是初級水平,所以質量有限。里面有命名風格不妥(部分函數(shù)名用了大駝峰),以及一些bug。最典型的bug就是用它里面的NBT工具類獲取物品堆nbt信息后,會給物品留下一個空的NBT標簽({})。

一個物品具有空NBT標簽,和完全沒有NBT標簽(null)是有區(qū)別的,這會造成調用Get之后的物品沒法與同類物品堆疊,扔到副手再扔回來又好了。這個bug已經(jīng)在理想境里修復了,但是IDF里并沒有修復。

那么,既然有這么多問題,為什么還要用它呢?

因為瘦死的駱駝比馬大。

IDF里面盡管藏了一些問題,但是它仍然有很多制作正確的部分。盡管都是些基礎,但是據(jù)我目前的觀察,這些東西相當夠用了,而且很多新人連制作這些正確的基礎部分都有困難。

舉例來說,我們想制作一個鉆石這種什么特殊功能都沒有的材料物品,需要做什么呢?

我們需要構造一個Item對象,給他設置注冊名、翻譯名,用代碼掛載物品欄模型,注冊它。同時,要把lang里填寫正確的內(nèi)容,寫好正確的json,放到正確的位置,然后在正確的位置放置尺寸合規(guī)的貼圖。與此同時,確保IDE正確地執(zhí)行了打包流程,把資源都扔進了build下面正確的目錄——是的,由于ForgeGradle的種種原因,即使你所有操作都正確,打包時候也可能沒打進去。

這里面任何一個步驟出錯,都會導致物品的某些內(nèi)容顯示不正確,或者這個物品干脆就不出現(xiàn)在游戲里。很多人用過IDF之后,覺得很多東西不從頭自己搞不爽,于是試圖自己從空白MDK開始搞,然后在各種步驟上出錯或者干脆忘掉,導致紫黑塊等問題。

舉例來說,只有貼圖不對,會導致日志里報告貼圖FileNotFound或者尺寸不合規(guī),或者無法解析。與此同時,游戲內(nèi)的物品呈現(xiàn)紫黑塊,且紫黑塊上沒有一行青色小字標明文件名——但這個癥狀還有可能是另一個問題。

最常見的錯誤包括:試圖使用尺寸不是2的整數(shù)冪的貼圖(16x14之類);位置放錯了;文件夾的名字帶有空格導致不匹配;注冊名和路徑對不上,因為兩邊都是手敲的,有手滑的打字錯誤;資源路徑和文件名含有大寫字母(這個是mc不允許的,必須小寫字母、數(shù)字、下劃線);圖片不是png格式。

說到格式,群里曾經(jīng)有人試圖把bmp的文件名直接改為png,以讓模組加載它,這當然完全不好使。當時群里一群人都在找路徑究竟哪里錯了,幸虧我眼尖,看到他IDEA里把png文件識別為Bitmap,我才問出了他這個毫無常識的操作。

好,那么接下來就是模型不對。只有模型文件不對,會導致物品變?yōu)橐粋€紫黑塊,且上面有一行青色小字,標明模型的名字。

這種情況最常見的是忘了生成模型,或者生成的模型資源路徑不對,這種日志里會報告FileNotFound。少數(shù)情況是自己手敲,把json給敲壞了,這種日志里會報告json解析失敗。

還有一種高端的模型不對,那就是json對了,但是代碼里沒有給物品關聯(lián)上json。你看IDF的物品類,全都是implement IHasModel,也就是用HarryTalks那個寫法,在之后的某個事件里統(tǒng)一注冊模型。如果你用IDF卻不實現(xiàn)這個接口,或者自己寫的時候忘了寫對應的代碼,那么就會出現(xiàn)代碼丟失模型的錯誤。這種情況下,日志不會報告任何問題,游戲內(nèi)的表現(xiàn)和模型正確、貼圖丟失一樣——只有紫黑塊,沒有青色小字。

你看,如果只給我截圖一個沒有紫黑塊,那么可能的問題就有兩類,每一類里又有許多種細分問題。每次問我,難道我就要長篇大論地給你把所有情況都講一遍?想的美哦。這種會被歸為無效提問。

總有人遇到基礎問題,但我不可能一輩子都處理基礎問題,我也有我的問題要研究。所以推廣IDF在很大程度上就是為了消除這種基礎問題,盡量把能寫的都給寫了。如果自己從MDK開始搞,那你最好能hold住你遇到的一堆基礎問題——畢竟,如果選用idf,很多問題壓根都不會出現(xiàn)。IDF就是我的答案,放棄IDF而尋求我的答案,無異于浪費我的時間。


IDF與MDK的評論 (共 條)

分享到微博請遵守國家法律
涿州市| 巫溪县| 垣曲县| 墨竹工卡县| 碌曲县| 乌苏市| 清镇市| 隆回县| 六安市| 建平县| 西吉县| 潮安县| 黄陵县| 沾益县| 青州市| 南城县| 马鞍山市| 前郭尔| 十堰市| 佳木斯市| 景谷| 荣昌县| 策勒县| 泰州市| 唐河县| 西平县| 南康市| 司法| 惠安县| 临夏县| 淅川县| 封丘县| 泰宁县| 广昌县| 漳浦县| 肥西县| 金阳县| 平乡县| 盐池县| 小金县| 尼勒克县|