Integrated Dynamics

Integrated Dynamics

63M Downloads

1.16.5 Squeezer produces nothing with custom recipes

MuteTiefling opened this issue ยท 7 comments

commented

Issue type:

  • ๐Ÿ› Bug

Short description:

I'm attempting to implement custom ore processing recipes and I'm running into some random issues with the Mechanical Squeezer. Namely, the recipes will randomly decide not to work.

We're using KubeJS to implement the recipe changes, but it's ultimately just injecting JSON based datapack recipes in this case. I've done a number of these already for the Squeezer for all the various plants > dyes, plus ingots > dusts. But the ore processing just seems to fail.

https://streamable.com/9xecfv

Steps to reproduce the problem:

  1. Create custom processing recipes
  2. Attempt to use them in game

Expected behaviour:

The ores should be crushing down into the dusts as shown in the recipes in the video.


Versions:

  • This mod: IntegratedDynamics-1.16.4-1.4.3
  • Minecraft: 1.16.5
  • Forge: 36.0.22

mods.txt

Log file:

commented

Unless you can reproduce this with purely JSON files, this seems like a KubeJS issue to me, as we're just following vanilla recipe mechanisms here.
The only thing I can think of is that recipe output chances are not properly being set via KubeJS? (Don't know the mod, so don't really know what else could be going wrong)

commented

I'll try changing the output chances. that's a good point. unlike all the other recipes, these ones are coming out with 60.00000001%

commented

Thanks for reporting!

commented

sorry, hit enter too fast! Will fill this out properly

commented

So I recreated my nickel recipe as a json file and loaded it. It failed too.

Any way you can reproduce this with just vanilla ingredients?
Just so we can rule out other mods, and to make my debugging a bit easier.

Is it possible these machines have some sort of recipe cache that's not being updated properly when I reload?

Yep, all machines do caching, which is crucial for decent tick performance. These are atm not invalidated on resource pack changes.

commented

Alright, a little more information here.

  1. Creating a few json based data packs has worked without issue.
  2. Most of my kjs based recipes (injecting data packs) have also worked without issue.

I have a ton of flowers > Dye recipes, for example, that use the same syntax and they work fine.

Even some of the ore processing recipes work fine, we've found. For example, my custom Copper recipe was doing great while Nickel did not. Both were added by the same script.

Interestingly with Copper/Nickel, I reduced the processing time for both and Copper took the change down from 10s to 2s without issue. Nickel still kept processing at 10s and giving air as output...

So that got me thinking, maybe it's something with the materials themselves somehow? So I recreated my nickel recipe as a json file and loaded it. It failed too.

nickel_processing.txt

So at this point, I've completely disabled all of my custom recipes and I'm only introducing one new recipe via data pack. Somehow it is still remembering some of my custom gem crushing recipes... and nickel, the only actual recipe I'm adding, gives air.

Is it possible these machines have some sort of recipe cache that's not being updated properly when I reload?

commented

So I realized that some of my scripts were in fact broken. I had the wrong JSON structure in them.

However, at this point every script works individually. It only seems to break when most of them are enabled. Could it possibly be the number of recipes? I've got about 276 recipes on the machine with all the scripts enabled...

Any way, I have no clue and at this point I've spent too many days trying to figure this out :( So I'm throwing in the towel. I don't really feel like making 250+ json files to see if it works that way.