How to automatically change Player function after picking up certain item?

Hello! I’m trying to to add a function where the Player is able to swim when they pick up an item called “snorkel” and is knocked back when not. I already have the Player Inventory script where it stores the item data but I’m not sure how to call upon it.

This is the script I have within the Player script right now. Individually the functions seem to work but I’m not sure how to phrase it together.

    private void OnTriggerEnter2D(Collider2D other)
{
    // With SNORKEL 
    if (other.gameObject.tag == "Water" /*&& Inventory has snorkel*/)
    {
        Debug.Log("SWIMMING!");
        anim.SetBool("IsSwimming", true);
        isSwimming = true;

    }

    // Without SNORKEL
    if (other.gameObject.tag == "Water" /*&& Inventory does NOT have snorkel*/)
    {
        Debug.Log("CAN'T SWIM!");
        anim.SetBool("IsHurting", true);
        isHurting = true;
        isSwimming = false;
        //knockback Player
        StartCoroutine(this.KnockBack(0.04f, 700, this.transform.position));
    }

}
private void OnTriggerExit2D(Collider2D other)
{
    //With SNORKEL
    if (other.gameObject.tag == "Water" /*&& Inventory has snorkel*/)
    {
        anim.SetBool("IsSwimming", false);
        isSwimming = false;
    }

    // Without SNORKEL
    if else (other.gameObject.tag == "Water" /*&& Inventory does NOT have snorkel*/)
    {
        anim.SetBool("IsHurting", false);
        isHurting = false;
        isSwimming = false;

    }

@renegadetokki
Try having a reference of your inventory script in your player script like:

public PlayerInventory inventory;

Put the gameobject with the inventory script in the inspector of the player.
Make sure you have a method in your inventory to look for an item if its there like:

public bool IsItemInInventory (Item itemToLookFor)
{
    bool foundItem = false;

    //loop through all items in inventory to see if its there with a 'for' or 'foreach' loop.
    //If it is then set foundItem to true and break the loop.

    //this will return true or false if the item you were looking for is there or     not.
    return foundItem;
}

In your if statement on your player:

if (other.gameObject.tag == “Water” && Inventory.IsItemInInventory(snorkel))
This shoudl return true if player is in the water and the snorkel is in players inventory.