分享到           

1.12版公测后玩了一段时间WWWWWWWWWWW
除了个别几个崩溃性bug以外,总体感觉挺不错的,驯化系统很有趣,用无耻生电坑杀动物更有趣~
而且动物超厉害,经常可以超远距离把人追杀致死,简直可怕!WWWWWWWWW
主要问题还是生物的寻路和移动AI好像都有点问题,一下水就会卡死变白痴,哎WWWWWWWW
貌似1.16修复这个问题了?期待~
穿过县界长长的隧道便是雪国。

TOP


1.16.5的寻路应该确实没啥问题了……应该(?)
顺便还加了一个大型动物会把树、树叶、竹子、仙人掌等等植物撞烂(?)的功能,妈妈再也不用担心我骑着大型动物进森林会被卡得动弹不得了!但森林会不会因此秃掉这就是另一回事了(X)

飞行动物的骑乘优化、模型动态也都基本搞定了
跟随银角烈焰龙的银角火飞蜥有一种天伦之乐的感觉,太可爱了所以我要专门放个图(X)


yes,银角烈焰龙和脊冠火龙的新模型、新贴图、新动画已经搞定!


招式比大地走龙略少,但也是精心制作的!

应该基本上可以进入内测阶段了(?)
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


既然1.16.5第一版也发布了,那就继续往后更新了!2预计还有两个更新内容,立兽工作模式和骑乘按键技能,搞好之后就能进入下一个大版本了!

