欢迎光临散文网 会员登陆 & 注册

看似入门,实则大师

2022-04-08 21:30 作者:道家深湖  | 我要投稿

以下内容主要针对1.12.2

我想要以pitch为4的音调播放一个声音。

每一个在mc里播放过声音的modder都知道,playSound的接口里有一个参数是pitch,它决定音高。

但是,这个参数在底层实际执行时,会被限制为0.5~2之间,超过这个范围的声音播放需要对底层有了解才能做到。你以为改个参数大小就能做出高音音符盒吗?我当初就在知乎接了这么个委托,然后发现自己被套牢了。

这个问题我曾经和3TUSK探讨过,他一开始完全不信有这个限制,直到自己也看到了那段代码才表示,“有趣”。


我想要让两把铁锄头合成一把铁镐。

我当时心想,这不就是一个有点沙雕的合成配方吗,甚至不用写代码,一个json就搞定了。结果,开始实操后我傻了眼,这事远没那么简单,是个妥妥的大师级需求。

很多人可能不知道或者不记得,两把铁锄头,在原版是能直接合成的,产物是一把新的锄头。大多数人维修工具会使用铁砧,不会使用这种合成栏直接合成的方式。这个原版自带的配方并不是一个json配方,而是一个动态的程序配方。自己写一个json,或者动态的程序配方,都只会被这个原版的动态配方给覆盖掉。我已经试过了。

群友Mo渣:“我来把它简化成入门级,两个满耐久的铁锄头合成一个满耐久的铁镐。”

我一听,心中暗笑,因为这根本没简化,这个内容仍然是大师级需求,便说道:“来,你试试能不能做出来。做成这样也行,这就是作业了。”


我想要生成一个33x8的结构

区块在populate阶段放置小型的WorldGenerator,此时,只能保证总共四个区块已经初步准备好,这就是32格的范围。如果超出这个范围,就会造成CWG。如果这种情况出现得频率低还罢了,高的话会直接进程卡死,乃至死机。当然,含有TE的话还要再缩两圈。


我想在主世界生成一个能被locate的大型结构,就村庄那种

主世界的locate相关内容被锁死了。就算你能写的出生成来,不黑魔法也没法locate。想做什么的话,还是放在自己的维度里吧。


我想做个蝙蝠怪,跟原版的蝙蝠差不多但是可以打人

多数生物都继承EntityLiving,牛马猪羊,骷髅、僵尸,村民、铁傀儡,套路都大同小异。但总有些妖魔鬼怪不按常理出牌。蝙蝠就是继承了EntityAmbient,很多EntityLiving该有的都没有,写个AI都极其吃力。我最后的结果是放弃继承原版的蝙蝠类,大规模复制代码起一个新的。这是我在写1.16.5魔城传说3D的时候发现的。真的,跟蝙蝠比起来,鱿鱼就算好的了。


我想做个非生物实体,但是自定义模型。

MC对于非生物实体的渲染支持很差,火焰弹那种的扁片改个贴图倒还好说……箭那种,自己去翻翻对应的Render类,然后吐血吧。


我想修改玩家的姿势。

改不了、改不了。改需求,或者黑魔法招呼把。看看玩家实体渲染的地方,再看看forge给你的几个事件接口,然后绝望吧。




看似入门,实则大师的评论 (共 条)

分享到微博请遵守国家法律