> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apex-services.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Fishing hooks

> Every hook exposed by apex-fishing/hooks.lua.

Source: `apex-fishing/hooks.lua` (unencrypted).

## Client hooks

<AccordionGroup>
  <Accordion title="Hooks.ShowHelpPrompt(key, text)" icon="comment">
    Default `lib.showTextUI`.
  </Accordion>

  <Accordion title="Hooks.HideHelpPrompt(key)" icon="comment-slash">
    Default `lib.hideTextUI`.
  </Accordion>

  <Accordion title="Hooks.ClientAlert(title, message, duration, alertType)" icon="bell">
    Default `lib.notify`. `alertType` ∈ `success | error | info | warning`.
  </Accordion>

  <Accordion title="Hooks.IsPlayerCarryingOrBeingCarried()" icon="people-carry-box">
    Return true to suppress fishing. Wire into your carry/kidnap resource.
  </Accordion>

  <Accordion title="Hooks.OpenFishmarket()" icon="fish">
    Default `TriggerEvent('apex-fishing:openFishmarket')`. Wire into your sell UI.
  </Accordion>
</AccordionGroup>

## Server hooks

<AccordionGroup>
  <Accordion title="Hooks.GetPlayerLevel(source)" icon="chart-line">
    Default returns `1`. Wire into your progression / fishmarket level system.
  </Accordion>

  <Accordion title="Hooks.HasFishingBoost(xPlayer)" icon="bolt">
    Default delegates to `xPlayer.hasFishingBoost()` if present, otherwise `false`.
  </Accordion>

  <Accordion title="Hooks.AddFishingBoost(xPlayer, durationSeconds)" icon="bolt">
    Default delegates to `xPlayer.addFishingBoost(durationSeconds)`.
  </Accordion>

  <Accordion title="Hooks.GetFishingBoostLeftInSeconds(xPlayer)" icon="hourglass">
    Default delegates to `xPlayer.getFishingBoostLeftInSeconds()`.
  </Accordion>

  <Accordion title="Hooks.BanPlayer(source, reason)" icon="ban">
    Default prints a warning. Wire into your anti-cheat.
  </Accordion>

  <Accordion title="Hooks.OnCatch(source, fishItem, fishCount, isIllegal)" icon="trophy">
    Called after a successful catch. Wire into your quest / progression system.
  </Accordion>

  <Accordion title="Hooks.IsPlayerOnline(source)" icon="user-check">
    Default `GetPlayerName(source) ~= nil`.
  </Accordion>

  <Accordion title="Hooks.CanCarryItem / AddInventoryItem / RemoveInventoryItem / HasItem" icon="box-archive">
    ox\_inventory bridge — defaults delegate to `xPlayer` methods.
  </Accordion>
</AccordionGroup>
