分享到           


故事所属系列

系列
其他
本帖最后由 羽·凌风 于 2023-3-31 11:22 编辑
事情是这样的,前段时间我不是想要在我的老猎人MOD里用geckolib加载更精致的动物模型和更好看的动画嘛,于是不得不把原本1.10.2版的MOD更新到1.12.2版(geckolib支持的最低版本)
然后学习geckolib花了很长的时间(X),同时在实际更新的过程中,遭遇了不少的问题,包括但不限于仇恨机制坏掉了啊、驯服机制坏掉了啊等等
但这些问题都是小毛病,都抵不过后来我发现的一个巨大的失误,那就是:我研究了很长时间、心心念念想要的,有了漂亮的模型动画后就要再加上漂亮的物品装备显示,可1.12版的geckolib压根没有提供跟随动画显示物品的接口!要到1.16版本才提供!!!
顿时我陷入了一个极大的困境:一边是比较好升级、并且大部分核心功能都已经升级完成的1.12.2,另一边却是充满了我很想要的新功能(包括并不限于更好的物品和动画显示、更好的海洋生态系统、更完善的游泳和飞行路径系统、更漂亮的飞行姿态机制)、但是据说核心代码和1.12差别太大以至于MOD里很多东西都要重新调整的1.16.5!
就这样,我经历了十分纠结的内心斗争,再加上看到1.16.5版本已经取代1.12.2成为了一个新的稳定版,MOD数量也超过了1.12.2,这意味着1.16.5的教程也很成熟了
于是,我,决定,我要抛弃1.12.2了,我也要升级到1.16.5!
但升级到1.16.5,也就意味着forge的核心代码存在断层式的大改,MOD代码的修改势必也会非常大,有些地方几乎等于重做(比如新版的配方表),还好我的很多动物核心代码都是放我自己的MOD里重写的,以及geckolib因为是独立的库,所以改动(应该)不会很大
你们说,这么一个耗费了如此多心力的东西,不拿来多水点帖子实在是有些浪费了,是吧?(???)
So,从头开始的《老猎人MOD升级1.16.5进度 及 往后MOD更新和BUG修复进度 完全整理》,堂堂连载!(炸)


既然要搞更新进度这种东西,那,允许我直接画个大饼,以下,是目前已在计划中的MOD及DLC(大版本更新)的玩法和系统更新计划:
1. 原始呼唤(Call of the Primeval)-基础系统,动物,魔法,生态,部位破坏 √
2. 动物伙伴(Animal Companion)-驯服,骑乘,动作优化,物种图鉴 DOING
3. 四季之歌(Seasons in the Song)-季节天气变化,作物影响、物候生态,古神 TODO
4. 文明崛起(Rise of Civilization)-组队,成就,任务,NPC,城市,科技造物 TODO
5. 领地战争(Man versus Wild)-云洲,村庄区域的攻城战,野外盗猎 TODO
6. 远古尘埃(Dust from the Past)-灭绝种,进化树,化石挖掘和复活 TODO

理想很丰满、现实很骨感,看看我能走到哪一步吧

什么?你问我计划那么多为什么不做独立游戏?当然是因为菜呀!MC现成的核心系统、世界生成、以及超级简单轻松的建模和素材制作,可以把大部分精力都放在玩法、堆量和优化上,不香吗!(炸)

 

欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

