Alex's Mobs

Alex's Mobs

72M Downloads

(1.18.2) (Mod Conflict) Banners have missing textures

corgiblu opened this issue ยท 3 comments

commented

All Alex's Mobs banners have missing texture instead of pattern. I've done testing against several mods but none of them seem to be the culprit (including but not limited to: refined storage, twilight forest, rubidium, and quark).
Doing research I was able to figure out it's a mod conflict but all of the issues are 1.16 and after testing all the mods listed in those issues I still can't figure it out. Any insight would be wonderful.

Log
Mod List

commented

Seems to be an issue with the Blue Skies mod. I have also reported this to Blue Skies as I am not sure which mod would be able to fix the issue.
https://gitlab.com/modding-legacy/blue-skies/-/issues/120

commented

Blue Skies guy here. Hi o/

I looked into the issue on our end, and it looks to me like it's a timing issue. In Blue Skies, we have custom sign textures. We register those to Sheets.SIGN_MATERIALS when the mod is initialized. When that happens, the order of events is

  • Blue Skies adds signs / Sheets.BANNER_PATTERNS gets initialized
  • Item registry happens, which extends the BannerPattern enum with your custom patterns. Since Sheets was already initialized, your patterns won't be in the banner pattern map.
  • Sheets.getAllMaterials gets called to load textures (your patterns aren't present).
  • When FMLClientSetupEvent fires, you add the banner patterns to the map, but it's already too late by then since the data in the map has already been used to initialize textures.

Without Blue Skies, the Sheets class won't be initialized and things work fine. It'd be nice if we had a proper time to do this in Forge. Maybe that'd be worth a small PR.

A simple solution would be moving the stuff that adds to Sheets.BANNER_PATTERNS to when the mod initializes. Probably could be handled in your proxy classes. Then that guarantees that your patterns will always exist.

commented

fixed in 1.19