UID82897性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-7-23最后登录1970-1-1
|
现在是 2024 年 9 月 9 日的早晨,昨天晚上,我优化了一番无框玻璃板,处理效率从每秒 22 个方块提升到了每秒 29 个方块。然而这就是我目前的极限了,代码很可能没法再优化了。但我通过延迟执行,把服务端的挂起分为两波,我感觉可以继续细分,直到感受不到卡顿。
今天是周一,我上的那个高中比较远,所以可以在车上写点什么。今天我烧起来了,所以暂时不说无框玻璃板这种需要深入研究的问题,我想说当时(提示:无需看原文,下面会引用其中的文字)我到底想出了什么。
下面是帖子最后的一小段话:
……重构那些水泵、水管和水管节点时,我手上写着数据,心里想着一些更激进的功能,比如——为什么水管必须是水管,而不能运输物品,或者甚至实体?……
所以问出“为什么水管必须是水管,而不能运输物品,或者甚至实体”这个问题时,我想到了一些全新的方法。比如,如果总结一下我最近发的帖子,可以发现以下关键词:“前景层”“背景层”“结构”“自定义平坦”“电梯”“固体实体”“管道”“玻璃板连接”。我们先从自定义平坦说起,自定义平坦让我了解到存档数据和 NBT 结构。一个结构的 NBT 就包含方块的前景层和背景层,而提到前景层和背景层,我们为什么不能用这个特性做真实的液体?将自定义液体方块设为前景层,然后将原版的水设为背景层,那么能不能让玩家在这个方块里游泳?根据目前的测试,我的预测是不行,但万一行呢?那样我就成了首个还原原版液体游泳效果的人了。
再说电梯和固体实体。为了让固体实体成为电梯,我们要解决一个问题,那就是如何将固体实体背包里的物品转移到主手。用命令,用无脚本的附加包都不太可能,但我们现在可以用脚本实现呀!那样的话,游戏内效果就是出现方块的破坏粒子,伴随着一瞬间的闪烁,方块就成了实体了,可以自由地平滑移动了!现在我已经做出了电梯的最基本功能,平滑地上下移动。但这还不够,继续用脚本实现电梯的呼叫和选层功能,然后完善体验才是我的最终目的。
然后是管道和玻璃板连接。如果我们可以将掉落物设为不可拾取,然后让它沿着管道移动,那么我们就获得了可以看见实际物品的管道运输!如果将管道做粗,然后用背景层实现含水,我们就可以做出随着生物群系变化颜色的水管!
还有拼图方块的重制,理论上用脚本能基本还原拼图方块的功能。但这一切都建立在时间的基础上,现在当然以学业为重,所以我会先做一做简单的内容,比如优化无框玻璃板并发布。
好了,今天暂时写到这里。 |
|