快畫!趕緊畫!你餅越大我越開心!我才不在乎甚麼有生之年系列我就是等!等著玩!本王有的是耐心!(金閃閃喝酒狀
我最期待最喜歡你這個模組,實裝好了我能沉迷到FGO又斷登WWWWWWWWWWWWWWWW

光是你做到第2部我就會放煙花了這可刺激了太棒了!
但不要有壓力啊慢慢做不用急,你看富奸腰疼觀眾還是很有耐心的,吉爾伽美什史詩都可以五千年連載再開,我願意慢慢等!不敲碗!只要每次更新完先推一個更新模組包我就滿足了WWWWWWWWWWWWWW
幾乎每一個更新功能都能水一帖我覺得。


給你們看本王的強運!

這是自然生成的哦!我好容易遇到嬌小的龍寶寶!所以說我的陸地戰艦走龍號呢?
但那倆帶血條的不干我的事,那倆是我在五百格外亂丟龍蛋結果......不知道為甚麼,飛過來的虹龍和其實並不存在的大地走龍

你不要過來啊!(崩潰

快把萌燦抱回家!
Don’t think, just do. For the heart is an organ of fire.

TOP


本帖最后由 羽·凌风 于 2023-3-31 23:24 编辑
感谢楼上的小伙伴一直那么支持我这个三脚猫程序猿写的BUG,呸,我是说写的MOD

下面就开始正经更新进度了!我会放上一些我参考的教程、以及遇到的问题和解决方式,如果可以帮助到其他和我一样菜鸡的Moder,就好了(X)

首先,开发环境搭建,按照我的教程(?)走就好,需要注意的是国内网络下载环境的时候可能会出错,如果下载很长时间程序都没动静,建议多换几个网络。
然后就可以直接动手了,因为是更新MOD,所以把1.12版的文件一点一点搬运到新工程里对应的位置,然后再按照教程调整代码就好
创造模式物品栏:https://blog.csdn.net/qq_24336523/article/details/119930500
语言文件:https://blog.csdn.net/qq_24336523/article/details/119938631
方块:https://blog.csdn.net/m0_51390535/article/details/124485761
物品:https://blog.csdn.net/qq_24336523/article/details/119929913
食物注册稍微麻烦一点,新版Food变成了私有类,不能像以前一样直接extends了,得extends Item主类,然后在Properties里面说明这是个food
Like this
  1. super(new Item.Properties().food((new Food.Builder()).hunger(2).saturation(0.2F).meat().build()).group(CreativeTabsLoader.tabDragicland));
复制代码
武器和工具:https://blog.csdn.net/qq_24336523/article/details/119938806
防具做法和武器一样,先去 implements IArmorMaterial 把质地注册了,再在防具的类里面直接调用就行了
唯一需要注意的是在IArmorMaterial里面注册盔甲质地的时候记得带上自己MOD的ID,不然系统默认你的盔甲材质是放在minecraft本体的材质文件夹里面的
Like this
  1. Cover("dragicland:animal_cover", 7, new int[]{1, 2, 1, 1}, 20, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0.0F, 0.0F, () -> { return Ingredient.fromTag(ItemTags.SAPLINGS); }),
复制代码
呼,也不知道是不是我已经被升级1.12训练得没有那么菜了,方块和物品算是forge MOD里最简单的部分,感觉就算是大更也没有很复杂,全部方块和道具,近两百个物品已经搞定
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


物品和方块已经完成了,下一步就该到附魔和配方表了
没有找到附魔的教程,不过1.16的注册逻辑很简单,模仿方块和物品那样写就行了
  1.     public static final DeferredRegister<Enchantment> ENCHANTMENTS = DeferredRegister.create(ForgeRegistries.ENCHANTMENTS, Dragicland.MOD_ID);

  2.     public static RegistryObject<Enchantment> Cover = ENCHANTMENTS.register("cover", EnchantmentCover::new);
复制代码
附魔的主类Enchantment改动不多,照着原版的附魔类稍微改一下super就行了

物品、方块、附魔都还原后,就可以搞配方表了:https://www.bilibili.com/video/av458777176/
带附魔的配方表:https://www.mcbbs.net/thread-1272294-1-1.html
配方表属于1.12跨1.13的时候最麻烦的一个部分,1.12及之前配方表可以用JAVA写,但之后全部改成了json,等于全部重写
BUT!我在升级1.12之前,曾经先试过升级1.13(我真的太想要那个海洋更新了),所以,配方表的部分我已经重写好了!直接拷过来,搞定


其实可以理解MC和forge新版为什么要大改这些注册和加载机制,把很多东西都从Java里删掉直接放到json里面,json数据条目很清晰很简便,跨版本迁移几乎不需要做什么修改,确实很方便
就是从Java转Jason的时候真的蛮麻烦的(X)

然后,小东西都解决了,开始做实体,也不知道什么时候可以有进展,已经被魔法导弹(?)渲染不出来的问题卡一天了


【发帖际遇】羽·凌风 在森林中探险时不慎遭遇土球特工队,被成千上万土球追赶,却奇迹般地全身而退,获得&sid=lGIVYd 46探险经验 !

际遇事件仅作娱乐,正式设定请见【DL故事集】
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


经过几天被1.16.5虐待,我发现……物品、方块、附魔、配方表,全都是小case,果然实体才是大魔王啊!!!
实体的 Attribute 和 Render 方法全改了,我已经找遍了教程,还是没能把 Attribute 的注册完全搞定,然后又发现 Render 更难!
尤其是1.12很好用的多层贴图,被1.16取消了!!!!!没这个东西我怎么做部位破坏!!!!!
就这样,我看遍了教程,都没有能够做出来一个可以正常生成的、有贴图的实体!不管怎么改,要么生成不出来、要么一出来就闪退、要么贴图错误
就算搞定了这部分,新版 Biome 的刷新注册改动更多!教程也更少!我已经完全没有头绪要怎么搞定新版的实体注册了……
而我甚至都还没有办法去看看新版本把size写死后到底要怎么自由改变动物的尺寸……
总感觉这个新版的实体,继续研究下去,得变成完全重写了,基本上等于写一个新MOD,我手上有一个写好的MOD我干嘛还要写一个新MOD……
简单来说就是,我严重低估了升级的难度!并且可能也高估了1.12添加新功能的难度(X)

于是,和首席玩家灿同学(?)讨论后,我决定……还是回到1.12版吧!(没出息.gif)
有必要的新版功能(比如海洋群系)直接通过1.12新增群系的方式解决,1.12的教程毕竟还是比较多,做群系的参考也多
呜呜呜,继续修1.12版吧……还是按照一开始的计划,坚守1.12版,新版本太可怕了,MC为什么更新要大改源码啊


【发帖际遇】:羽·凌风断河市被流浪猫老大的左右手卡洛·斑以收保护费的名义讹诈了 7F卡币 。

际遇事件仅作娱乐,正式设定请见【DL故事集】
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


你再沒出息我都還是愛你的!因為你有本事做,我只負責玩!
太好了我的走龍號和小紅又要回來了(O)

既然太難了搞不定就不搞了唄!咱又不是靠搞這過活的,咱是用愛發電!(虎摸,東北虎摸,劍齒虎摸!)
1.16不成就1.12也罷!畢竟基本功能1.12都算完善了,就繼續搞1.12吧!
然而我已經忘了本來1.12是在甚麼功能遇到難處卡死的了(炸


【发帖际遇】:紅峽青燦断河市被流浪猫老大的左右手卡洛·斑以收保护费的名义讹诈了 8F卡币 。

际遇事件仅作娱乐,正式设定请见【DL故事集】

快把萌燦抱回家!
Don’t think, just do. For the heart is an organ of fire.

TOP


回复 6#  @紅峽青燦

之前是被物品在模型上渲染(也就是让动物可以像玩家那样手中拿着剑)给卡死了,发现1.16版的geckolib才有这个功能
哎,1.12没有这个接口,就想办法手动计算这个剑该渲染的位置吧(X)WWWWWWWW


回到1.12,那就开始放送正经的更新吧,虽然上次错误发布(?)后我一直都在修代码,但是动物模型翻新的事也没有落下呢!先前发布的时候翻新了10个模型,到现在已经做好15个了!
先来秀一下模型,有一些之前使用同一个模型但实际设定外观差别比较大的物种,也都独立模型了!

首先是吉祥物(?)因为泥球独立成种了,所以土球的亚种皮肤就取消了(X)


飞行动画测试功臣(?),三种飞蜥龙,模型没改动,但是添加了不少动画


两种喙龙,顺便因为添加了性别系统,就也给高山喙龙加上了雌雄差异(公的红角,母的黄角)


林兔和雪兔,模型和原版差不多,但有了动画,比如拜倒(?)

草兔垂耳,模型和标准兔子(?)不一样了

顺便加入新兔子,对这个名字叫鼠的东西是一种兔子(?)


猪突猛进,山猪加了鬃毛和背刺(?)好看多了


一字触,获得了更加精神污染的攻击动画(X)


大鼻子猪 熊的通模也改精致了一些,顺便加入了利爪熊和幻嗅


角犀原本就很好看了(?),有了动画更好看哦

如果你遇到一头瘤犀,跟着他,你会发现他身上的瘤子也会弹动的哦(XXX)


鳄鱼模型翻新,背上的棘刺和头上的角都更精致了,什么你问下面这是个什么鳄鱼?这是有着泽原鳄的颜色、高山鳄的鼻角和大戟河蜥的背鳍的三位一体混种鳄!(?


厌世跳鼠,看过兔王争霸赛的朋友们应当已经认识他了(X


小型鱼类的模型放大+翻新,四种小型鱼(圆斑鱼、切肉鱼、草鱼、土鱼)的物种区别能看得更清楚了(?


大型鱼长得都不太一样,模型区分开了,血斑鲈还是常规的鱼型

而灰石鲈已经完全是一块石头啦(X),之后尝试再做做看水域底栖动物的AI~


所有翻新的模型都加上了有体积的鞍具,鞍不再只是单纯的贴图了,比之前好看多了吧
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


手动计算这个剑该渲染的位置吧

這難道不會讓模型運動的時候,不停的在計算部件生成位置導致劇慢或者卡死嗎?

哦NO!!!好想玩好想玩好想玩啊!

快把萌燦抱回家!
Don’t think, just do. For the heart is an organ of fire.

TOP


本帖最后由 羽·凌风 于 2023-4-8 17:01 编辑
回复 8#  @紅峽青燦

这难道不会让模型运动的时候,不停的在计算部件生成位置导致剧慢或者卡死吗?
还好,毕竟只是几个立体几何坐标点的计算,对电脑来说完全是小case
这个更主要的问题是……研究了很久,公式依然建立不起来,我立体几何已经完全还给老师了(炸)


继续汇报近况,最近为了做一些习性更复杂的动物,把原版分开包装的路径系统(原版陆地、飞行、攀爬、游泳都是相互独立的)全部整合到一起了,这样可以试着做一些更自由的路径组合方式,比如又会钻地又会游泳的土鱼呀、又会飞行又会攀爬的风翔龙啊之类的
飞行方式也优化了,之前参考的“更多生物”MOD里的飞行方式,结果做出来动物老是垂直方向飘忽不定地飞,跟气球似的,这次修改之后可以飞得更稳定了(?
跳跃也优化了,先前跳跃高度很迷离,一个熊能跳两米高(?),现在都削得自然了些

顺道还发现了一个钻地生物的大BUG,就是我是按照方块的材质种类属性(Material)来设置钻地生物能钻的方块的,然后基本上这些动物都可以钻泥土(Material.GROUND)。但我发现咋我的土鱼老是钻进去了却会闷死在里面,最后发现,它在泥土的状态钻进去了,而当泥土长草之后变成了草方块,材质就变成了(Material.GRASS)!而对于草材质的方块,可怜的土鱼就钻不动了,然后就在里面被闷死。给钻地类型里加上草的材质就没事了。
什么恐怖故事,开开心心出门散个步,头顶突然长了草,就被活埋了 (X)

再测试一下驯服动物的数据储存,没问题的话1.12版就可以再次发布了(?)
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


我立体几何已经完全还给老师了

所以你現在拿回來了嗎?沒有的話我給你推薦一位我的教育有方的同事,他教四年級孩子算分數的時候不知道怎麼搞的教成了開立方根,孩子學會了三次方但分數還是不會,期中考不及格被家長投訴了

做出来动物老是垂直方向飘忽不定地飞

f-22摩拳擦掌(X

一个熊能跳两米高(?)

這麼可怕的?!我之前沒有看見過,不對,我之前玩的時候就沒有遇見過熊類。

开开心心出门散个步,头顶突然长了草,就被活埋了

被草活埋聽起來非常奇怪!是說你講這個我想到之前跟你說的一個bug,就是動物會自己鑽方塊然後悶死,不會鑽洞的也會鑽方塊,你看我上次的國王日記(?)裡面不就有很多動物鑽地之後死掉了?還有龍甲犀鑽地不見了?老鷹和狼甚麼的都會去鑽方塊,那是怎麼一回事呢?

我好期待啊!跳動跳動!

快把萌燦抱回家!
Don’t think, just do. For the heart is an organ of fire.

TOP


回复 10#  @紅峽青燦

那是怎么一回事呢?
这个问题我一直没有复现,所以不知道你当时到底是什么情况WWWWWWW
不过既然没有复现,那就没关系了吧(X)


目前移动路径差不多修好了,驯服代码也换了个接口,现在驯服成功会弹出原版驯服马和狗时候的成就,应该没问题了(?
顺便新增两个小东西,一个是犬笛右键会强制将没睡觉的宠物移动到自己身边,另一个是动物屎会自动降解、并且降解的时候会在原地产生一个骨粉的效果(?
采集屎获得的道具,也可以和骨粉一样右键对着植物使用催熟,屎的功能终于完善了!(X)
内测版本已发送,没大问题就可以重新更新了
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


內測的時候我發現了一些蟲子(?)坐一下總結好了,我感覺離更新還有一段距離。首先我目前確定更新是可以繼承馴養動物的,不過好像沒辦法都繼承,老存檔的大地走龍不見了,但我新存檔的銀角烈焰龍有被繼承,並且也成功觸發了馴養成就。

目前最大的問題我覺得是動物實體的位置問題:
1動物有時候會自己分裂為兩個或者三個甚至更多,馴養動物也會,但其實這些影像裡面只有一個是真的,但我不知道真的是哪一個。
2在動物裂開的狀態下殺死它,屍體會延遲很久才消失。
3動物裂開的時候犬笛好像叫不過來(或者說犬笛有距離限制,而我召喚的動物本體離很遠只是殘影在犬笛範圍內)
4使用殺光動物指令時,動物屍體和殘影都不會立刻消失

接著是動物的馴服相關問題:
1對著馴服的動物使用牛奶桶,牠會連奶帶金屬桶一起吃掉
2寶寶不顯示血量和飽食度,我不確定何時要餵奶
3馴服的龍不會反擊,被打到只會逃走完全不還手,我被打它也不過來幫我,就讓我在他腳邊被獅子咬死WWWWWW
4動物不跟隨犬笛,手拿著在牠旁邊晃來晃去也不跟過來WWWWWWWW

操控的問題我覺得可以先不要討論,因為模型還在翻新,但目前的就是騎龍下不來,騎龍後的左右鍵還是人物的左右鍵,有龍攻擊粒子特效但沒有實際傷害輸出,飛行/落地控制究竟是SHIFT還是空格鍵控制的不明確。

--------------------------------------------------------------------------------
其實我有點疑惑,這些問題很多都不存在於大地走龍那次的測試中,比如裂開比如不能騎龍攻擊,之前都是已經完善的功能了,為甚麼現在反而有蟲了?是甚麼東西更新影響了這些部分本來的功能?


【发帖际遇】紅峽青燦 在闲适的成野市玩耍得乐不思蜀,每天大鱼大肉加上各种娱乐活动,却渐渐生疏了探险的本领,失去了&sid=lGIVYd 18探险经验 。

际遇事件仅作娱乐,正式设定请见【DL故事集】

快把萌燦抱回家!
Don’t think, just do. For the heart is an organ of fire.

TOP


回复 12#  @紅峽青燦

其实我有点疑惑,这些问题很多都不存在于大地走龙那次的测试中,比如裂开比如不能骑龙攻击,之前都是已经完善的功能了,为甚么现在反而有虫了?是甚么东西更新影响了这些部分本来的功能?
感觉基本所有的问题,都是存档玩到后期实体数量太多之后,游戏运算量太大被干崩溃导致的问题
比如残影看起来像客户端错误生成了实体,但一开始实体没有出现在客户端的话,后续正常也不会突然出现在客户端的
还有不攻击不跟随,明显也是AI的计算力全被卡死了,没触发正常的AI计算
所以这些问题在我测试的时候都没有,我测试的存档动物显然并没有多到卡死程序
下一步看来是看看怎么再优化一下刷新机制,以及看看有没有更好的办法控制某个区域内动物的数量

还有一点就是,你玩的时候开的多大的内存?反正我以前那个电脑用默认1G以下也是日常卡死,至少要2G才可以流畅一些,可以的话当然越高越好

至于其他的,看血量和饱食度是shift右键打开物品栏来看,和原版打开马的物品栏一样,而且现在饿到四分之一会有粒子显示,用的生气的村民那个粒子(?)
而骑龙左右键你人物有动作是正常的,只是没有动画的动物你以为他没动而已WWWWWWWWWW
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


感觉基本所有的问题,都是存档玩到后期实体数量太多之后,游戏运算量太大被干崩溃导致的问题

毛毛,昨天我給你那個世界,是全新的世界,我之前只建立了世界但是你說不會那麼快做出來,所以我沒有遊玩那個世界,你甚至都能看到我的出生點(獎勵箱,箱子+火把)就在旁邊,所以那一大堆龍,是打開世界後生成出的。

現在用的馴服紅龍的世界我其實清掉過一次全部生物所以我第一隻小紅龍其實被我清掉了,才會發現動物屍體不消失的問題,雖然後來生成量還是很大。

我是用正版預設的2G遊玩,動物裂開會發生在我開始遊玩的20秒~5分鐘內,每次重新開始玩的時候出現這現象的時間不一定。

快把萌燦抱回家!
Don’t think, just do. For the heart is an organ of fire.

TOP


回复 14#  @紅峽青燦

那你这个真的太奇怪了,我开个新世界跑一两天都看不到几个动物,你那里怎么一下子就生成那么多……
而我的测试存档的寿命已经有现实好几天了,超平坦世界的密度都还和你那个刚开的存档差不多,甚至密度还低一些……
也只见过一次裂开的状况,当时重开之后就没遇到过了
就像我昨天说的,感觉你那边怎么好像我设置的刷新限制全都不起效啊……不会真的是正版受害者吧(X)
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP

分享到