[BUG]Actions that don't meet the conditions should be denied but not delayed
For example, I set an reward that needs "3 zombies to be killed" and "right-click", and I clicked that block, then I killed 3 zombies, and the reward gui just popped up.
What I expected:
When I clicked block the first time, because I haven't kill 3 zombies yet, the reward gui shouldn't pop up until I killed the zombies and click that block AGAIN
The mechanic behind the "bug" I think: functions will mark the trigger as true when triggered, like the right-click above. So the function will auto executed after other triggers triggered. In my opinion, player triggers, except "player death counter" and "block detector", shouldn't get passed when other conditions are not met.
This lead to another bug: When you hold a key and try to unlock the door, it will accept the key, consuming it, but nothing happens, until other triggers are triggered. The problem is: the door will consume the keys infinitely, the gif below will show this: