Quark

Quark

143M Downloads

Possible incompatibility with KJS 6.1 leading to broken recipes

ukmcplyr opened this issue ยท 0 comments

commented

Minecraft: 1.19.2
Forge: 43.2.14
Quark: 3.4-405
AutoRegLib: 1.8.2-55

I've come across a bug in a large in-dev modpack where fundamental recipes like oak logs to planks are broken when generating new worlds. Logs show many occurances of messages like:

[04/08/2023 17:31:33 pm] [Server thread/WARN] Tried to get tag forge:cobblestone from an empty tag context!
[04/08/2023 17:31:33 pm] [Server thread/WARN] Tried to get tag forge:rods/wooden from an empty tag context!
[04/08/2023 17:31:33 pm] [Server thread/WARN] Tried to get tag minecraft:wool from an empty tag context!
[...]

With the help of one of the KJS devs on Discord I was able to get a stacktrace which in their opinion shows that Quark is likely doing things a little too early:

  [1] dev.latvian.mods.kubejs.item.ingredient.TagContext$1.getTag (TagContext.java:37)
[...]
  [16] vazkii.quark.base.handler.RecipeCrawlHandler.digest (RecipeCrawlHandler.java:130)
  [17] vazkii.quark.base.handler.RecipeCrawlHandler.onTick (RecipeCrawlHandler.java:116)
  [18] vazkii.quark.base.handler.__RecipeCrawlHandler_onTick_ServerTickEvent.invoke (null)

Full log here and stacktrace here.

The bug seems to only present when generating new worlds. It doesn't show up with either default or superflat world types, but it does when generating Skyblock Builder's skyblockbuilder:skyblock world type.

In a single player instance, containing only the 9 mods listed here, config/defaultworldtype/client-config.toml here and kubejs/server_scripts/recipes.js here, this can be reproduced as follows:

  1. Create new world
  2. Once spawned in, place an oak in the inventory 2x2
  3. Side-bug: remove the oak log from the 2x2 and get a gratis block of dirty glass

Screenshots in case they're helpful:

Screenshot 1
Screenshot 2
Screenshot 3