CIT Resewn

CIT Resewn

14M Downloads

Can't load Dokucraft

ZephaniahNoah opened this issue · 4 comments

commented

Error loading Dokucraft Light for 1.18.2

[00:50:58] [Render thread/INFO]: Caught error loading resourcepacks, removing all selected resourcepacks
java.util.concurrent.CompletionException: net.minecraft.class_151: Non [a-z0-9/._-] character in path of location: minecraft:optifine/cit/fish_buckets/tomato_clown‌/tomatoclown_bucket.properties
	at Not Enough Crashes deobfuscated stack trace.(1.18+build.1) ~[?:?]
	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.class_151: Non [a-z0-9/._-] character in path of location: minecraft:optifine/cit/fish_buckets/tomato_clown‌/tomatoclown_bucket.properties
	at net.minecraft.util.Identifier.<init>(Identifier:41) ~[?:?]
	at net.minecraft.util.Identifier.<init>(Identifier:50) ~[?:?]
	at net.minecraft.resource.ZipResourcePack.findResources(ZipResourcePack:136) ~[?:?]
	at net.minecraft.resource.NamespaceResourceManager.findResources(NamespaceResourceManager:156) ~[?:?]
	at net.minecraft.class_6861.findResources(class_6861.java:80) ~[client-intermediary.jar:?]
	at shcm.shsupercm.fabric.citresewn.pack.PackParser.parseCITs(PackParser.java:66) ~[CITResewn-1.0.1+1.18.2.jar:?]
	at shcm.shsupercm.fabric.citresewn.cit.ActiveCITs.load(ActiveCITs.java:89) ~[CITResewn-1.0.1+1.18.2.jar:?]
	at net.minecraft.client.render.model.ModelLoader.handler$zel000$citresewn$loadCITs(ModelLoader:610) ~[?:?]
	at net.minecraft.client.render.model.ModelLoader.<init>(ModelLoader:190) ~[?:?]
	at net.minecraft.client.render.model.BakedModelManager.prepare(BakedModelManager:52) ~[?:?]
	at net.minecraft.client.render.model.BakedModelManager.prepare(BakedModelManager:19) ~[?:?]
	at net.minecraft.resource.SinglePreparationResourceReloader.method_18791(SinglePreparationResourceReloader:11) ~[?:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
commented

Sorry for the delay, had some stuff come up.

There is a hidden character(zero width non-joiner) in that path that is normally invisible.
img
Optifine ignores it but I can't do that in CIT Resewn.
After removing the character(by simply rewriting the name of the tomato_clown directory) the pack loads successfully.
Please report this to DokuCraft so they can fix it on their end. Already told them.

commented

Why can't you do it? Optifine does it. This sucks. I guess I'll just use Optifine.

commented

Okay? Use optifine if it works better for you, no one is forcing you to switch.

I cannot fix this because I wrote CIT Resewn from scratch with compatibility in mind.
On the other side, the nasty things that optifine does in the background are impossible to work around and broken paths being ignored there is one of them.

Allowing for this stray character is opening up the game to a ton of resource related bugs that are too much to fix. All of that while the creators of DokuCraft can simply just remove a single character on a folder name to make their pack work.

commented

Oh. Thanks for the explanation.