progwml6 / ironchest

Iron Chest minecraft mod by CPW
https://minecraft.curseforge.com/projects/iron-chests
GNU General Public License v3.0
136 stars 87 forks source link

[1.18.2] Wasting huge parts of the texture atlas #307

Open Chaos02 opened 1 year ago

Chaos02 commented 1 year ago

Version Information

Minecraft: 1.18.2 Forge: not important Iron Chests: 13.2.11

The general problem

Hey I've been loving Iron chests for ages and finally I could afford a high tier modern GPU - I've been playing a 300 Mod Modpack and have just been beginning compiling a Sphax patch for it.

Now that I'm getting to a point where I've compiled a notable amount of patches I've been getting the same and same error again, when trying to apply patches that work on their own:

I keep getting "reloading ressource pack failed" in the top right corner and getting booted back to vanilla textures BUT this is only happening once I seem to cross some threshold. Example:

  1. I try out the AE2Things patch by itself - it works
  2. I load many of the Patches for my modpack - it works.
  3. I add the AE2Things patch on top - I get booted back to vanilla
(expand) This is the exception I could fish out of the (more than 30mill lines long) log: ``` [17Aug.2023 22:38:22.150] [Render thread/INFO] [net.minecraft.client.Minecraft/]: Caught error loading resourcepacks, removing all selected resourcepacks java.util.concurrent.CompletionException: net.minecraft.ReportedException: Stitching at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] Caused by: net.minecraft.ReportedException: Stitching at net.minecraft.client.renderer.texture.TextureAtlas.m_118307_(TextureAtlas.java:140) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.client.resources.model.ModelBakery.processLoading(ModelBakery.java:223) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraftforge.client.model.ForgeModelBakery.(ForgeModelBakery.java:61) ~[forge-1.18.2-40.2.9-universal.jar%23432!/:?] at net.minecraft.client.resources.model.ModelManager.m_5944_(ModelManager.java:57) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.client.resources.model.ModelManager.m_5944_(ModelManager.java:20) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.server.packs.resources.SimplePreparableReloadListener.m_10786_(SimplePreparableReloadListener.java:11) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] ... 6 more Caused by: net.minecraft.client.renderer.texture.StitcherException: Unable to fit: pneumaticcraft:item/upgrades/charging - size: 16x16 - Maybe try a lower resolution resourcepack? at net.minecraft.client.renderer.texture.Stitcher.m_118193_(Stitcher.java:66) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.client.renderer.texture.TextureAtlas.m_118307_(TextureAtlas.java:132) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.client.resources.model.ModelBakery.processLoading(ModelBakery.java:223) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraftforge.client.model.ForgeModelBakery.(ForgeModelBakery.java:61) ~[forge-1.18.2-40.2.9-universal.jar%23432!/:?] at net.minecraft.client.resources.model.ModelManager.m_5944_(ModelManager.java:57) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.client.resources.model.ModelManager.m_5944_(ModelManager.java:20) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at net.minecraft.server.packs.resources.SimplePreparableReloadListener.m_10786_(SimplePreparableReloadListener.java:11) ~[client-1.18.2-20220404.173914-srg.jar%23427!/:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] ... 6 more ```

The part where you come in

It was pointed out to me what could be going wrong when applying these patches. Although I have an RX6800 with 16GB of VRAM, The maximum texture size on many modern GPUs is not great, in fact for mine it's "only" 16k x 16k.

It would be really nice if you could try using a little less space on the texture atlas by for example rotating parts of the UV unwrap: Texture Atlas

As you can see, the iron chests waste a ginormous amount of space on my texture atlas, only helped by the fact that I am trying to use a x256 Ressource pack.

Please resolve this issue and if possible also dish out a patch for older versions of Minecraft (like 1.18 and up)! As you can probably think, I'm also contacting the authors of other mods, which are wasting giant spaces on my texture atlas and am internally downsizing problematic textures

Appreciate all your efforts, Chaos

Steps to Reproduce

  1. use mod in a (now) reasonably sized technic / magic mod pack
  2. create a Ressource pack patch for said mod pack
  3. see yourself fail