Minecraft 1.12.2 ForgeMod開發(fā)筆記(2)
添加一個新的基礎(chǔ)物品
每個添加到Minecraft的物品,生物,方塊需要注冊,官方文檔中推薦使用注冊事件進行注冊,具體如下
(1)創(chuàng)建一個繼承于Item類的公共類,留空即可
(2)創(chuàng)建一個專門用于注冊的類
(3)在用于注冊的類中實例化物品,注冊,代碼如下(物品為image)
????需要注意的是,這只是一般的注冊方法
在新版(1.19)中還有另一種方法,使用DeferredRegister類
詳情參閱最新的forge doc
????另外,1.12.2版本中的Forge?14.23.5.2836之后Forge貌似經(jīng)歷了一次大更新
所以針對于2836版本的Harbinger教程對于之后的版本可能有些不適用
比如setTranslationKey改成了setUnlocalizedName
????在文中有一項Register<Item>
需要說明的是,這屬于泛型
在JDK5中引入的一個新類型,泛型對于輸入比使用形參更加寬泛
單個泛型方法可以輸入整形,浮點型等多種變量,甚至可以輸入一個java類
詳細(xì)參閱資料,在這里表示傳入的類型是Item類
2.打開調(diào)試,使用give命令,成功添加物品

2.物品貼圖問題
這里只是簡單描述添加一個物品貼圖
首先,mod除代碼外的所有資源都會存放在resources文件夾內(nèi),請確保這個文件夾的圖標(biāo)看起來是這樣的

其下新建assets,在這個文件夾下創(chuàng)建一個與你modid相同的文件夾
至于什么是modid,在新建項目填寫的文件名就是
在這個文件夾下再創(chuàng)建lang,models,textures
在models下新建item,新建image.json,添加如下代碼
image是你創(chuàng)建的物品名,dd就是你的modid
在texture下新建items,把與物品名同名的png塞進去
這時候貼圖和模型就正常載入了
注:如果發(fā)現(xiàn)貼圖沒有載入,請檢查目錄是否正確
如果目錄正確,這就是IDEA的bug,不是你的鍋
(雖然官方issue不承認(rèn))
解決方法如下:
打開build.gradle,添加如下代碼
這時候task前面會出現(xiàn)一個綠色小三角,每次測試前點擊手動加載資源即可
另外如果上述方法以及網(wǎng)上的方法均失效的時候,去偷個別的mod里的gradle或者干脆放棄idea,我的gradle從理想鏡框架里面偷的
模型也需要注冊,代碼如下
資料:
官方文檔(1.12.2):https://mcforge-cn.readthedocs.io/zh/latest/
菜鳥教程——java泛型:https://www.runoob.com/java/java-generics.html
IDEA的bug相關(guān)資料:https://stackoverflow.com/questions/25513788/intellij-cant-find-classpath-test-resource
Harbinger教程:https://harbinger.covertdragon.team/