wisp-forest / conjuring

A mod about spawners, tools and (secretly) food
https://modrinth.com/mod/conjuring
MIT License
9 stars 14 forks source link

Book error if items have custom recipes #29

Closed MJRamon closed 2 years ago

MJRamon commented 2 years ago

When changing item recipes (I used KubeJS, but I guess datapacks have same effect), mod failes to create guide book:

[Render thread/ERROR]: Error compiling book conjuring:conjuring_guide, using empty contents
java.lang.RuntimeException: Error building entry conjuring:basics/soul_composite_materials
    at vazkii.patchouli.client.book.BookContentsBuilder.lambda$build$2(BookContentsBuilder.java:98) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at java.util.HashMap$Values.forEach(HashMap.java:1065) ~[?:?]
    at vazkii.patchouli.client.book.BookContentsBuilder.build(BookContentsBuilder.java:94) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.common.book.Book.reloadContents(Book.java:197) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.common.book.BookRegistry.reloadContents(BookRegistry.java:128) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.ClientBookRegistry.reload(ClientBookRegistry.java:63) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.base.ClientAdvancements.onClientPacket(ClientAdvancements.java:34) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at net.minecraft.class_632.handler$coj000$patchouli_onSync(class_632.java:1017) ~[client-intermediary.jar:?]
    at net.minecraft.class_632.method_2861(class_632.java:57) ~[client-intermediary.jar:?]
    at net.minecraft.class_634.method_11130(class_634.java:1208) ~[client-intermediary.jar:?]
    at net.minecraft.class_2779.method_11925(class_2779.java:51) ~[client-intermediary.jar:?]
    at net.minecraft.class_2779.method_11054(class_2779.java:16) ~[client-intermediary.jar:?]
    at net.minecraft.class_2600.method_11072(class_2600.java:21) ~[client-intermediary.jar:?]
    at net.minecraft.class_1255.method_18859(class_1255.java:151) [client-intermediary.jar:?]
    at net.minecraft.class_4093.method_18859(class_4093.java:23) [client-intermediary.jar:?]
    at net.minecraft.class_1255.method_16075(class_1255.java:125) [client-intermediary.jar:?]
    at net.minecraft.class_1255.method_5383(class_1255.java:110) [client-intermediary.jar:?]
    at net.minecraft.class_310.method_1523(class_310.java:1080) [client-intermediary.jar:?]
    at net.minecraft.class_310.method_1514(class_310.java:733) [client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:238) [client-intermediary.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608) [fabric-loader-0.12.12.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.12.12.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.12.12.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
    at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
    at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Caused by: java.lang.RuntimeException: Error while loading entry conjuring:basics/soul_composite_materials page 0
    at vazkii.patchouli.client.book.BookEntry.build(BookEntry.java:224) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.BookContentsBuilder.lambda$build$2(BookContentsBuilder.java:96) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    ... 34 more
Caused by: java.lang.RuntimeException: Error setting up template processor
    at vazkii.patchouli.client.book.template.BookTemplate.compile(BookTemplate.java:96) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.page.PageTemplate.build(PageTemplate.java:28) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.BookEntry.build(BookEntry.java:221) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.BookContentsBuilder.lambda$build$2(BookContentsBuilder.java:96) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    ... 34 more
Caused by: java.lang.IllegalArgumentException: Unkown recipe: conjuring:soulfire_forge/soul_alloy
    at com.glisco.conjuring.compat.patchouli.SoulfireForgeProcessor.lambda$setup$0(SoulfireForgeProcessor.java:21) ~[conjuring-1.0.17+1.18.jar:?]
    at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?]
    at com.glisco.conjuring.compat.patchouli.SoulfireForgeProcessor.setup(SoulfireForgeProcessor.java:21) ~[conjuring-1.0.17+1.18.jar:?]
    at vazkii.patchouli.client.book.template.BookTemplate.compile(BookTemplate.java:94) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.page.PageTemplate.build(PageTemplate.java:28) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.BookEntry.build(BookEntry.java:221) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    at vazkii.patchouli.client.book.BookContentsBuilder.lambda$build$2(BookContentsBuilder.java:96) ~[Patchouli-1.18.1-64-FABRIC.jar:?]
    ... 34 more
gliscowo commented 2 years ago

If you use KubeJS to outright replace the recipe, this is what will happen. To prevent this, instead replace the original recipe with another one with the same ID Cheers

gliscowo commented 2 years ago

Any update on this?

MJRamon commented 2 years ago

Yeah, changed to datapack replacement and all went smooth.