UID82897性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-7-23最后登录1970-1-1
|
发表于 2024-7-15 14:59:30 来自手机|显示全部楼层 IP:天津 lone_小狼 发表于 2024-7-14 23:54 十分感谢您的回复
终于有人可以和我讨论addon了!
#bug
说明:以后回复都编辑这个帖子,不开新回复帖了。
首先回答无关紧要的事,也就是那个开头的佛像。我这里可以正常显示,也就是下面这样。
我猜你那里可能是这样的。
说简单点,就是不同字体下空格的宽度不同。我没接触过这方面,所以可能有误。早期空格一般是中文字符的二分之一,与大部分英文字符等宽;后来可能是为了美观,有些字体开始设计四分之一于中文字符宽的空格,结果现在大部分字体都是这种空格了。而代码里一般只出现ASCII字符,只能用空格对齐字符画,所以在比较流行的字体上,空格的宽度就不是原先设计时的了,这样这些字符画就会出现问题。我目前用的字体中的空格还是旧宽度,所以显示正常。
然后讨论bug。第一条我还没试过,一会儿去测试一下改成blend会怎么样。第二条涉及到了非常复杂的版本控制问题。以下是我开发附加包总结的经验,不过它们没经过验证,可能有误。方块和物品的format_version不一样,这些又与min_engine_version不一样,总之很乱。对于方块,min_engine_version决定了所有方块执行命令时命令的语法,而不是format_version决定;对于物品则可能是它们共同决定,或者它们有优先级。我测试时那条命令无法运行,提示“Could not compile commands.”(没看原文,可能拼错了单词。)不过话说回来,1.20.81和1.21.20总归跨了一个大版本,附加包系统也有很大不同,所以我这里的情况不代表1.20.81版本的情况。第三条bug,我感觉这很复杂,不过也不是不能解决,所以先放到一边。我的预感是,如果非要解决这个bug,要么会很简单,要么得重做这个系统。
接下来是建议,对于第一条,我想说我也做不出来自定义液体的游泳效果。也不是不能做,那就上脚本吧……当然,也不是非得用脚本,那就用函数……其实这些也就只能加漂浮和缓降的状态效果,达不到真正游泳的那种状态。对此,我的想法是——重做水泵系统,让它不需要在运行时替换原版的水和熔岩就行了。不过这很难,我不会,所以推到一边。
至于第二条,也不是必须遵循一次一方块的理念,在其他方面找补就行了——其实是我也不会。
第三、第四、第五、第六、第七、第九条都已经解决了,没必要再提。至于第八条,我当时把几百个1.16.100的方块升级到1.20的时候,内心也是崩溃的,但其实升级之后没出什么问题,我还发了个帖子。已经弃用的那些方块就不用管了,不过名为“呲贴”“圆(没有石)”“热功率”“磁铁”“铺路机”“熔炉热源”的三个文件可以升级一下,也可以不管,这属于个人习惯。另外,一些数据的写法也是个人习惯,比如 run_command 要执行的命令只有一条时,我习惯写成字符串,而不是内含字符串的数组。
第十条建议,命名能让开发者看懂就好,不过一些玩家打指令时可能会发现找不到方块或物品的ID。现在要改ID已经晚了,因为版本要后向兼容,只能把原来的ID留着,然后复制文件并注册新ID,然后让那些玩家把方块从旧版转换为新版。所以,结合现在有一群玩家不知道什么是“转换”“升级”的情况,附加包能跑就别动了。
2024/7/15 13:53:05
对了,建议给已经废弃的旧版方块的文件夹命名叫deprecated,因为官方是这么叫的。另外含有旧版内容的文件夹可以叫old,能看懂就好。也可以在以上两个名字后加_features。
2024/7/15 13:58:05
我刚才测试了一下,发现水泵系统的问题还是比较严重的。储液罐里的水不能向下流,而且向里面存水时储液罐下方不能有另一个储液罐,否则存的水会消失,可能是写储液罐中的水向下流的逻辑时的失误。
另外,统一渲染方法为blend后,并没有出现异常。不过blend是所有渲染方法中最消耗性能的,而且经常出bug,比如部分模型不显示等。
水泵抽水时还被基岩引擎检测出了事件陷入无限循环的问题,其实玩家总能获取无限的水,还不如直接改成检测到抽取的液体为水时就无限供应水。
我好像有了一个关于实现水泵的比较好的思路,一会儿实践一下。
2024/7/15 14:48:58 |
|