Since version 0.5, Caxton has used Fabric API’s core shader registration API for registering its custom shaders. However, this conflicts with Porting Lib’s own core shader registration API; trying to register a shader through Fabric API’s callback fails with a ResourceLocationException:
Stack trace (with Caxton, using Yarn mappings)
```
java.util.concurrent.CompletionException: net.minecraft.util.InvalidIdentifierException: Non [a-z0-9/._-] character in path of location: caxton:caxton:shaders/core/rendertype_text.json
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:791) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?]
at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
at com.mojang.blaze3d.systems.RenderSystem.replayQueue(RenderSystem.java:211) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:198) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.util.Window.swapBuffers(Window.java:310) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1147) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:737) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.main.Main.main(Main.java:236) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) [fabric-loader-0.15.11.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.15.11.jar:?]
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
at dev.architectury.transformer.TransformerRuntime.main(TransformerRuntime.java:219) [architectury-transformer-5.2.83-runtime.jar:5.2.83]
Caused by: net.minecraft.util.InvalidIdentifierException: Non [a-z0-9/._-] character in path of location: caxton:caxton:shaders/core/rendertype_text.json
at net.minecraft.util.Identifier.(Identifier.java:41) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.util.Identifier.(Identifier.java:46) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.render.Shader.(Shader.java:121) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.fabricmc.fabric.impl.client.rendering.FabricShader.(FabricShader.java:28) ~[fabric-rendering-v1-1.11.0+b7f3cf3460.jar:?]
at net.minecraft.client.render.GameRenderer.md2f6d85$fabric-rendering-v1$lambda$registerShaders$0$0(GameRenderer.java:3045) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at xyz.flirora.caxton.fabric.CaxtonModIdentifierFlavor.lambda$onInitializeClient$3(CaxtonModIdentifierFlavor.java:32) ~[main/:?]
at net.fabricmc.fabric.api.client.rendering.v1.CoreShaderRegistrationCallback.lambda$static$0(CoreShaderRegistrationCallback.java:44) ~[fabric-rendering-v1-1.11.0+b7f3cf3460.jar:?]
at net.minecraft.client.render.GameRenderer.handler$baj000$fabric-rendering-v1$registerShaders(GameRenderer.java:3048) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.render.GameRenderer.loadShaders(GameRenderer.java:442) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.client.render.GameRenderer.reload(GameRenderer.java:387) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at net.minecraft.resource.SynchronousResourceReloader.method_29490(SynchronousResourceReloader.java:15) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?]
at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:787) ~[?:?]
... 120 more
```
This is related to #68, but instead of happening when Fabric API 0.77.0 or later is loaded, it only happens when a mod tries to register a core shader through Fabric API.
Since version 0.5, Caxton has used Fabric API’s core shader registration API for registering its custom shaders. However, this conflicts with Porting Lib’s own core shader registration API; trying to register a shader through Fabric API’s callback fails with a
ResourceLocationException
:Stack trace (with Caxton, using Yarn mappings)
``` java.util.concurrent.CompletionException: net.minecraft.util.InvalidIdentifierException: Non [a-z0-9/._-] character in path of location: caxton:caxton:shaders/core/rendertype_text.json at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:791) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:795) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:784) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at net.minecraft.resource.SimpleResourceReload.method_18365(SimpleResourceReload.java:69) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.util.thread.ThreadExecutor.execute(ThreadExecutor.java:103) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.resource.SimpleResourceReload.method_18367(SimpleResourceReload.java:68) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:572) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?] at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?] at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:726) ~[?:?] at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] at com.mojang.blaze3d.systems.RenderSystem.replayQueue(RenderSystem.java:211) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:198) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.client.util.Window.swapBuffers(Window.java:310) ~[minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1147) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:737) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.minecraft.client.main.Main.main(Main.java:236) [minecraft-merged-59769f9cf0-1.18.2-net.fabricmc.yarn.1_18_2.1.18.2+build.4-v2.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) [fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.15.11.jar:?] at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?] at dev.architectury.transformer.TransformerRuntime.main(TransformerRuntime.java:219) [architectury-transformer-5.2.83-runtime.jar:5.2.83] Caused by: net.minecraft.util.InvalidIdentifierException: Non [a-z0-9/._-] character in path of location: caxton:caxton:shaders/core/rendertype_text.json at net.minecraft.util.Identifier.This is related to #68, but instead of happening when Fabric API 0.77.0 or later is loaded, it only happens when a mod tries to register a core shader through Fabric API.
See issue on Caxton’s repository.