开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[闲聊] 无框玻璃板性能重大突破与自制乐谱格式

 发表于 2025-11-11 22:42:32 来自手机|显示全部楼层|阅读模式 IP:天津
本帖最后由 Cat_Anchor 于 2025-11-11 22:48 编辑

今天是我的期中考试的日子。数学选择第二题椭圆焦距忘乘 2 了,痛失 5 分,气死我啦!

(^_^)

回到房间里,我越想越气,一气之下就突破了无框玻璃板的性能问题……

ヾ(@^▽^@)ノ

其实也不算复杂,不过是方块特征、骨骼可见性与方块剔除的综合应用,和椭圆与双曲线简单几何性质的应用一样。

注:椭圆、双曲线与抛物线都属于圆锥曲线,高二的我学完了前两个,还没学第三个。

实则难死我了…… ╰(⇀‸↼)╯

无框玻璃板(无框玻璃板。)

无框玻璃测试(无框玻璃压力测试,测试极端情况下的处理能力。处理速率大约是 18000 方块 / s。)

无框玻璃板测试(无框玻璃板压力测试。处理速率大约是 2000 方块 / s。)

无框玻璃的处理速率大约是无框玻璃板的 9 倍,因为对于后者,我们需要用 SAPI 手动设置两个方块状态。也许其实不用,但是相关接口缺乏文档,基岩开发 wiki 上没有,官方文档上也没有……

•﹏•


还有一点,那就是无框玻璃板有多个部分的碰撞箱,得益于——新的接口!

(^▽^) ✨🎉🎊🎉🎊🎉✨

其实最显著的变化是,我们现在终于可以复刻原版楼梯了。以前复刻出的自定义楼梯的碰撞箱都不完整,大多是半砖形状的,根本不能做出楼梯的效果。现在不一样了,我们可以创建两个部分的碰撞箱,三个部分的也行。

另外,我们终于不用再依赖一个关于 minecraft:transformation 的漏洞来实现自定义栅栏了,好耶!

\(^▽^@)ノ 🚀🔥🎉🎉


目前的万象添补已经开发到了 0.17.6,而现在可以获得的是 0.17.1。我们来看看这些版本间的变化:

  • 0.17.2:主要以修复和加入实用命令为主,并引入了方块平铺器的自动化功能。

  • 0.17.3 & 0.17.4:重点加入了多种新作物、食物和对应的方块,并修复了它们的属性和纹理。

  • 0.17.5:这是一个重大更新,修复了关键问题,并引入了完整的乐谱编写和播放系统,大大扩展了附加包的可玩性。

  • 0.17.6:对乐谱系统进行了优化,并显著提升了无框玻璃板的性能。

这些都是我让 AI 总结的,因为我的更新日志写得太长了。

✿✿ヽ(°▽°)ノ✿

这些功能中,花了我最多时间的肯定是乐谱播放系统。为了做到在游戏中编写乐谱并播放,我直接设计了一种新的乐谱格式,它的名字是——

Cat Anchor's Jazz Format, *.caj

这是种相当简单的乐谱格式,和简谱差不多。让我们来看看它的示例:


|1|

一个四分音符!

好吧,这个示例可能过于简单了(不过确实是有效的 CAJ 乐谱)。我们来看一个更加复杂的乐谱(仍然很简单):


标题
作者
Time: 4/4
Key: C
BPM: 150
Tone: 'note.harp+note.bell+note.pling+note.xylophone'
{测试}

[ (5v 1)_ 3 0_ (3 3)_ 3_ | 0 (2 3 2 1)_ 0 | (5v 1)_ 3 0_ (1 3)_ 5_ | 0 (4 3)_ 2 0 | (5 4)_ 3 0_ (3 2)_ 1_ | 0 (2 3 5 4)_ 0 | (6v 6v)_ 5v 0_ (7v 1)_ 2_ | 0 (3 2)_ 1 0 | (5v 1)_ 3 0_ (3 3)_ 3_ | 0 (2 3 2 1)_ 0 ]

这也是在游戏中使用 getcajbooksfromstring 命令获得的乐谱,它的五线谱大概长这样:示例五线谱

至于这种格式的具体书写规则,可以查阅更新日志(等到我更新附加包的时候)。

CAJ 不是一种封闭的格式,我用 AI 制作了 MIDI 到 CAJ 的转换器。因为 CAJ 格式比较简单,它也是一种为在 Minecraft 中播放音乐而设计的格式,这种转换在前后听起来大概率有很大不同,不过基本旋律是可以转换好的。


其实这种乐谱格式的名称来源于我很久之前加入又移除的文件,jazz.js,它最初用于实现饱和度与消耗度渲染。现在我重新加入了这个文件,给了它新的功能。为什么一开始这个文件叫这个名字?因为当时我不知道那个文件叫什么名字好,于是我把命名文件的窗口截屏发给了 isss,得到的就是 jazz。现在我用这个名字实现了乐谱的解析与播放,但是给对应的方块起名时,我又犯了难。于是在 0.17.5 中,那个方块的名字就是

能播放乐谱的方块
我得再请 isss 给它起一个中文名

但是后来,又问了 isss 之后……

isss: 图片

于是在 0.17.6(也就是现在这个版本)中,这个方块的名字就被我改成了“图片方块”,相当好,然而也相当有误导性的名字,误导性和 minecraft:destructible_by_mining 组件的 seconds_to_destroydestroy_speed 字段指的其实都是硬度有的一拼。


好了,明天还有一天期中考试,而且一上来就要考难度顶天的化学,我们化学老师用一小时都做不完的化学了。不得不说,我的签名档里 isss 那句话的含金量还在上升。

评分

参与人数 1铁粒 +25收起理由
 Saka*** + 25lihai

查看全部评分

苦力怕论坛,感谢有您~
 发表于 2025-11-12 23:16:46|显示全部楼层 IP:广东省
回头看看才会发现,原来自己走过的路有那么长!

2#2025-11-12 23:16:46回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

| 由 木韩网络 提供支持 | GMT+8, 2026-2-3 07:41

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4