quat1024 / BotaniaTweaks

small tweaks to botania, such as nerfable mana fluxfields and automatable ender air
Mozilla Public License 2.0
6 stars 7 forks source link

Crash in CropBlock (apparently), something to do with agglo plate matching #29

Closed quat1024 closed 6 years ago

quat1024 commented 6 years ago

https://github.com/EmosewaPixel/Crop-Block/issues/48

time to investigate this and see if it still happens (this is a kinda old issue), since thats not good lol

quat1024 commented 6 years ago

On phone rn but it looks like this is probably a bug involving agglomeration recipes where more than one ingredient is provided at a time. Which is a case I don't think I tested. The recipe matching code works by creating a copy of the user's input item stacks and a copy of the recipe's item stacks, and then attempting to consume items from the user input list that match the recipe (the goal being to consume all of the items) The problem is that one stack from the recipe actually consumes all the matching user inputs, which due to the really shitty code at play here lmao, can cause one of the lists to become empty.

I should redo that code anyways. Making a bunch of list copies for every recipe every tick doesn't sound... efficient.

It also sounds like there could be bugs involving tricking the recipe matcher into giving you items with the wrong combination of inputs. Whoops.

quat1024 commented 6 years ago

Fixed by rewriting the recipe matcher, hopefully it's more robust now.