Predicates/Out Dated Version?

VERSION: JAVA 1.20.1

Hi, ok alright this has completely stumped me I have a feeling it's to do with out dated file formatting or something similar but for some reason this predicate file is not being detected by the game but most other ones are. It's in the right directory (data/game/predicates) with game being the name of my namespace. The file is called death.json it is designed to use location checkers and zones to check if the player has hit the floor or is in a liquid in a set zone. The zones are set correctly and work, and one of the location checkers works (ground) but the liquid one is broken i'm wondering if it's because the liquid predicate is broken but i don't know. The liquid and ground checking predicates are in the directory (data/game/predicates/player). Here is the liquid checking predicates which isn't being picked up either:

BOTH ATTACHED AS FILES BELOW

I'm guessing it's to do with an outdated file format or condition or similar but could be wrong all help would be appreciated... This has stumped me for daysssss. By the way I used jsonlint and there are no syntax errors. I know they're not being read because they're not showing up as options when I try to put them in the command block using this command "execute at @ a[distance..1] if predicate game:death run function game:tunnels/player_death the function is detected and shows light blue and clickable also it works if you use /function but the predicate doesn't show but other predicates do show up like the ground predicate and others in the datapack.

Continue to help post