Previously, when cancelling a PlayerFishEvent with State.FISHING, the next
fishing attempt would automatically result in a new PlayerFishEvent with
State.FAILED_ATTEMPT because the player's hooked entity was not properly
cleared. This ensures that the player's hooked entity value is set to null so
that the next attempt will result in the proper state being called.