embeddedt / embeddium

An open-source client performance mod for Minecraft (based on Sodium 0.5.8) prioritizing reliability & mod compatibility
https://legacy.curseforge.com/minecraft/mc-mods/embeddium
GNU Lesser General Public License v3.0
161 stars 52 forks source link

FRAPI item models are not detected by texture animation optimization #308

Closed YuJianghan closed 3 weeks ago

YuJianghan commented 1 month ago

Bug Description

In the game, I use Citresewn to support item texture animations in resource packs and Continuity to support emissive textures for blocks. When loading only resource packs that contain texture animations, the animations work fine without any modifications. However, if I load an additional resource pack containing emissive textures, regardless of the loading order and whether the emissive effect is applied to blocks that already have animated textures, the emissive textures work, but all texture animations freeze on a single frame and stop animating.

The issue can only be resolved by disabling the "Animate Only Visible Textures" option in Embeddium's video settings under Performance. When this option is disabled, both emissive textures and texture animations work simultaneously.

Is this a bug? Why does the "Animate Only Visible Textures" option's functionality get affected by the presence of resource packs with emissive textures?

Mod List:

Resource Pack List:

https://github.com/embeddedt/embeddium/assets/58395036/450740e0-2502-4a96-ba53-9f21dbb7d9c1

Reproduction Steps

  1. Install the mods listed above.
  2. Load a resource pack that contains texture animations.
  3. Observe that the animations work correctly.
  4. Load an additional resource pack that contains emissive textures.
  5. Observe that all texture animations freeze on a single frame.
  6. Disable the "Animate Only Visible Textures" option in Embeddium's video settings under Performance.
  7. Observe that both emissive textures and texture animations work simultaneously.

Log File

latest.log

YuJianghan commented 1 month ago

I attempted to replace the Embeddium mod with the Sodium and Indium mods. I found that, regardless of whether the "Animate Only Visible Textures" option was enabled, both emissive textures and animations worked correctly. This suggests that the issue might be caused by changes specific to Embeddium.

embeddedt commented 4 weeks ago

Please check if this behavior occurs in 1.20.6, or 1.20.1; the 1.20.4 version is no longer supported, and is a couple updates behind by now.

YuJianghan commented 4 weeks ago

Due to the Citresewn author waiting for an OptiFine update for 1.20.6, the latest supported version for Citresewn is 1.20.4. Therefore, I have conducted two tests on version 1.20.1.

Version: Minecraft_1.20.1_Fabric_0.15.11 Mod List:

Test Result: The issue is the same as in version 1.20.4. Enabling emissive texture resource packs still causes texture animations to freeze.

Version: Minecraft_1.20.1_Forge_47.1.3_SinytraConnector Mod List:

Test Result: I also tested the Forge version. Since the Forge version of the connected textures mod (Connectedness) was last updated for 1.19.2, the only way to use connected textures on 1.20.1 Forge is by using SinytraConnector to translate the Continuity mod. The result was that there were no issues; both emissive textures and texture animations worked correctly.

embeddedt commented 4 weeks ago

Thanks for the detailed test results; I tracked down the issue, and pushed a fix, which will be included in the next release.

YuJianghan commented 4 weeks ago

Wow, that was impressively fast! Thanks for the quick fix. Just out of curiosity, will this fix also be applied to version 1.20.4? It would be great to have it there as well. Thanks again for your hard work!

embeddedt commented 3 weeks ago

No, I don't support minor versions for very long because it's not worth the time investment for the small number of mods that use them. The fix has just been released in 0.3.20 for 1.20.1 & 1.20.6.