Custom Enchantment not showing in the /enchant command

So I'm guessing I must have made a typo somewhere in the file, since when i try leaving and re-entering the world, it asks me to put the world in Safe Mode, and removing the enchantment lets me re-enter the world normally. I checked my logs and here is the message I get : > Errors in registry minecraft:enchantment: >> Errors in element hb_redforest:ruined_mindspire_parkour: java.lang.IllegalStateException: Failed to parse hb_redforest:enchantment/ruined_mindspire_parkour.json from pack file/core Caused by: java.lang.IllegalStateException: Validation error in enchantment effect condition: at : Parameters [<parameter minecraft:damage_source>] are not provided in this context missed input: {"minecraft:tick":[{"requirements":{"condition":"minecraft:damage_source_properties","predicate":{"source_entity":{"type":"minecraft:player","type_specific":{"type":"minecraft:player","gamemode":["adventure"]},"location":{"biomes":"minecraft:ruined_mindspire_parkour"}},"direct_entity":{"type":"minecraft:player","type_specific":{"type":"minecraft:player","gamemode":["adventure"]},"location":{"biomes":"minecraft:ruined_mindspire_parkour"}},"is_direct":true}},"effect":{"type":"minecraft:run_function","function":"hb_redforest:r_mindspire/parkour_fall"}}]}

This is my code:

  "description": "hb_parkour",
  "supported_items": "#minecraft:foot_armor",
  "weight": 1,
  "max_level": 1,
  "min_cost": {
    "base": 0,
    "per_level_above_first": 0
  },
  "max_cost": {
    "base": 50,
    "per_level_above_first": 50
  },
  "anvil_cost": 8,
  "slots": [
    "feet"
  ],
  "effects": {
    "minecraft:damage_protection": [
      {
        "requirements": {
          "condition": "minecraft:damage_source_properties",
          "predicate": {
            "tags": [],
            "source_entity": {
              "type": "minecraft:player",
              "type_specific": {
                "type": "minecraft:player",
                "gamemode": [
                  "adventure"
                ]
              },
              "location": {
                "biomes": "minecraft:ruined_mindspire_parkour"
              },
              "periodic_tick": 100
            },
            "direct_entity": {
              "type": "minecraft:player",
              "type_specific": {
                "type": "minecraft:player",
                "gamemode": [
                  "adventure"
                ]
              },
              "location": {
                "biomes": "minecraft:ruined_mindspire_parkour"
              },
              "periodic_tick": 100
            },
            "is_direct": true
          }
        },
        "effect": {
          "type": "minecraft:set",
          "value": 5
        }
      }
    ],
    "minecraft:tick": [
      {
        "requirements": {
          "condition": "minecraft:damage_source_properties",
          "predicate": {
            "source_entity": {
              "type": "minecraft:player",
              "type_specific": {
                "type": "minecraft:player",
                "gamemode": [
                  "adventure"
                ]
              },
              "location": {
                "biomes": "minecraft:ruined_mindspire_parkour"
              }
            },
            "direct_entity": {
              "type": "minecraft:player",
              "type_specific": {
                "type": "minecraft:player",
                "gamemode": [
                  "adventure"
                ]
              },
              "location": {
                "biomes": "minecraft:ruined_mindspire_parkour"
              }
            },
            "is_direct": true
          }
        },
        "effect": {
          "type": "minecraft:run_function",
          "function": "hb_redforest:r_mindspire/parkour_fall"
        }
      }
    ]
  }
}```

I'm basically trying to negate fall damage, but make it so when players do take fall damage in a specific biome, a function is run to teleport them away.
Continue to help post