Every Compat (Wood Good)

Every Compat (Wood Good)

28M Downloads

[๐Ÿž]: Resource Gen Task failed

Closed this issue ยท 6 comments

commented

Code of Conduct

  • Always check you are using the latest version of the mods and its dependencies
  • Remove mod that enhances Minecraft: Optifine, Sodium, others. The issue still persists.
  • If you are unsure which mod is the culprit.
    Disable all of your mods and enable them 1-2 mods each time to isolate the culprit
  • Confirm that there is no existing issue with a similar description submitted in the list of issues.

Version - Loader (DO NOT FORGET TO SELECT THE CORRECT VERSION)

1.21.1 - NEOFORGE

EveryCompat Version

everycomp-1.21-2.11.4-neoforge

Moonlight Lib Version

moonlight-1.21-2.23.9-neoforge

Issue with mods

moonlight-1.21-2.23.9-neoforge
everycomp-1.21-2.11.4-neoforge
FarmersDelight-1.21.1-1.2.9
perfect-parity-pg-1.0.8

Issue Detail

Strange datapack behavior...
I'm creating a custom build for a small company and use datapacks to remove recipes that "annoy me, don't like them, are useless, etc."

I'm having problems with the FarmersDelight everycomp montmaj's perfect-parity-pg-1.0.8 and, datapack with removing cutting table recipes.
I've seen issues with these mods, but haven't found a specific issue like this.

Example:

data\farmersdelight\recipe\cutting\acacia_door.json
data\farmersdelight\recipe\cutting\acacia_hanging_sign.json
data\farmersdelight\recipe\cutting\acacia_sign.json
data\farmersdelight\recipe\cutting\acacia_trapdoor.json

Similar recipes for other wood types are also removed. But as soon as I add anything named "oak" (data\farmersdelight\recipe\cutting\oak_door.json)
recipes from everycomp stop working.
I am already mentally prepared to accept this..

In log

