分享到           


故事所属系列

系列
其他
本帖最后由 羽·凌风 于 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=b8ME1E 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=b8ME1E 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

分享到