CIT Resewn

CIT Resewn

14M Downloads

Packs that contain broken paths(spaces, special characters, capital letters) wont load

Pottedplant530 opened this issue Β· 12 comments

commented

Im not sure what the issue is because it works fine on vanilla 1.17
MonumentaRP_v2.3.2.zip

commented

This pack seems to use invalid identifiers, does CIT Respawn handle them?

commented

I’m not sure what you mean by CIT resewn, the pack does work fine on optifine if that’s what your asking

commented

First off, the pack found me 2 bugs that are now fixed in v0.4.3 so thanks for that.

Secondly, this pack is broken beyond hell but the biggest problem with it is what @alsoNiko said which is that it has broken identifiers.
Ever since pack format 3, all resourcepacks must follow snake_case formatting as well as not include special characters for both folders and files, Optifine being the dumb mod that it is got rid of that restriction and resourcepack makers that did not read pack format specifications just made these broken resourcepacks.

As for why this loads fine in vanilla but does not at all with CIT Resewn?
This is because vanilla does not walk through the cit paths in the resourcepack without being prompted to do so.
CIT Resewn forces it to check these paths and then vanilla can see the broken paths and error when there are too many.

I am marking this as WONTFIX because the bugs here are with the resourcepack and not CIT Resewn. If you want to use this pack you can reformat it or contact the pack author to do it.

commented

Was more a question for the dev

commented

As for how to fix it, I believe it is possible to enabling them only during atlas creation, or at all times, there are devs in this server which could help https://discord.gg/7rnTYXu

commented

This bug is actually fixable by enabling invalid identifiers, which are used by quite a lot of optifine packs, so it is worth doing

commented

Thank you, but I am aware of how to fix this, it is incredibly easy to fix and anyone with very little mixins knowledge could accomplish this in 30 minutes..
I marked this as wontfix because of:

  1. How invasive it is, I'd have to mixinto Identifier#isPathValid both breaking a very basic design principle as well as subjecting other modders to this potentially harmful change that is really hard to track down if something relies on isPathValid to work as it intended.
  2. Vanilla's Pack Format 3 explicitly specifies that paths must use lower case letters(while also implying not to use any spaces/special characters when said format released). Packs that break that format will not be CIT Resewn's(or my) concerns.

CIT Resewn is not meant to port every feature(or bug in this case) that optifine provided. It is simply meant to load and apply cits.

Again, as I said, such a mod that provides support for these faulty packs is easily doable and if someone needs it that badly they can make it themselves in less than an hour.

commented

@alsoNiko
Again, not my or CIT Resewn's problem. Mixing into Identifier is not something I want the mod to do at all and there is no way to support this without it. It is also awful for pack organization as it breaks a very simple standard that all vanilla packs follow.

commented

Take these two messages as my final statement on the matter.

commented

This actually does not break other mods, and quite literally is needed for more than 50% of optifine packs, it helps the resource pack devs more so with organization, and generally speaking isn't as invasive as it seems as long as they are not open at all times, and just during atlas creation. Unless the mod is doing something extremely wrong this won't affect them in any capacity, this has been tested quite a bit.

commented

The issue is less so even supporting it as it is the fact it will force the players game to boot loop and crash until they delete the resource pack entirely

commented

After much consideration and a suggestion that was given in #9, I've decided to allow this and block it behind both a config option that defaults to not allow broken paths as well as mark the packs incompatible in the resourcepack selection screen.

This has been implemented in v0.5.0.

Still this is very experimental and no bugs that derive from the config option being enabled will be resolved.