v1.1.19
Fixed crafting output desync. The InventoryDirtyScan optimization was skipping dirty slot sync for the crafting grid because vanilla's FindMatchingRecipe() writes to dirtySlots directly without calling MarkSlotDirty(). Players could see the craft output appear briefly then vanish, making items uncraftable until another inventory event triggered the sync.
Added postfix patches on FindMatchingRecipe and ConsumeIngredients to properly signal dirty state.