BenzyFishing — Events
Server-side observer events you can listen to with AddEventHandler. They are fire-and-forget notifications — BenzyFishing does not read anything back from them.
BenzyFishing:FishCaught (server)
Fired every time a player lands a fish (including junk). The webhook logger listens to this.
AddEventHandler('BenzyFishing:FishCaught', function(data)
-- data = {
-- src, -- player server id
-- name, -- player name
-- species, -- stable id, e.g. 'tuna'
-- label, -- pretty name, e.g. 'Bluefin Tuna'
-- tier, -- 'junk' | 'common' | 'uncommon' | 'rare' | 'legendary'
-- weightLb, -- rolled weight in pounds
-- value, -- sell value per fish
-- }
end)
BenzyFishing:FishSold (server)
Fired when a player sells their catch.
AddEventHandler('BenzyFishing:FishSold', function(data)
-- data = { src, name, count, amount }
end)
BenzyFishing:ChallengeComplete (server)
Fired when a player finishes a daily or weekly challenge (only when Config.Challenges.Enabled).
AddEventHandler('BenzyFishing:ChallengeComplete', function(data)
-- data = {
-- src, -- player server id
-- name, -- player name
-- license, -- their license identifier
-- period, -- 'daily' | 'weekly'
-- periodKey, -- the day or week it was for, e.g. '2026-08-06' / '2026-W31'
-- goals, -- { { species, label, need }, ... }
-- reward, -- what Config.Challenges.Reward actually paid (0 if none, or if no money system)
-- totalCompleted, -- how many challenges they have completed in total
-- }
end)
BenzyFishing:Ready (server)
Fired once, after the storage backend has started and is ready for reads/writes.
AddEventHandler('BenzyFishing:Ready', function() end)
Note on internal events
The client ↔ server events that drive fishing are internal plumbing. They are validated server-side and are not part of the public API — don't rely on them from other resources. Use the exports and the observer events above instead.