Execute store success problem AHHHHHHHHHHHHH

Okay i basically want to check wether the contents of a block match the ones of a value in an array in a data storage called minecraft:hexenwerk_recipes To do that i try to modify the storage with the contents of the block to check wether they are already present idially resulting with an value of either 1 or 0 Running this command in game results exactly what i expect it to:

execute store success score @s hexenwerk.valid_craft run data modify storage minecraft:hexenwerk_recipes recipes[] set from block ~ ~ ~ Items[]

but running these commands in a function doesn't and always sets the value to 1 for some reason

execute store success score @s hexenwerk.valid_craft run data modify storage minecraft:hexenwerk_recipes recipes[] set from block ~ ~ ~ Items[]
execute if score @s hexenwerk.valid_craft matches 0 run say omg it matches
data merge storage hexenwerk_recipes ...

(the last command just resets the values in the storage)

Continue to help post