看似入門,實則大師
以下內(nèi)容主要針對1.12.2
我想要以pitch為4的音調(diào)播放一個聲音。
每一個在mc里播放過聲音的modder都知道,playSound的接口里有一個參數(shù)是pitch,它決定音高。
但是,這個參數(shù)在底層實際執(zhí)行時,會被限制為0.5~2之間,超過這個范圍的聲音播放需要對底層有了解才能做到。你以為改個參數(shù)大小就能做出高音音符盒嗎?我當初就在知乎接了這么個委托,然后發(fā)現(xiàn)自己被套牢了。
這個問題我曾經(jīng)和3TUSK探討過,他一開始完全不信有這個限制,直到自己也看到了那段代碼才表示,“有趣”。
我想要讓兩把鐵鋤頭合成一把鐵鎬。
我當時心想,這不就是一個有點沙雕的合成配方嗎,甚至不用寫代碼,一個json就搞定了。結(jié)果,開始實操后我傻了眼,這事遠沒那么簡單,是個妥妥的大師級需求。
很多人可能不知道或者不記得,兩把鐵鋤頭,在原版是能直接合成的,產(chǎn)物是一把新的鋤頭。大多數(shù)人維修工具會使用鐵砧,不會使用這種合成欄直接合成的方式。這個原版自帶的配方并不是一個json配方,而是一個動態(tài)的程序配方。自己寫一個json,或者動態(tài)的程序配方,都只會被這個原版的動態(tài)配方給覆蓋掉。我已經(jīng)試過了。
群友Mo渣:“我來把它簡化成入門級,兩個滿耐久的鐵鋤頭合成一個滿耐久的鐵鎬?!?/p>
我一聽,心中暗笑,因為這根本沒簡化,這個內(nèi)容仍然是大師級需求,便說道:“來,你試試能不能做出來。做成這樣也行,這就是作業(yè)了?!?/p>
我想要生成一個33x8的結(jié)構(gòu)
區(qū)塊在populate階段放置小型的WorldGenerator,此時,只能保證總共四個區(qū)塊已經(jīng)初步準備好,這就是32格的范圍。如果超出這個范圍,就會造成CWG。如果這種情況出現(xiàn)得頻率低還罷了,高的話會直接進程卡死,乃至死機。當然,含有TE的話還要再縮兩圈。
我想在主世界生成一個能被locate的大型結(jié)構(gòu),就村莊那種
主世界的locate相關(guān)內(nèi)容被鎖死了。就算你能寫的出生成來,不黑魔法也沒法locate。想做什么的話,還是放在自己的維度里吧。
我想做個蝙蝠怪,跟原版的蝙蝠差不多但是可以打人
多數(shù)生物都繼承EntityLiving,牛馬豬羊,骷髏、僵尸,村民、鐵傀儡,套路都大同小異。但總有些妖魔鬼怪不按常理出牌。蝙蝠就是繼承了EntityAmbient,很多EntityLiving該有的都沒有,寫個AI都極其吃力。我最后的結(jié)果是放棄繼承原版的蝙蝠類,大規(guī)模復(fù)制代碼起一個新的。這是我在寫1.16.5魔城傳說3D的時候發(fā)現(xiàn)的。真的,跟蝙蝠比起來,魷魚就算好的了。
我想做個非生物實體,但是自定義模型。
MC對于非生物實體的渲染支持很差,火焰彈那種的扁片改個貼圖倒還好說……箭那種,自己去翻翻對應(yīng)的Render類,然后吐血吧。
我想修改玩家的姿勢。
改不了、改不了。改需求,或者黑魔法招呼把。看看玩家實體渲染的地方,再看看forge給你的幾個事件接口,然后絕望吧。