Dynamic Asset Generator

Dynamic Asset Generator

4M Downloads

[BUG] Resource pack breaks mod in version 3.0.0, but worked for version 2.3.1

MCRusher opened this issue ยท 5 comments

commented

What went wrong?

This resource pack Dig's Simple Pack breaks the mod and results in an incredibly long string of error messages, and the added blocks are just purple and black squares.

There may or may not be others that break it, this is the one I know of.

Platform

Quilt

Version

3.0.0

Logs and Screenshots

error_log.txt

I think the actual error starts around line 288, and then continues on for almost 30k lines.

Screenshot of what it looks like in 2.3.1 for Minecraft 1.19.4 (What it should look like):
2023-06-18_09 46 23

What it looks like in 3.0.0 for 1.20.1 (Goes for all blocks):
2023-06-18_09 50 51

commented

thanks a lot.

appreciate it.

commented

Hmm. Most of those errors seem to be due to that resource pack not using the vanilla palette system correctly, and should not affect Excavated Variants of DynAssetGen, but there's a few that look promissing. I'll look into this. I suspect this has to due with the rather major changes I made to DynAssetGen between versions

commented

Most notably, for my own future referense:

[09:18:52] [Worker-Main-3/WARN]: Could not cache texture source; something has gone wrong with encoding.
java.lang.IllegalStateException: Color palette is empty
	at dev.lukebemish.dynamicassetgenerator.api.colors.Palette.lambda$distanceToPolyLine$6(Palette.java:430) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at java.util.OptionalDouble.orElseThrow(OptionalDouble.java:274) ~[?:?]
	at dev.lukebemish.dynamicassetgenerator.api.colors.Palette.distanceToPolyLine(Palette.java:430) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.ForegroundExtractor.lambda$runPostCalcQueue$4(ForegroundExtractor.java:416) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) ~[?:?]
	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) ~[?:?]
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
	at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765) ~[?:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.ForegroundExtractor.runPostCalcQueue(ForegroundExtractor.java:411) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.ForegroundExtractor.recalcImages(ForegroundExtractor.java:343) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.ForegroundExtractor.lambda$unCacheOrReCalc$7(ForegroundExtractor.java:536) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.CacheReference.doSync(CacheReference.java:22) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.ForegroundExtractor.unCacheOrReCalc(ForegroundExtractor.java:532) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.ForegroundTransferSource.lambda$getSupplier$4(ForegroundTransferSource.java:110) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.TexSourceCache.lambda$fromCache$2(TexSourceCache.java:43) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.CacheReference.calcSync(CacheReference.java:16) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.TexSourceCache.fromCache(TexSourceCache.java:40) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.TexSourceCachingWrapper.lambda$getSupplier$2(TexSourceCachingWrapper.java:38) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.api.client.generators.texsources.AnimationSplittingSource.lambda$getSupplier$4(AnimationSplittingSource.java:89) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.TexSourceCache.fromCache(TexSourceCache.java:37) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.impl.client.TexSourceCachingWrapper.lambda$getSupplier$2(TexSourceCachingWrapper.java:38) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.api.client.generators.TextureGenerator.lambda$get$4(TextureGenerator.java:47) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.lambda$wrapSafeData$2(ResourceCache.java:90) ~[transformed-mod-dynamic-asset-generator.i0:0/:?]
	at net.minecraft.class_3298.method_14482(class_3298.java:46) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_7766.method_45829(class_7766.java:129) ~[transformed-mod-minecraft.i0:0/:?]
	at net.minecraft.class_7948$class_7949.method_47675(class_7948.java:22) ~[transformed-mod-minecraft.i0:0/:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	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) ~[?:?]

Basically, the caching system has gone funky, or something with palette creation. If I had to guess it has to do with the resource pack having such small color palettes.

commented

Oh, yep, if I had to guess the new palette distance systems don't like palettes with a single color. Not sure how I'm ending up with those here but I can test and see if that works

commented

This should be fixed with DynAssetGen 4.0.1 which is currently building and releasing, and will be available on curseforge/modrinth shortly.