if function argument
When I run something like this:
execute if predicate wep_station:recipes/structures/2x1 unless function wep_station:recipe_handler/2x1/2x1_dispatcher run return run say hiExample case, the predicate passes, so we move on to the function, and the function is tested, I have a group of questions: First, when I invoke a function with the if/unless argument, do it's effects stay although it's just a condition check? Like if a score is modified in that function does this modification stay? So in other words the function is just summoned normally except that we expect a return value from it?
Second, the only way to return a false is just by doing /return false or encountering an exception, right?
And lastly, this should be similar to other programming langs but.. if the predicate fails, the function isn't checked, right?