I was coding my first Minecraft data pack, and everything was working perfectly for the first bit. After some time of coding, the tick file seemed to entirely stop working. I checked in the tick.json file, and it looked exactly the same as the load.json just with the "test:tick" instead of "test:load" on the 3rd line, which should be correct. Somehow, the load.mcfunction still worked because I could see the tellraw command I made still popping up every time I reloaded. Also, if I changed the load.mcfunctcion file up a bit, I could see the results working fine on the minecraft side.
Here's my code:
tick.json file:
{
"values": [
"test:tick"
]
}
load.json file:
{
"values": [
"test:load"
]
}
load.mcfunction file:
tellraw @a {"text": "Hello there","italic": true,"color":"#5544FF"}
scoreboard players reset tick
scoreboard objectives add tick dummy {"text":"CurrentTick", "bold": true}
scoreboard objectives setdisplay sidebar tick
scoreboard players set tick tick 0
tick.mcfunction file:
execute at @a run summon sheep
#Trident Lightning
execute at @e[type=trident, nbt={OnGround:0b}] run summon lightning_bolt
#Arrow TNT
execute at @e[type=arrow,nbt={pickup:1b,inGround:0b}] run summon tnt ~ ~ ~ {Fuse:100}
kill @e[type=arrow,nbt={inGround:1b}]
#Egg Leaf Bridge, also can destroy stuff, dropping loot
execute at @e[type=egg] run setblock ~ ~-2 ~ oak_leaves destroy
#Snowballs damage players in an AOE
execute at @e[type=snowball] run damage @e[distance=..3] 2
#Ticks
scoreboard players add tick tick 1
Screenshot of the file layout in VSCode:
I have no mods at all, and no other datapacks. This is on a singleplayer world on 1.20.1.

Okay, so in datapacks, when functions have errors in them, they just disappear from the face of the earth, and you can't run them. Your error is
execute at @e[type=snowball] run damage @e[distance=..3] 2at the end in the@e[distance=..3]the damage command only allows one target and in that line you allow more than one target. One way to fix this is by doing@e[distance=..3, limit=1]