> ## 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.

# Brewing Job hooks

> Every hook exposed by apex-brewing-job/hooks.lua.

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

## Client hooks

<AccordionGroup>
  <Accordion title="Hooks.ShowHelpPrompt(key, text)" icon="comment">
    Default uses `lib.showTextUI`. Replace with your own help-notify resource.
  </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` is one of `success | error | inform | warning`.
  </Accordion>

  <Accordion title="Hooks.OnWorkVehicleSpawned(vehicle)" icon="truck">
    Default `SetVehicleFuelLevel(vehicle, 100.0)`. Wire fuel and vehiclekeys here.

    ```lua theme={null}
    function Hooks.OnWorkVehicleSpawned(vehicle)
        exports['lc_fuel']:SetFuel(vehicle, 100.0)
        TriggerEvent('vehiclekeys:client:SetOwner', GetVehicleNumberPlateText(vehicle))
    end
    ```
  </Accordion>
</AccordionGroup>

## Server hooks

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

  <Accordion title="Hooks.OnQuestProgress(source, questId, count)" icon="trophy">
    Called after a successful beer extraction. Wire into your quest system.
  </Accordion>

  <Accordion title="Hooks.OnDeliveryCompleted(source, payout)" icon="truck-fast">
    Called after a successful delivery payout for career stats.
  </Accordion>

  <Accordion title="Hooks.CanCarryItem(xPlayer, item, count)" icon="box-archive">
    Default delegates to `xPlayer.canCarryItem`.
  </Accordion>

  <Accordion title="Hooks.AddInventoryItem(xPlayer, item, count)" icon="box-archive">
    Default delegates to `xPlayer.addInventoryItem`.
  </Accordion>

  <Accordion title="Hooks.RemoveInventoryItem(xPlayer, item, count)" icon="box-archive">
    Default delegates to `xPlayer.removeInventoryItem`.
  </Accordion>

  <Accordion title="Hooks.GetInventoryItem(xPlayer, item)" icon="box-archive">
    Default delegates to `xPlayer.getInventoryItem`.
  </Accordion>
</AccordionGroup>
