《我的世界》开发大师实战班,开发疑难解答在这里
一直以来,《我的世界》与众多的开发者协同合作,以热爱与创意给冒险家们提供许多了优质玩法,丰富着方块世界的生态格局。为创造更包容开放的游戏内容创作环境,《我的世界》为大家推出了开发大师实战班培训课程,面向各阶段开发者提出针对性的技术培训,帮助开发团队提高开发综合开发素质及实战能力。
在实战班中,解决了许多实际开发过程会遇到的难题。本期MOD SDK重难点问题汇总,就为大家高效快速讲解一下这些开发中的实际疑难,大家快点来抄笔记吧。
【MOD SDK重难点笔记】
【自定义物品】
Q:想要生成自定义矿石怎么做?
A:采用minecraft:ore_feature,在data/definitions/features内可以找到原版金矿、钻石矿等特征文件。
Q:自定义液体如何制作?例如黑色液体。
A:目前暂时无法单独抽离黑色液体。但通过自定义群系,水可以改变颜色为黑色,这是最便捷的方法。然而即使改了,水还是水,只是在这个群系上的颜色不一样而已。
通过water_surface_transparency调整透明度:0.0-1.0代表透明度高低,数值越高,水越不透明,越浑浊。而雾效颜色和距离,则按需进行改动,它会影响入水后的视野,黑色液体的话,推荐用墨绿色这类颜色做雾效。
Q:自定义实体的format_version的行为包最高只支持到1.10吗?例如行为包/entity中的文件(从网易安卓包中解包出的JSON文件)为1.13.0,但是它报错了,材质中用的是很老的1.8的写法,如下图所示:
A:材质包就到1.10.0,这个不依版本而定。而是哪个版本变动了写法,就会将version更新到那个版本上。开发者一般都写1.13.0版本。建议是打开材质包看看,因为上图显示错误的地方是在client/renderer里,应该不是行为包的问题。行为包是entities文件夹,而图示文件夹entity命名错了。
【自定义生物】
Q:自定义生物中的自定义生物事件该如何触发?怎样使用Python对一些事件进行处理?
例如,在某个生物的血量掉到一定程度时触发一个清空玩家背包的事件,这里生物的配置JSON怎样编写?
A:请看图:
Q:有什么方法让原版生物不自动生成么?
A:先spwnmobevent,然后cancel掉。
Q:下述情况该如何处理呢?
如果Boss很大,碰撞体设置成50以上就会导致卡顿,但是设的太小则会使得碰撞体积只有脚下的方块,导致玩家就只能攻击脚了。那么如果我们的组建中设定的脚是在水下的,玩家不能打到。怎么办?
A:把碰撞箱的位置往上调节,再把生物模型往下拉,或者往上拉,总之碰撞箱没法拉得特别大。
Q:minecraft:spawns_underwater,这个组件要如何添加参数?
A:放在spawn_rules里。比如海豚的生成规则,如下图所示:
Q:生物召唤出来了,但是模型绑不上。请问这是什么问题?
A:建议是花时间去查一下模型资源是否有问题。因为一般来说之前可以,现在不可以都是一些小错误导致的。另外,资源还有需要JSON配置的地方,也都需要检查一下。一般来说,接口的问题比较小,主要是一些配置上的问题没有处理好。
Q:能不能在JSON里面定义让生物不会被攻击击退?
A:放在components里,就不会被击退了。如图所示:
Q:请问生物行为-交易界面怎么做?
A:请参考下图:
【自定义方块】
Q:怎么判断要将空方块放置在哪里呢?
A:用ServerltemUseOnEvent这个接口的face参数试一下。
Q:链接方块可以做成只连一个方块吗?
我们做的链接方块如果周围的方块都能连,那么四个方块上就都出现。现在我们添加了一个方块,这个方块如果摆放一圈,用一个连接方块点击中间,4个方块上都会出现部分。
我们想做旗帜效果,挂一面墙,但是现在如果四边都有方块,四边就都会有旗帜部分挂上去。
A:如果是query.connet的话,是要添加能连接的方块才行,也就是说只有一个面可连接。
如果你不想要中间连起来,就得注册第二个方块。比如是一套机器、或者召唤的祭坛、或者方块配方(就是再加一种方块的意思)。因为connet本身就是会这样连接,周围有可连接的部分就会长出你模型预设好的那块多余的部分,最简单就是再设计一种新方块,然后专门是摆在这个里面的中间。这不确定跟策划案是否有冲突,仅为我能想到的方法。旗帜应该不需要connect,做成下图这样的样子,然后就根据方块旋转的特性就好了。
Q:服务端方块随机tick,假如周围没有玩家,是不是就不会产生tick了?
A:是的,需要玩家在那个地方才会生成。
以上问题的解答,均来自此次开发大师实战班的导师Spcoo和境界,内容十分具有参考意义哦。如果这些问答对你有所帮助,又或者你有什么新的想法或问题,不妨在官方平台与大家分享交流。期待大家能产出更优质的作品,与《我的世界》一同成长。
关于《我的世界》:
网易游戏代理的《我的世界》(Minecraft)是一个关于方块与冒险的游戏,玩家可以独自一人或与朋友们一起自由冒险,探索随机生成的世界,创造令人惊叹的奇迹。无论是建造简单质朴的小屋,还是拔天倚地的城堡,尽可自由发挥你无穷的想象力。
《我的世界》官方网站:https://mc.163.com/
《我的世界》官方微信:我的世界Minecraft
《我的世界》官方微博:我的世界Minecraft
《我的世界》官方论坛:https://mc.netease.com/
《我的世界》官方客服电话:PC版 95163815;手游 95163816
《我的世界》官方玩家交流QQ群:677602705
《我的世界》创造者反馈邮箱:[email protected]