跳到正文

FancyMenu APNG Loop Fix

作者:SdataG

客户端修复:解决 FancyMenu 中仅播放一次的 APNG 重播问题,并同步悬停时的撕裂与恢复效果。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

概述

图标使用了 AI(除通用代码助手外,编写代码时未使用 AI)

FancyMenu APNG Loop Fix 是一款小型的 客户端 Forge 模组,适用于 Minecraft 1.20.1,可为 FancyMenu 解锁高级动态菜单按钮。

FancyMenu 可以使用 APNG(动态 PNG)文件作为自定义按钮背景。这对标题画面和 GUI 很有用——但开箱即用时,播放一次的动画无法保证每次悬停时都能重新播放。这个模组修复了这一限制,并添加了逻辑,让成对的普通和悬停动画保持同步。

它最初是为 Liminal Industries Rescripted 整合包制作的:打造《Backrooms》风格的标题菜单按钮,静止时看起来隐形,悬停时撕裂开来,然后在鼠标移开时缓慢愈合——不会循环播放,也不会在第一次悬停后卡住。


主要功能

  • 修复 APNG 重播——修改 FancyMenu,让 loop=1(播放一次,然后停留)动画结束后可以重新开始。没有此修复,第一次悬停正常,之后再悬停时动画就会停住。

  • 双纹理同步播放——在撕裂、愈合和待机状态下,让按钮的普通和悬停 APNG 背景逐帧同步。

  • 悬停撕裂,移开愈合——悬停时播放一次撕裂动画,并保持撕裂状态。鼠标移开后,普通纹理会播放缓慢的愈合动画。再次悬停时,撕裂动画会从按钮当前愈合到的状态继续播放。

  • 静止时的呼吸效果——完全愈合后,模组只循环播放普通 APNG 中的呼吸片段,让按钮在基本透明的同时显得鲜活。

  • 仅限客户端——菜单由客户端渲染。专用服务器无需安装此模组,它也不会影响游戏玩法。


本模组解决的问题

在 FancyMenu 的 APNG 处理程序中,当动画以 loop=1 结束时,内部标记会被设置;但纹理重置时,这个标记不会清除。播放头可能会倒回,但动画引擎会拒绝再次向前播放。

这会让你只能在两个糟糕的选项中二选一:

  • 播放一次(loop=1)——不会无限循环,但再次悬停时无法重播。
  • 无限循环(loop=0)——可以重置,但悬停时撕裂动画会一直循环。

这个模组提供了第三种方案:播放一次,每次悬停都能重播,停留时绝不循环。


如何使用本模组

玩家须知

  1. 安装 Minecraft 1.20.1、Forge 47+ 和 FancyMenu 3.6+。
  2. 将 fmloopfix-1.0.0.jar 放入 mods 文件夹,与 FancyMenu 放在一起。
  3. 启动游戏。如果你的整合包或布局已使用兼容的 FancyMenu APNG 按钮,效果就会自动生效——无需配置文件或按键绑定。

加入多人游戏时,不需要在服务器上安装此模组。它只会影响你的客户端如何绘制 FancyMenu 控件。

FancyMenu / 整合包作者须知

本模组适用于使用两个 APNG 背景的按钮:

  • 普通背景——包含愈合帧,以及可选的末尾待机呼吸循环。
  • 悬停背景——撕裂帧播放一次,并停留在最后一帧。

建议为每个按钮设置以下 FancyMenu 布局选项:

  • restartbackgroundanimations = false——播放时序由本模组控制。
  • 每个按钮使用唯一的 APNG 文件路径——FancyMenu 会按路径共享动画状态;路径重复会导致同步异常。
  • 导出 APNG 时,普通和悬停纹理都使用 loop=1。

建议的普通 APNG 结构:

  1. 再生帧 — 从撕开的状态逐渐愈合至闭合。
  2. 呼吸帧 — 再生后呈现轻微的待机脉动(治愈后,模组会循环播放此部分)。

悬停 APNG 结构(推荐):

  1. 以透明或闭合状态开始。
  2. 撕裂帧 — 撕开一次。
  3. 停留在最后一帧撕开状态。

整合包集成

  • 在你的 CurseForge 整合包中将其标记为客户端依赖。
  • 将FancyMenu设为硬性依赖。
  • 随包附带 FancyMenu 布局和 APNG 资源;此 jar 是让动画行为正常运作的运行时组件。

要求

   
Minecraft 1.20.1
模组加载器 Forge 47+
必需模组 FancyMenu 3.6+
运行端 仅客户端

免责声明

这不是 FancyMenu 官方附属模组。FancyMenu APNG Loop Fix 是由Liminal Industries制作的独立兼容性补丁。它与 Keksuccino(FancyMenu 作者)无关,未获其认可,也不由其维护。FancyMenu 仍是独立项目。

预期用途:专为Liminal Industries Rescripted整合包中以 Backrooms 为主题的主菜单打造 — 按钮静止时不可见、撕裂效果显露壁纸、缓慢再生,并在标题画面上呈现待机呼吸效果。现已发布,方便其他整合包和 FancyMenu 作者复用相同方案,无需手动修改 FancyMenu。

此模组不会:

  • 添加物品、方块或游戏机制。
  • 更改服务器玩法或世界生成。
  • 替代 FancyMenu — 你仍需在 FancyMenu 中配置布局和资源。
  • 保证在所有 FancyMenu 版本上都能正常运行(目标版本为1.20.1 Forge 上的 3.6.x)。

使用 Mixins 在运行时调整 FancyMenu 的 APNG 纹理行为。使用风险由你自行承担。


鸣谢

  • 作者: Liminal Industries
  • 许可证: MIT
  • 为以下整合包制作: Liminal Industries Rescripted
  • 修补以下模组的行为: FancyMenu(作者:Keksuccino)

常见问题

FancyMenu APNG Loop Fix 支持哪些 Minecraft 版本?

FancyMenu APNG Loop Fix 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

FancyMenu APNG Loop Fix 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

SdataG 的其他作品

查看全部 →