[30Sep2025 22:21:30.446] [Render thread/INFO] [Moonlight/]: Resource cache state for SERVER_DATA: up to date
[30Sep2025 22:21:30.446] [Render thread/INFO] [Moonlight/]: Starting runtime resource generation for pack type SERVER_DATA with generators [everycomp:dynamic_resources]
[30Sep2025 22:21:30.446] [Render thread/INFO] [Moonlight/]: Regenerating Dynamic SERVER_DATA Resources Provider [everycomp:dynamic_resources], requested by strategy REGEN_ON_EVERY_RELOAD
[30Sep2025 22:21:30.447] [Render thread/INFO] [Every Compat/]: Every Compat is starting dynamic server resources generation tasks: 28 in batches of 20
[30Sep2025 22:21:30.458] [pool-25-thread-1/ERROR] [Moonlight/]: Resource Gen Task failed
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonArray.get(int)" because the return value of "com.google.gson.JsonObject.getAsJsonArray(String)" is null
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonArray.get(int)" because the return value of "com.google.gson.JsonObject.getAsJsonArray(String)" is null
	at TRANSFORMER/[email protected]/net.mehvahdjukaar.every_compat.modules.farmersdelight.FarmersDelightModule.createCuttingRecipe(FarmersDelightModule.java:115) ~[everycomp-1.21-2.11.4-neoforge.jar%23210!/:?]
	at TRANSFORMER/[email protected]/net.mehvahdjukaar.every_compat.modules.farmersdelight.FarmersDelightModule.lambda$addDynamicServerResources$5(FarmersDelightModule.java:87) ~[everycomp-1.21-2.11.4-neoforge.jar%23210!/:?]
	at java.base/java.util.HashMap.forEach(HashMap.java:1429) ~[?:?]
	at TRANSFORMER/[email protected]/net.mehvahdjukaar.every_compat.modules.farmersdelight.FarmersDelightModule.lambda$addDynamicServerResources$6(FarmersDelightModule.java:85) ~[everycomp-1.21-2.11.4-neoforge.jar%23210!/:?]
	at TRANSFORMER/[email protected]/net.mehvahdjukaar.every_compat.dynamicpack.ServerDynamicResourcesHandler.lambda$regenerateDynamicAssets$1(ServerDynamicResourcesHandler.java:63) ~[everycomp-1.21-2.11.4-neoforge.jar%23210!/:?]
	at TRANSFORMER/[email protected]/net.mehvahdjukaar.moonlight.api.resources.pack.DynamicResourcesProvider.lambda$runGenerationPipeline$1(DynamicResourcesProvider.java:155) ~[moonlight-1.21-2.23.9-neoforge.jar%23216!/:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 3 more
[30Sep2025 22:21:30.479] [Render thread/INFO] [Moonlight/]: Generated runtime SERVER_DATA for pack everycomp:dynamic_resources in 32.14 ms
[30Sep2025 22:21:30.479] [Render thread/INFO] [Moonlight/]: Finished runtime resources generation for 1 packs in a total of 32.50 ms 

Ps/
Btw, mcw-fences has new wooden curved gates, which are not included in the entries.toml

OPTIONAL: Latest.log | Crash-report Attachment

latest.log

Farmersdelight.zip

OPTIONAL: To Produce

No response

commented

After some experimentation, I realized I hadn't tried creating a dynamic data package cache without my completely broken pack. This essentially solved my problem. Recipes don't disappear, and the datapack works. I also added the mcw-windows datapack (where, of course, I disabled unnecessary windows and all that), but after creating the dynamic cache, Moonlight complained in the console that it couldn't create anything. As a result, the window counterparts I disabled also don't work in everycomp, even without disabling them in everycomp-entries.toml. As if pale oak = oak?


Creating a dynamic data packet cache helped me.
I won't close this thread, but maybe you'll take a look so other meticulous people like me don't run into similar problems.

commented

I won't close this thread, but maybe you'll take a look so other meticulous people like me don't run into similar problems.

that's fine. let's keep it open for now. You need to check everycomp-common and everycomp-client and look at the set of Dynamic_asset_generation_mode, if it's "ALWAYS", all good

if not, then set it to "ALWAYS". so about the ** new wooden curved gates**, it haven't supported yet.

EDIT:
nvm. i'm sure the config are set to ALWAYS according to latest.log

 [everycomp:dynamic_resources], requested by strategy REGEN_ON_EVERY_RELOAD

I'll check Farmer's Delight to see if it's been recently updated

commented

Of course, the default setting is "ALWAYS."
But in this case, changing the cutting table recipes via the data packet will break everycomp recipes, as I already mentioned.
Moonlight can't generate them.
[Moonlight/]: Resource Gen Task failed

I was pretty sure the problem was perfect-parity-pg-1.0.8 because it adds items with the minecraft tag, completely copying new versions.... But it's not. I just tested it with another mod for new wood, BiomesOPlenty-neoforge-1.21.1-21.1.0.12. If I delete
data\farmersdelight\recipe\cutting\acacia_door.json with this code,

{
      "neoforge:conditions": [
        {
          "type": "neoforge:false"
        }
      ]
    }

there are no problems, as soon as I add to the datapack
data\farmersdelight\recipe\cutting\oak_door.json or something similar linked in "oak", with the same code
Re-entering the world after changing the data pack or completely restarting the game leads to what I sent above
[Moonlight/]: Resource Gen Task failed

The second part of the error refers to

net.mehvahdjukaar.every_compat.modules.farmersdelight.FarmersDelightModule.createCuttingRecipe
net.mehvahdjukaar.every_compat.modules.farmersdelight.FarmersDelightModule.lambda$addDynamicServerResources$5
net.mehvahdjukaar.every_compat.modules.farmersdelight.FarmersDelightModule.lambda$addDynamicServerResources$6

Is there a chance that any dynamic resource creation for any block directly accesses files named "oak" which I am disabling?
I don't see any other reason why Moonlight can't generate resources after I delete "any of oak_*"
from the path data\farmersdelight\recipe\cutting\
If there is no base recipe, then there is nothing to generate new recipes from.


To solve this problem, I set CACHE in two config files, generated the resources, and set NEVER. Overall, everything works fine for me. Every everycomp item has its own recipes, and the data pack for removing all sorts of junk from oak doesn't interfere.

commented

hmm. ok. EC is using Multi-thread and a few methods from Moonlight. BUT the recipe generation is in EC.

createCuttingRecipe is via FarmersDelightModule. the "second part of the error" is just tell me where is the problem. I know which code to look at. "oak" is a base recipe that EC will use to replace "oak" with new WoodType

commented

done

commented

FIXED in v2.11.5