Knowledge from the fieldRedM

horse_feathers component category hash is hardcoded -287556490, not joaat('horse_feathers')

learning:74

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

Back to documentation