horse_feathers component category hash is hardcoded -287556490, not joaat('horse_feathers')
Context
When mapping RDR3 component category names to hashes, jo_libs resolves every category via joaat(name) — except horse_feathers, which it overrides with the literal -287556490.
The code
local function getCategoryHash(category)
if category == "horse_feathers" then return -287556490 end
return joaat(category)
end
Trap
The engine's internal category hash for feathers does not equal the joaat of the string "horse_feathers". Any code that builds a category→hash map purely with joaat/GetHashFromString will silently mishandle feather components. This is the only known category requiring a hardcoded override.
Verified
component/g_shared.lua:11-15.
Tags: ped, horse, component, category, joaat, edge-case
Category: natives
Source: jo_libs-fleet
Created: 2026-05-31T09:43:43.178Z