先做立兽工作模式,基础功能已经搞定!
立兽的装备栏可以放工具类物品,护石栏可以放方块,如果放入的方块和工具是对应的话,就会激活工作模式,显示蓝色背景(一种蓝领的概念(X)

记得调成巡逻模式,这样立兽就会自己去周围找对应的方块进行采集啦,对没错,给它圆石的话它是会采集石头的


手上采集满了就会寻找附近的箱子,把方块放进箱子里

比如一般方块都是64堆叠数量,立兽就会采集满64个方块之后,寻找到一个附近的箱子,把63个方块放进箱子里,自己手上留下一个用于继续保持工作模式,继续再去采集
动物都是一次攻击破坏一个方块,所以,效率蛮高的

头顶的粒子效果用于显示工作状态,稿子就是采集中,绿镐是已发现目标,红镐则是附近没有可以采集的方块
箱子图标也是一样,东西满了需要找箱子的时候就会出现箱子图标,绿箱是附近存在有空位的箱子,红箱是找不到箱子
红图标状态下动物就会啥都不干,立马开始原地摸鱼(XXX)

下一步来想想农田怎么操作,只有两个物品位,收获和播种有点没法同时判定啊
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


本帖最后由 羽·凌风 于 2024-3-10 18:57 编辑
农田差不多也搞定了!
有种子的就上面放种子、下面放成品(?),没种子的(种本体)的就上面放锄头、下面放成品就行了!


和采集一样,也是搭配正确就会显示蓝色底色,进入工作模式
顺道一提只有植食性的动物会种地,你让一个纯肉食性的动物来种地听起来也不太合适对吧

然后动物就会自己种植种子

自己等待成熟

自己收获啦!

收满一身后也是会跑去找箱子把东西放好

不过农作物因为考虑到要种植,所以种子满了只会放一半进去,自己身上留下一半继续种

到点儿了动物还会自己睡觉,我们这是良心企业,不加班(XXX)


测试的时候还出现了兔子速度太快,窜到山猪的地盘去抢对方的空地种的事故

喂我给你们用栅栏隔开是为了啥啦(X)
羽·凌风 于 2024-3-10 19:00 补充以下内容
顺道一提做工作AI的时候顺便优化了一下之前动物遍历周边方块的算法(比如觅食就经常用到这个算法)
优化之前我测试一只虎猫挖矿,基本上挖三五个就要卡一下,卡顿挺严重的
但优化之后,我就算测试的时候同时放三只立兽出来工作,也没卡过一次
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


勤奋如我,2.9工作帕鲁更新好之后,立即又来开发骑乘技能啦!
动物装备鞍具后,界面上会增加一个标签,用于自定义骑乘技能

所有动物自带三个天生技能:普攻、魔攻和威吓(吓跑附近营养级低于自己的动物)
点击技能后可以从技能库中选择别的技能替换上

游戏界面也会同步显示各技能的按键提示


不喜欢默认按键的话,也可以去配置里修改

可以随便改成自己喜欢的键位,完美


我敢说没几个宠物类MOD有我这功能吧
接下来想想怎么通过卷轴让动物学习新魔法,扩充技能库(?)


【发帖际遇】:羽·凌风 走在大街上摔了一跤,竟然发现地上躺着 18F卡币 ,赶紧捡起来!

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

TOP


哦哦哦哦哦哦哦太棒了!
等我不得不跟飛機暫別的時候,就又輪到了我來測試的時候了!
好興奮,好想當個普通玩家啊
但還是應該先努力抓蟲子WWWWWWWW


【发帖际遇】紅峽青燦 看见现行犯立刻上前捕捉,见义勇为被刀疤警长克莱尔·地皇鼓励,获得赏金&sid=D5L4nV 63F卡币 !

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

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

TOP


本帖最后由 羽·凌风 于 2024-3-18 21:36 编辑
2快要完结了,测试员们给力吧,完结了就可以启动3啦!希望不要有太多我不会修的BUG(XXX)

继续最后一点功能的开发,终于规划好了怎么搞动物后天通过卷轴学习魔法!
简单来说就是做了个驯服动物的魔法库(?),技能界面加了一个物品栏,可以把卷轴放进去,就能直接学会这个卷轴的魔法
每只动物能学5个,学会后就能和物理招式一样随意配置到四个技能键位里了

学习超过5个技能的话,动物就会从第一个开始遗忘
驯服野生动物的时候,动物会随机自带几个野生状态会的魔法
另外既然驯服动物也有自己的魔法库了,那么驯服动物自己打架的时候就不会抽取野生状态的魔法库了,而是会从驯服库里面抽魔法来用
所以就算不能骑乘的个体,玩家也可以考虑配置一下这个魔法库,让动物自己打架的时候多用些更容易打到敌人的魔法

另外做了个新的骑乘移动方式:滑翔
浮空状态下自动缓降+向前移动,并且免疫跌落伤害

不过目前只有高山喙龙能滑翔

呼,新功能都搞完了,接下来优化、debug一轮就可以完结2了!


【发帖际遇】:天空中传来隆隆的吼声, 羽·凌风 抬头一看,一条银角烈焰龙飞过,落下了手中的宝贝,不幸正好砸在头上,花去了&sid=D5L4nV 44F卡币 医药费。

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

TOP


最近学到了一个全新的骚操作,来记录一下~

玩过1.16.5前两版的同志们应该知道,骑乘动物状态下的视角调整不是很丝滑、和1.12的那种摄像机直接往后延伸的感觉不一样
那是因为1.16.5控制摄像机的代码在Forge里是private的,我在调用摄像机事件的地方用不了,所以只能另想办法,在骑乘时候强行把玩家的位置拉远,营造出视野拉远的效果
但这样做会有两个BUG,一个就是视角调整不够丝滑、尤其是视角和动物平视的时候很容易看不到动物(毕竟玩家位置和动物不一定齐平),观感不佳;另一个BUG更严重,就是当动物站在墙体旁边时,玩家位置很可能会被计算到墙体里面去,造成玩家视野穿墙
但我学习冰火传说源码的时候,发现他用的正是那个private的代码,不对啊,版本都一样,没道理他能用,我就不能用

于是到处寻找这到底是怎么回事,终于在Forge的GitHub Wiki上,发现了这句话!

原来……能转啊!
官方教程:https://github.com/MinecraftForg ... lob/master/FMLAT.md
回头去冰火传说的源码里一看,果然有这个叫做AccessTransformers的东西,立即学起来
在main\resources\META-INF里新建accesstransformer.cfg文件,学冰火的样子写成这样

再去构建文件(build.gradle)里加上这个cfg文件的地址
  1. minecraft {
  2.     accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
  3. }
复制代码
重新构建后,果然,那两个private方法不再报错,可以为我所用了!


简而言之学了一个修改Forge源码可用性的方法,修复了一个困扰了好久的BUG,骑乘视角调整又可以回归舒适啦
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


本以为问题差不多都搞定了,结果一测试又发现一个大BUG!那就是无论用什么方式,动物的物品栏都打不开,从1.16.5一开始就打不开!
呜呜呜,为什么总会出现这种本该第一轮就修好结果却延续了好几代的恶性BUG

排查发现,是我通过事件覆盖掉原版马的物品栏GUI时,通过硬编码字段的方式来获取GUI里的实体和物品栏,因为这两个代码在GUI里都是私有的所以无法轻易获取,这段代码在开发端可以畅通无阻地运行
  1. HorseInventoryContainer oldContainer = (HorseInventoryContainer) event.getContainer();
  2.                 AbstractHorseEntity horse = ObfuscationReflectionHelper.getPrivateValue(HorseInventoryContainer.class, oldContainer, "horse");
  3.                 IInventory horseInventory = ObfuscationReflectionHelper.getPrivateValue(HorseInventoryContainer.class, oldContainer, "horseInventory");
  4.                 if (horse instanceof AnimalDragicland && horseInventory != null) {
  5.                     player.openContainer = new AnimalInventoryContainer(player.currentWindowId, player.inventory, horseInventory, (AnimalDragicland) horse);
  6.                     player.openContainer.addListener(player);
  7.                 }
复制代码
但忽略了很重要的一点,那就是Minecraft的编码是混淆的!开发端自带反混淆,我这里可以获得"horse"这个变量没错,但在实际游戏中,由于MC源代码混淆了(变量和方法变成乱码),通过"horse"这个变量就无法获取到实体了!
因为经过混淆后,这个变量不再是"horse",而是"field_111242_f"! 1.16.5反混淆表
继续用写死字段的方式硬编码这段代码显然也不是最好的解决方式,如果能不通过字段名就获取到实体,就不会再有这个BUG了……然后我的注意力落在了那个Private上……
emmmm,我不是刚学会了一个操作private的方式嘛?于是试试在 accesstransformer.cfg 里加上实体和物品栏这俩私有变量

重新构建后能顺利使用这俩私有变量了,这样一来问题终于解决了!


希望不要再出现这种很恶性但一直都没有发现的BUG了
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


2.10发布后,本计划继续往下开发,但是……发现网络上关于维度、群系和世界生成的教程巨少!这种涉及到高级玩法(?)的教程几乎找不到!好不容易找到点也是浅得很,全是放代码啥机制都不讲!
哎,只好先把云洲的泥土和草方块、以及草的扩散机制做好,群系和维度生成再慢慢想办法吧(X)

因为白云土有自己的特殊机制,所以需要做个单独的方块,不像原版那样每个群系都是泥土方块变色

然后红龙之后的新模型都没放,来补一个~
四种狼

六种狐狸

包括俩新物种,菜狗和羽尾兽,菜狗可爱滴捏

两种蠕虫,精神污染千眼虫 & 新人杀手血蛭,都得到了外观上的史诗级加强(X)


两种蚂蚁,按照设定新做的黑蚁变得超级像苍蝇了(XXX)

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

TOP


经过了框框一顿查资料、找教程、学开源项目的源码,我,终于,把维度和传送都搞定了!
先放上新增维度需要用到的资料:
https://www.bilibili.com/read/cv25708152/
https://blog.csdn.net/Jay_fearless/article/details/120573322
https://www.bilibili.com/video/BV1z5411a7rH/
https://www.bilibili.com/video/BV1Gt4y1D7Wx/
https://minecraft.fandom.com/zh/ ... %E5%BA%A6/Generator
但噪声生成最后并没有用上,因为发现1.16.5版似乎是因为太老了,网上的json教程全都不适用,就算按照教程写了,运行的时候还是会报错
于是就干脆自己写了个BiomeProvider,维度json调用新的Provider,就可以跳过那些复杂的噪声参数了

同时还参考了很多也是建立了一个天空维度的老牌开源模组“天境”
https://www.mcmod.cn/class/94.html
https://github.com/The-Aether-Team/The-Aether
总之,我的云洲维度,终于也完成了!

使用白云土搭建传送门框架+任意风系魔法对门内右键,即可产生云洲传送门

进去之后和原版一样也会在对面生成一个相对应的传送门

云洲就是空岛啦,等之后把群系和特有物种都做好后,绝对漂亮

除了搭传送门,去云洲还有更简单暴力的方式:直接在主世界往天上飞就能抵达云洲,同理从云洲往下跌落也会落回主世界
有会飞的宠物就能探索啦

系统搞定,可以继续愉快地堆量了(X)
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP


我要搬家去雲州
我這人就喜歡天空,但雲州在我的感覺裡,從你的文章裡看起來到處都灰白灰白泛著藍,並不漂亮WWWWWWW
求顏色鮮艷點(?)
我作為一個真正的人類(???)還是很喜歡綠色和彩色的WWWWWWWWWWWW


【发帖际遇】 紅峽青燦 正在悠閒浏览龙洋城的夜间风光,忽然青光一闪,被割破的口袋成为龙洋第一杀手留下的独一无二纪念礼物。哦不!那好像用是 98F卡币 换来的。

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

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

TOP


本帖最后由 羽·凌风 于 2024-4-12 09:45 编辑
维度搞定了,那就继续开始做生物群系!群系的教程也不多,主要参考的这俩:
https://www.bilibili.com/read/cv28822845/
https://blog.csdn.net/Jay_fearless/article/details/120580734
因为不想做json,所以主要参考的第一个链接,注册方式则是两者结合了一下

由于云洲没有石头,而石头是主世界地面生成之后的默认方块,所以地面生成也得改
https://blog.csdn.net/Jay_fearless/article/details/120586013
但地面生成的注册就要麻烦不少,按照教程做出来,却发现注册Biome的时候不让用自定义的SurfaceBuilder,哪怕在总线中调整两者的注册顺序,也还是会报错说找不到自定义的SurfaceBuilder
查阅资料发现似乎是因为MC注册SurfaceBuilder的时候是强制将它放在所有注册最后才加载的,也就是说就算让Forge先加载了它,它真实起效的时候依然会是在Biome注册之后,导致Biome注册时找不到新的SurfaceBuilder只能报错
解决这个问题的方法特别戏剧性,我先是在Forge论坛上看到一个人和我遇到了相同的问题:
https://forums.minecraftforge.ne ... ith-surfacebuilder/
楼主自己在帖子里说他解决了这个问题,但是没具体说是咋解决的……于是我去翻他别的帖子,发现他不久之后问了一个新问题,里面把修改后的注册代码贴出来了!
https://forums.minecraftforge.ne ... es-make-game-crash/
于是,我也把这个自定义SurfaceBuilder注册的问题解决啦

最后一步是树!草和花可以用地面的,但树要做新的,这样才好看!
树的制作和生成方式找到了一个讲得很全面的教程:
木头:https://www.bilibili.com/video/BV1KF41197M2/
树:https://www.bilibili.com/video/BV1am4y1E7sj/
世界生成:https://www.bilibili.com/video/BV1mV4y1b7Se/
树比想象的容易做多了,为了多样性,做了两种树

树上还有几率结果,带果的树叶挖掉有几率掉落金苹果甚至附魔金苹果,这就是全世界最好的阳光农场的含金量啊(X)


如此一来,云洲的地形和群系生成,差不多完成了!
整体色调上层青绿、下层灰蓝,和主世界有明显的区分


还会刷一种类似萤石的发光方块,萤石是金色,云洲的这就是蓝色的


石墙木门啥的建筑方块就等下个DLC做云洲村庄的时候再做了,这轮就只做自然环境了~
那么,下一步得做新物种了,云洲特有物种往上一加,这维度就更有趣了


【发帖际遇】羽·凌风 看见现行犯立刻上前捕捉,见义勇为被刀疤警长克莱尔·地皇鼓励,获得&sid=D5L4nV 11探险经验 !

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

TOP


大型進度推進啊喜聞樂見!!!!!

哪怕在总线中调整两者的注册顺序,也还是会报错说找不到自定义的SurfaceBuilder
查阅资料发现似乎是因为MC注册SurfaceBuilder的时候是强制将它放在所有注册最后才加载的,也就是说就算让Forge先加载了它,它真实起效的时候依然会是在Biome注册之后,导致Biome注册时找不到新的SurfaceBuilder只能报错

關於這個,就算我不會做mod我也聽說過,因為以前滿常玩別人做的mod,我就聽過一種說法是:「無論是甚麼mod都一定必須有石頭和土壤方塊,所有世界都必須建立在石頭上。」現在想想大概就是這種原因吧。我也看過模組開發者說想要做一個完全玻璃化的世界來致敬冰雪奇緣,但無法不建立在石頭上所以失敗了。

但你這嫖得是不是太戲劇化了一點WWWWWWWWWWWWW

雖然......有點不五彩繽紛......但我喜歡那個發光藍石
話說我以前玩過一個模組,樹葉會隨著遊戲裡的時間變色,好像叫做reinbow tree world?
就早上是紅色,接著會慢慢變成橘色黃色綠色入夜前是藍色,然後夜晚會變成全黑
相當討厭,晚上一時看不清楚會撞到樹或著爬不過去WWWWWWW

好想喊你給我發模組測試,但我現在正在跟那個該死的法規文件奮鬥......

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

TOP


想不到吧,立马又有大型进度推进了
神明的基础代码、以及护石的附魔技能也完成啦!
地图上极低概率刷新体型巨大的发光动物,它们就是神明

神明除了游荡什么都不会干,不会攻击也不会受到攻击,手持任意护石朝着它们右键,就可以获取来自神明的祝福

这些技能都会是一些即实用又强力的被动,让你的宠物字面意义上的“如有神助”

好了,现在系统都差不多搞完了,真的得加劲做新模型了(XXX)


關於這個,就算我不會做mod我也聽說過,因為以前滿常玩別人做的mod,我就聽過一種說法是:「無論是甚麼mod都一定必須有石頭和土壤方塊,所有世界都必須建立在石頭上。」現在想想大概就是這種原因吧。我也看過模組開發者說想要做一個完全玻璃化的世界來致敬冰雪奇緣,但無法不建立在石頭上所以失敗了。
这个确实蛮难的,最后那个人的解决方法是把地形生成注册成一个类似方法的东西,这样Biome注册的时候就变成了加载一个方法,最后游戏内调用的时候(已经全部注册完毕之后)就能成功调用到已经注册后的地形生成方法
这思路……哪怕能想到,对JAVA代码不熟的人也写不出来啊(害怕.jpg)

树叶草地变色啥的倒是不难,因为原版群系就是用一串十进制数字来控制每个群系里草地和树叶的颜色的,只要用某种公式调整那串十进制数字代码就行了
话说为啥想要五彩缤纷啊,清爽有清爽的美啊WWWWWWWWW
欢迎来到Dragicland,【总版规】请记得要看哦,还有这个也是好东西→如何回复?

TOP

分享到