Skip to content

Module Reference

Chronic Tinkerer edited this page May 6, 2026 · 1 revision

Module Reference

LibCodex ships 73 modules total, split into two tiers. Each module is a separate LoadOnDemand sibling addon (LibCodex-1.0-<ModuleName>) so consumers only pay memory for what they actually query.

For the API exposed by every module, see API Reference: Collection API.

Tier 1: Enums (11 modules)

Small, stable, hand-curated reference data. These rarely change between patches.

Module Accessor What it covers
Classes LC:Classes() Player classes (Warrior, Paladin, ...)
Races LC:Races() Player races, including allied races
Factions LC:Factions() Reputation factions (also returned by deprecated :Reputations())
Realms LC:Realms() Realm metadata, region affiliation
Specs LC:Specs() Class specializations
Stats LC:Stats() Player stats (Strength, Agility, ...)
CreatureTypes LC:CreatureTypes() Beast / Demon / Humanoid / etc.
Difficulty LC:Difficulty() Dungeon and raid difficulty IDs
Regions LC:Regions() Server regions (US, EU, KR, ...)
Languages LC:Languages() In-game languages
ChatChannels LC:ChatChannels() Built-in chat channel IDs

Tier 2: Catalogs (62 modules)

Larger, more volatile data. Most catalog modules ship with thousands or hundreds of thousands of rows in their bundled Data/<Module>.lua and grow over time via runtime adapters.

Creatures and game objects

Module Accessor Notes
NPCs LC:NPCs() Creatures: id, label, zone, faction, level range, classification
GameObjects LC:GameObjects() Doodads, herb nodes, mining nodes, lockboxes, etc.
Pets LC:Pets() Battle pet species
Mounts LC:Mounts() Mount catalog
Toys LC:Toys() Toy box items

Items and equipment

Module Accessor Notes
Items LC:Items() Item catalog: id, label, quality, ilvl, expansion
Heirlooms LC:Heirlooms() Heirloom-specific metadata
ItemSets LC:ItemSets() Set-bonus groupings
ItemAppearances LC:ItemAppearances() Transmog source appearances
ItemModifiedAppearances LC:ItemModifiedAppearances() Visual variants
ItemBonuses LC:ItemBonuses() Bonus IDs (titanforged, socketed, etc.)
ItemEffects LC:ItemEffects() Item proc effects
Enchants LC:Enchants() Enchant IDs and labels
TransmogSets LC:TransmogSets() Transmog set groupings
TransmogIllusions LC:TransmogIllusions() Weapon illusions

Spells, talents, glyphs

Module Accessor Notes
Spells LC:Spells() Full spell catalog (largest module)
Talents LC:Talents() Talent tree nodes
PvpTalents LC:PvpTalents() PvP talents
Glyphs LC:Glyphs() Glyph catalog
BattlePetAbilities LC:BattlePetAbilities() Pet battle moves
SpellChargeCategories LC:SpellChargeCategories() Charge cooldown groupings
SpellMechanics LC:SpellMechanics() Stun, root, fear, etc.
SpellCooldowns LC:SpellCooldowns() Cooldown metadata
SpellCastTimes LC:SpellCastTimes() Cast time tiers
SpellPower LC:SpellPower() Resource costs
SpellRanges LC:SpellRanges() Range categories
SpellDurations LC:SpellDurations() Duration tiers

Quests and progression

Module Accessor Notes
Quests LC:Quests() Quest catalog: id, label, level, faction, zone
QuestPOI LC:QuestPOI() Quest map points-of-interest
Achievements LC:Achievements() Achievement catalog
AchievementCategories LC:AchievementCategories() Achievement category tree

Zones and maps

Module Accessor Notes
Zones LC:Zones() Zone catalog
Maps LC:Maps() Map UI IDs
MapDifficulties LC:MapDifficulties() Per-map difficulty applicability
Areas LC:Areas() Sub-zone areas
AreaPOI LC:AreaPOI() Area points-of-interest
AreaTriggers LC:AreaTriggers() Trigger volumes
WMOAreaTables LC:WMOAreaTables() Building/dungeon interior areas
FlightPoints LC:FlightPoints() Flight master locations
TaxiPaths LC:TaxiPaths() Flight path edges
Vignettes LC:Vignettes() World vignette markers

Encounters and group content

Module Accessor Notes
Encounters LC:Encounters() Boss encounters
EncounterCreatures LC:EncounterCreatures() Creatures-per-encounter mapping
EncounterSections LC:EncounterSections() Encounter Journal sections
DungeonEncounters LC:DungeonEncounters() Dungeon-specific encounter metadata
LFGDungeons LC:LFGDungeons() Dungeon Finder entries
Battlemasters LC:Battlemasters() PvP battlemasters and queue types
Scenarios LC:Scenarios() Scenario catalog
GroupFinder LC:GroupFinder() Group Finder activity IDs

Crafting and professions

Module Accessor Notes
Professions LC:Professions() Primary and secondary professions
Crafts LC:Crafts() Recipe catalog
TradeSkillCategories LC:TradeSkillCategories() Recipe category tree
SkillRaceClass LC:SkillRaceClass() Skill availability per race/class

Currencies and reputations

Module Accessor Notes
Currencies LC:Currencies() Currency catalog
FriendshipReputations LC:FriendshipReputations() Friendship-style rep tracks

Customization

Module Accessor Notes
CustomizationOptions LC:CustomizationOptions() Character creator option IDs
CustomizationChoices LC:CustomizationChoices() Choices within each option

World content and presentation

Module Accessor Notes
Holidays LC:Holidays() World holiday metadata
PlayerConditions LC:PlayerConditions() Conditional gates (PLAYER_CONDITION IDs)
GossipOptions LC:GossipOptions() NPC gossip options
Movies LC:Movies() In-game movie file IDs
Cinematics LC:Cinematics() Cinematic sequence IDs

Naming convention

The accessor name on the library object always matches the module's registered name exactly, character for character. The LoD sibling addon name is LibCodex-1.0-<ModuleName> with the same casing. The bundled data file is Data/<ModuleName>.lua inside the LoD addon's directory.

If a module's accessor doesn't appear above, it's not registered. New modules are added to the typed-accessor block in LibCodex-1.0.lua and should be listed here in the next wiki pass.

Clone this wiki locally