~/forever/addon-api
Addon API
C_ClassTalents.GetNextStarterBuildPurchase() : nodeID, entryIDC_ClassTalents.GetStarterBuildActive() : isActiveC_ClassTalents.GetTraitTreeForSpec(specID) : treeIDC_ClassTalents.HasUnspentHeroTalentPoints() : hasUnspentPoints, numHeroPointsC_ClassTalents.HasUnspentTalentPoints() : hasUnspentPoints, numClassPoints, numSpecPointsC_ClassTalents.ImportLoadout(configID, entries, name, importString?) : success, importErrorC_ClassTalents.InitializeViewLoadout(specID, level)C_ClassTalents.IsConfigPopulated(configID) : isPopulatedC_ClassTalents.LoadConfig(configID, autoApply) : result, changeError, newLearnedNodeIDsC_ClassTalents.RenameConfig(configID, name) : successC_ClassTalents.RequestNewConfig(name) : successC_ClassTalents.SaveConfig(configID) : successC_ClassTalents.SetStarterBuildActive(active) : resultC_ClassTalents.SetUsesSharedActionBars(configID, usesShared)C_ClassTalents.SwitchToLoadoutByIndex(loadoutIndex)C_ClassTalents.SwitchToLoadoutByName(loadoutName)C_ClassTalents.SwitchToSpecializationByIndex(specIndex)C_ClassTalents.SwitchToSpecializationByName(specName)C_ClassTalents.UpdateLastSelectedSavedConfigID(specID, configID?)C_ClassTalents.ViewLoadout(entries, importString?) : successC_ClickBindings.CanSpellBeClickBound(spellID) : canBeBoundC_ClickBindings.ExecuteBinding(targetToken, button, modifiers)C_ClickBindings.GetBindingType(button, modifiers) : typeC_ClickBindings.GetEffectiveInteractionButton(button, modifiers) : effectiveButtonC_ClickBindings.GetProfileInfo() : infoVecC_ClickBindings.GetTutorialShown() : tutorialShownC_ClickBindings.ResetCurrentProfile()C_ClickBindings.SetProfileByInfo(infoVec)C_ClickBindings.SetTutorialShown()C_ClientScene.IsSceneTypeActive(desiredSceneType?) : isPlayingC_Club.AcceptInvitation(clubId)C_Club.AddClubStreamChatChannel(clubId, streamId)C_Club.AdvanceStreamViewMarker(clubId, streamId)C_Club.AreMembersReady(clubId) : membersReadyC_Club.AssignMemberRole(clubId, memberId, roleId)C_Club.CanResolvePlayerLocationFromClubMessageData(clubId, streamId, epoch, position) : canResolveC_Club.ClearAutoAdvanceStreamViewMarker()C_Club.ClearClubPresenceSubscription()C_Club.CompareBattleNetDisplayName(clubId, lhsMemberId, rhsMemberId) : comparisonC_Club.CreateClub(name, shortName?, description, clubType, avatarId, isCrossFaction?)C_Club.CreateStream(clubId, name, subject, leadersAndModeratorsOnly)C_Club.CreateTicket(clubId, allowedRedeemCount?, duration?, defaultStreamId?, isCrossFaction?)C_Club.DeclineInvitation(clubId)C_Club.DestroyClub(clubId)C_Club.DestroyMessage(clubId, streamId, messageId)C_Club.DestroyStream(clubId, streamId)C_Club.DestroyTicket(clubId, ticketId)C_Club.DoesAnyCommunityHaveUnreadMessages() : hasUnreadMessagesC_Club.DoesCommunityHaveMembersOfTheOppositeFaction(clubId) : hasMembersOfOppositeFactionC_Club.EditClub(clubId, name?, shortName?, description?, avatarId?, broadcast?, crossFaction?)Documented entries come from Blizzard's in-client API documentation, and UI code functions from its Lua files, mirrored per build. C functions that neither mentions aren't included, and UI code functions can be internal.