Mojang标志动画

Mojang标志动画

这个模组更改了加载界面。

工具

MojangLogoAnimation

一个 Fabric 模组,将启动画面中的静态 Mojang Studios 标志替换为流畅的逐帧动画。

依赖项

依赖项 必需 链接
Fabric API ✅ Modrinth / CurseForge
Cloth Config ✅ Modrinth / CurseForge
Mod Menu ❌(可选) Modrinth / CurseForge

架构

本模组采用数据驱动的动画系统,围绕清晰的关注点分离构建:

  • ISplashScreenAnimationData —— 定义动画元数据(帧数、时序、音效、纹理)的接口。通过实现此接口可以添加新的动画类型。
  • FolderAnimationData —— 一个 record 实现,从 textures/gui/title/{id}/ 解析纹理,并通过 gui.title.{id} 命名约定解析音效事件。
  • AnimationPlayer —— 封装所有动画状态(帧推进、音效播放、生命周期)。在守护线程上运行动画,通过 AtomicInteger/AtomicBoolean 实现线程安全访问。
  • SplashLoader —— 动画数据的注册表。由于启动画面在资源加载期间渲染,因此动画在客户端初始化期间预先注册。
  • SplashOverlayMixin —— 一个轻量的 Mixin 层,将所有逻辑委托给 AnimationPlayer。Mixin 本身不包含任何动画知识。

添加一个新动画只需:

  1. 将帧纹理放入 textures/gui/title/{id}/
  2. 将音效放入 sounds/gui/title/{id}.ogg
  3. 使用 splashLoader.register(new FolderAnimationData("id", frameCount)) 注册

预览

MojangStudioMode 3dSharewareMode