SingleStackStorage impl can cause unwanted side effects (ex. furnaces can't ever smelt)
TropheusJ opened this issue ยท 3 comments
SingleStackStorage.extract
calls setStack
and appears to rollback afterwards if the transaction was aborted. However, this does not take into account any side effects of setStack. In the case of furnaces, it resets the cooking timer. A simulated extraction running every tick will completely prevent any furnaces from smelting items. This is exactly what happens here. (Note that this example does not use simulateExtract
directly, howerver switching to use it instead behaves identically.)
Ok this is not going to be fun, but I'll see what I can do. Probably a good use case for game tests at least.
BTW this is somewhat related to #1912.
Fixed by #1979.