shedaniel / RoughlyEnoughItems

Clean and Configurable. Your recipe viewer mod for 1.13+.
Other
319 stars 61 forks source link

[Bug] Looking up recipes on 1.19.2's implementation of Farmer's Delight of the cutting board causes a crash #1612

Open Sunconure11 opened 3 months ago

Sunconure11 commented 3 months ago

What happened?

Title is fairly self-explanatory, I was going through recipes for the cutting board when I got hit with a crash

What mod loaders are you seeing the problem on?

Fabric

What do you think this bug is of?

Relevant log output

https://gist.github.com/Sunconure11/52ba818374b141cab0aac871fa7e1aa2

Anything else?

No response

By submitting this issue, I have included the necessary logs by pasting the contents into the correct location or attaching the file as an upload.

By submitting this issue, I have confirmed my REI and REI's dependencies are up to date.

Abalieno commented 3 months ago

Can confirm. I lost all bookmarks in world and had both a hang without a crash, and this one crash same as the log pasted there.

There may be more than one thing broken in this latest version... Also very little hope to see this fixed mod-side, since everyone abandons versions on Fabric.

shedaniel commented 3 months ago

Well, this is a bad circumstance. Farmers delight implemented a class that they shouldn't have, but their mod is abandoned now. :D this is excellent. I will see if I want to patch this in REI, I don't think it's a good idea for me to do it, but there isn't much we can do. I will try to contact them first before coming to a solution.

dugotardi commented 3 months ago

There is now this "farmer's delight refabricated" version updated more frequently: link , due to the inactivity of the original mod... Maybe they can update that problem with the class you mentioned... ?

Sunconure11 commented 3 months ago

@dugotardi I doubt they are gonna backport. Plus the pack this error occurs on is meant for 1.19.2 anyways.

Inqie commented 3 months ago

It appears that, atleast on Fabric, the issue is not present when using REI v9.1.695 or earlier.

Ballisticannon commented 2 months ago

Reporting the same issue, also on Minecraft 1.19.2 (Fabric Loader 0.15.7), on a custom modpack including the most recent versions of REI, Farmer's Delight, and several FD addons.

Notably, the crash only occurs if and when REI tries to display a cutting board recipe that has one or more outputs with a chance to drop, like the straw that sometimes drops when chopping up rice panicles on a cutting board. If a cutting board recipe search instead only finds cutting board recipes with nothing but 100% guaranteed drops (such as, for example, the recipes for skinning logs on a cutting board, which always produce exactly one skinned log and one tree bark), no crash occurs, and the recipe displays without issue.

As another part of note, the crash also occurs with cutting board recipes provided by other mods, such as FD addons like Cultural Delights, which produces this crash when looking at cutting board uses for its wild plants. It's also, seemingly, only the FD cutting board that misbehaves in this way, the pack I'm using also includes several other modded crafting methods with chance-based outputs, like Create's millstone and crushing wheels, and these render perfectly fine. I'm not familiar with the exact process of how modded recipes transfer from add-on to FD to REI, but the fact that this crash happens with the add-ons as well as base FD makes me a bit concerned that a fix on FD's end might still leave the FD add-ons prone to causing this crash (or, alternatively, may break the add-on mods by changing how they need to set up their cutting board recipes).

The whole thing leaves me wondering if a temporary fix, where REI outright ignores recipes that use the problematic chance-to-drop syntax that appears in these cutting board recipes, would be possible as an interim solution. Using something like KubeJS to remove or replace the offending recipes might also work as a spit-and-glue hotfix, though this is obviously beyond the scope of what REI itself is meant to do, and I would need to check and see if that's even possible to do with KubeJS in the first place. That said, I'll probably give the KubeJS thing a shot, and if it does work, I'll report back with any findings for the sake of any other folks who might be troubleshooting this issue.

wyatt-herkamp commented 2 months ago

I am getting a similar bug on 1.20.1

java.lang.AbstractMethodError: Method com/nhoryzon/mc/farmersdelight/integration/rei/ChanceArrayIngredient.getSetting(Lme/shedaniel/rei/api/common/entry/settings/EntryIngredientSetting;)Ljava/lang/Object; is abstract
    at com.nhoryzon.mc.farmersdelight.integration.rei.ChanceArrayIngredient.getSetting(ChanceArrayIngredient.java)
    at me.shedaniel.rei.impl.client.gui.screen.AbstractDisplayViewingScreen.hashFocusIngredient(AbstractDisplayViewingScreen.java:282)
Kelpiesaurus commented 2 months ago

I got this bug in 1.19.2 as well. The crash occurs only when attempting to view cutting board recipes that have a chance included for the result. My workaround for now is to replace all those recipes with a datapack to remove the chance.