McJtyMods / RFToolsStorage

Everything related to storage
MIT License
4 stars 11 forks source link

Rftools modular storage dupes IC2c stacked crafting recipes #84

Open Saereth opened 11 months ago

Saereth commented 11 months ago

MC version: 1.19.2 Forge: 43.3.5 Ic2c: IC2Classic-1.19.2-2.0.8.jar Rftools: rftoolsstorage-1.19-4.1.2.jar Mcjtylib: mcjtylib-1.19-7.2.5.jar

Crafting any recipe that uses ic2c stacked crafting results in tons of materials being duplicated, here is a video of it happening:

https://github.com/McJtyMods/RFToolsStorage/assets/9200909/5ac9b964-c01e-4cbf-b818-5748943b4cd7

Speiger commented 11 months ago

@McJty to provide a bit of insight. StackCrafting takes the ingredients in the "getRemainingItems" function and subtract's them and returns them back to you. Basically taking over the entire subtraction process.

This shouldn't be to hard to be accounted for.

McJty commented 10 months ago

@Speiger StackCrafting? What? I don't understand

Speiger commented 10 months ago

@McJty Stackcrafting is the ability to consume more then 1 item in a slot. So you can have recipes like this: javaw_MfcEHldHKL

The idea being instead of creating 5 layers of components you simply craft more of common items you need/have anyways.

McJty commented 10 months ago

Hmm that's going to be very hard to support. To fix the duping problem I think I'm just going to disallow recipes like that. At least for now

Speiger commented 10 months ago

@McJty i looked into your code. This isn't a problem of how you handle the crafting recipe. https://github.com/McJtyMods/RFToolsStorage/blob/1.19/src/main/java/mcjty/rftoolsstorage/craftinggrid/StorageCraftingTools.java#L152

The assemble/getRemainingItems function looks exactly the same on how i implemented it. So that is correct.

The thing I noticed. It only consumes the None Oredicted items. (Watercell) But oredicted items (Tin Ingot) just get duplicated and not consumed. (So only created)

So this looks like that RFStorage has issues with Oredicted items specifically, and not stackcrafting itself. Because cells get consumed correctly. Stackcrafting might just amplify the oredict issue RFStorage has in general. (Already seen videos where multi choice items as ingredients simply won't work in general)

I hope that helps you.

(I tested it in my dev space to make sure ic2c isn't the problem here)