CIT Resewn

CIT Resewn

14M Downloads

[Bug/Request] Potentially add support/better error catching for uppercase letters and in general

TBlazeWarriorT opened this issue ยท 4 comments

commented

Logs: latest.log
This resourcepack has an uppercase letter in one of the folder and softcrashes CIT Resewn
Instead of falling back to my previous resource pack configuration, CIT Resewn disabled all my resource packs, which was quite a bit annoying (I use many so that takes many clicks and a reload to undo)
I believe that resource pack (minimally) works on OptiFine, so in theory it might be considered a bug
Also the "Resource Pack Failed To Load" message fades away too fast in my opinion, and does not tell it's CIT Resewn giving you that message, so it took me a while to figure out who was causing it. Would be cool if that message included the mod name too or something.

TL;DR: If any of the following are possible:

  • make CIT Resewn support a-Z0-9 regex instead of a-z0-9
  • make CIT Resewn go back to your previously working RP configuration instead of unequipping all resource packs
  • increase toast duration when a RP crashes CIT Resewn
  • tell us in some way that it was CIT Resewn that (soft)crashed when it does other than via latest.log
commented

Also, who should I annoy to get optifine emissive textures on fabric?
The RP from this bug report heavily relies on animated CIT emissives (oof), so after the manual fix on the pack, the non-emissive textures work but the CIT emissives are just not supported
I hope you add optifine emissives to this mod or add suport for CIT'ing emissives if someone else makes a mod for emissives

commented

The resourcepack failure is because Broken Paths is disabled in the config. I wrote it in a way that when Broken Paths is disabled, the mixins for it dont get injected at all, meaning when it's off, CIT Resewn will not give a shit about resourcepacks failing because of it. Nor will it be considered an official issue.

Instead of falling back to my previous resource pack configuration, CIT Resewn disabled all my resource packs

Resourcepack load failures are handled by vanilla, when too many issues arise from resourcepack loading the game already forgot the previous resourcepack configuration you had so in an attempt to not crash your game, it just disables everything. This is outside of my control, especially when Broken Paths is disabled.

works on OptiFine, so in theory it might be considered a bug

Nope, the inverse, the packs loading in the first place is a bug in Optifine when they didnt care about pack_format update specifications. I am just using vanilla code to work with resourcepacks and that code relies on pack formatting to be proper(when Broken Paths is disabled).

the "Resource Pack Failed To Load" message fades away too fast in my opinion

As I said before, that's not CIT Resewn's doing. The resource pack load fail message is made through minecraft's toast notifications, so timing is out of my control and the appearance of that message is not something CIT Resewn can catch without Broken Paths being active, at which point it doesnt matter anymore since it will load with the broken paths.

and does not tell it's CIT Resewn giving you that message, so it took me a while to figure out who was causing it. Would be cool if that message included the mod name too or something.

Looking at the logs, lines 149-181. There's a clear stacktrace which anyone wanting to resolve any issues with java software should familiarize themselves with. The stack trace states the issue:

Caused by: net.minecraft.class_151: Non [a-z0-9/._-] character in path of location: minecraft:optifine/cit/Armor_Models/legendary/legendary.properties

And if you look at the list of classes that caused it you can see what mods were involved, in this case:

at shcm.shsupercm.fabric.citresewn.pack.CITParser.parse(CITParser.java:65) ~[CITResewn-0.7.0.jar:?]

Troubleshooting starts from there. But I have no way to inform the user that it is because Broken Paths is disabled because by design, it has no effect on the game when disabled. The Broken Paths config is only there for legacy deprecated support. It is not there for normal use and therefore should not be suggested at all to the user.

make CIT Resewn support a-Z0-9 regex instead of a-z0-9

Enable Broken Paths.

make CIT Resewn go back to your previously working RP configuration instead of unequipping all resource packs
increase toast duration when a RP crashes CIT Resewn
tell us in some way that it was CIT Resewn that (soft)crashed when it does other than via latest.log

Outside of CIT Resewn's control.

Also, who should I annoy to get optifine emissive textures on fabric?

I'd go here to find replacement mods.
From the looks of it only Canvas supports emissive textures right now but it's a different format.

I hope you add optifine emissives to this mod or add suport for CIT'ing emissives if someone else makes a mod for emissives

This is outside of CIT Resewn's scope. What I'm doing here is only adding support for cits because it splits the workload across multiple modders. Something that optifine fails to do miserably(which makes updates take so long and resourcepack features never get as much attention as shaders for example). While I do cits, others can work on emissive textures or anim, this way I can give 100% attention to cits to make it the best feature it can be.

Other than that, CIT Resewn uses a lot of vanilla code to load items, by Fabric's nature(with the help of mixins), CIT Resewn should support emissive textures mods natively without any explicit support as long as modders are using mixins correctly to work together. If there is any incompatibility with another mod I'd be happy to solve it though.

commented

Oof ok, if it's vanilla handling almost everything I understand if it can't be changed, thanks for the explanation.
I almost want to learn modding to make an emissive textures mod then, I hope it isn't too hard

commented

Ah, and I actually found this mod on that list you sent me :P but ty too
And yep, only Canvas seems to have it, I'm not super interested in a different format, by that point I just forfeit having emisssives
Actually I think I could use LabPBR emissives on Iris in a mid-term future too (when they finish implementing it)