Skip to main content

CachedAssetsManager

Index

Constructors

constructor

Properties

_cacheUpdater

_cacheUpdater: any

_githubCache

_githubCache: any

_isFetching

_isFetching: boolean

cacheDirectoryPath

cacheDirectoryPath: string

Path of directory where genshin cache data is stored

readonlydefaultCacheDirectoryPath

defaultCacheDirectoryPath: string

Default path of genshin cache data directory

readonlyenka

The client that instantiated this

gameDataBaseUrl

gameDataBaseUrl: string

Base URL for fetching game data

Methods

_downloadCacheZip

  • _downloadCacheZip(options?: { ghproxy?: boolean }): Promise<void>

_getExcelData

  • _getExcelData<T>(excel: T): SingleBy<{ AvatarCodexExcelConfigData: readonly [avatarId]; AvatarCostumeExcelConfigData: readonly [characterId, skinId]; AvatarCurveExcelConfigData: readonly [level]; AvatarExcelConfigData: readonly [id]; AvatarHeroEntityExcelConfigData: readonly [avatarId]; AvatarPromoteExcelConfigData: readonly [avatarPromoteId, readonly [promoteLevel, 0]]; AvatarSkillDepotExcelConfigData: readonly [id]; AvatarSkillExcelConfigData: readonly [id]; AvatarTalentExcelConfigData: readonly [talentId]; EquipAffixExcelConfigData: readonly [id, readonly [level, 0]]; FetterCharacterCardExcelConfigData: readonly [avatarId]; FetterInfoExcelConfigData: readonly [avatarId]; ManualTextMapConfigData: readonly [textMapId]; MaterialExcelConfigData: readonly [id]; ProfilePictureExcelConfigData: readonly [id]; ProudSkillExcelConfigData: readonly [proudSkillGroupId, level]; ReliquaryAffixExcelConfigData: readonly [id]; ReliquaryCodexExcelConfigData: readonly [suitId, level]; ReliquaryExcelConfigData: readonly [id]; ReliquaryLevelExcelConfigData: readonly [readonly [rank, 0], level]; ReliquarySetExcelConfigData: readonly [setId]; RewardExcelConfigData: readonly [rewardId]; RoleCombatDifficultyExcelConfigData: readonly [difficultyId]; TrialAvatarFetterDataConfigData: readonly [avatarId]; WeaponCodexExcelConfigData: readonly [weaponId]; WeaponCurveExcelConfigData: readonly [level]; WeaponExcelConfigData: readonly [id]; WeaponPromoteExcelConfigData: readonly [weaponPromoteId, readonly [promoteLevel, 0]] }[T]>
  • Type parameters

    • T: AvatarExcelConfigData | FetterInfoExcelConfigData | AvatarCostumeExcelConfigData | AvatarSkillDepotExcelConfigData | AvatarSkillExcelConfigData | ProudSkillExcelConfigData | AvatarTalentExcelConfigData | AvatarPromoteExcelConfigData | AvatarCurveExcelConfigData | AvatarCodexExcelConfigData | WeaponExcelConfigData | WeaponPromoteExcelConfigData | WeaponCurveExcelConfigData | WeaponCodexExcelConfigData | EquipAffixExcelConfigData | ReliquaryExcelConfigData | ReliquaryLevelExcelConfigData | ReliquaryAffixExcelConfigData | ReliquarySetExcelConfigData | ReliquaryCodexExcelConfigData | ManualTextMapConfigData | AvatarHeroEntityExcelConfigData | TrialAvatarFetterDataConfigData | MaterialExcelConfigData | FetterCharacterCardExcelConfigData | RewardExcelConfigData | ProfilePictureExcelConfigData | RoleCombatDifficultyExcelConfigData

    Parameters

    • excel: T

    Returns SingleBy<{ AvatarCodexExcelConfigData: readonly [avatarId]; AvatarCostumeExcelConfigData: readonly [characterId, skinId]; AvatarCurveExcelConfigData: readonly [level]; AvatarExcelConfigData: readonly [id]; AvatarHeroEntityExcelConfigData: readonly [avatarId]; AvatarPromoteExcelConfigData: readonly [avatarPromoteId, readonly [promoteLevel, 0]]; AvatarSkillDepotExcelConfigData: readonly [id]; AvatarSkillExcelConfigData: readonly [id]; AvatarTalentExcelConfigData: readonly [talentId]; EquipAffixExcelConfigData: readonly [id, readonly [level, 0]]; FetterCharacterCardExcelConfigData: readonly [avatarId]; FetterInfoExcelConfigData: readonly [avatarId]; ManualTextMapConfigData: readonly [textMapId]; MaterialExcelConfigData: readonly [id]; ProfilePictureExcelConfigData: readonly [id]; ProudSkillExcelConfigData: readonly [proudSkillGroupId, level]; ReliquaryAffixExcelConfigData: readonly [id]; ReliquaryCodexExcelConfigData: readonly [suitId, level]; ReliquaryExcelConfigData: readonly [id]; ReliquaryLevelExcelConfigData: readonly [readonly [rank, 0], level]; ReliquarySetExcelConfigData: readonly [setId]; RewardExcelConfigData: readonly [rewardId]; RoleCombatDifficultyExcelConfigData: readonly [difficultyId]; TrialAvatarFetterDataConfigData: readonly [avatarId]; WeaponCodexExcelConfigData: readonly [weaponId]; WeaponCurveExcelConfigData: readonly [level]; WeaponExcelConfigData: readonly [id]; WeaponPromoteExcelConfigData: readonly [weaponPromoteId, readonly [promoteLevel, 0]] }[T]>

_getExcelDataPath

  • _getExcelDataPath(excel: AvatarExcelConfigData | FetterInfoExcelConfigData | AvatarCostumeExcelConfigData | AvatarSkillDepotExcelConfigData | AvatarSkillExcelConfigData | ProudSkillExcelConfigData | AvatarTalentExcelConfigData | AvatarPromoteExcelConfigData | AvatarCurveExcelConfigData | AvatarCodexExcelConfigData | WeaponExcelConfigData | WeaponPromoteExcelConfigData | WeaponCurveExcelConfigData | WeaponCodexExcelConfigData | EquipAffixExcelConfigData | ReliquaryExcelConfigData | ReliquaryLevelExcelConfigData | ReliquaryAffixExcelConfigData | ReliquarySetExcelConfigData | ReliquaryCodexExcelConfigData | ManualTextMapConfigData | AvatarHeroEntityExcelConfigData | TrialAvatarFetterDataConfigData | MaterialExcelConfigData | FetterCharacterCardExcelConfigData | RewardExcelConfigData | ProfilePictureExcelConfigData | RoleCombatDifficultyExcelConfigData): string
  • Parameters

    • excel: AvatarExcelConfigData | FetterInfoExcelConfigData | AvatarCostumeExcelConfigData | AvatarSkillDepotExcelConfigData | AvatarSkillExcelConfigData | ProudSkillExcelConfigData | AvatarTalentExcelConfigData | AvatarPromoteExcelConfigData | AvatarCurveExcelConfigData | AvatarCodexExcelConfigData | WeaponExcelConfigData | WeaponPromoteExcelConfigData | WeaponCurveExcelConfigData | WeaponCodexExcelConfigData | EquipAffixExcelConfigData | ReliquaryExcelConfigData | ReliquaryLevelExcelConfigData | ReliquaryAffixExcelConfigData | ReliquarySetExcelConfigData | ReliquaryCodexExcelConfigData | ManualTextMapConfigData | AvatarHeroEntityExcelConfigData | TrialAvatarFetterDataConfigData | MaterialExcelConfigData | FetterCharacterCardExcelConfigData | RewardExcelConfigData | ProfilePictureExcelConfigData | RoleCombatDifficultyExcelConfigData

    Returns string

_validateCache

  • _validateCache(showLog?: boolean): boolean

  • Parameters

    • showLog: boolean = true

    Returns boolean

    whether the cache is valid or not

activateAutoCacheUpdater

cacheDirectorySetup

  • cacheDirectorySetup(): Promise<void>
  • Create the necessary folders and files, and if the directory cacheDirectoryPath did not exist, move the cache files from the default path.


    Returns Promise<void>

checkForUpdates

  • checkForUpdates(useRawGenshinData?: boolean): Promise<boolean>

  • Parameters

    Returns Promise<boolean>

    Whether the game data update is available or not.

deactivateAutoCacheUpdater

  • deactivateAutoCacheUpdater(): void

fetchAllContents

fetchLanguageData

  • fetchLanguageData(lang: id | chs | cht | de | en | es | fr | jp | kr | pt | ru | th | vi): Promise<Record<string, string>>
  • Obtains a text map for a specific language.


    Parameters

    • lang: id | chs | cht | de | en | es | fr | jp | kr | pt | ru | th | vi

    Returns Promise<Record<string, string>>

formatExcel

  • formatExcel<T>(excel: T, data: FlexJsonObject<JsonOptions, T>[]): SingleBy<{ AvatarCodexExcelConfigData: readonly [avatarId]; AvatarCostumeExcelConfigData: readonly [characterId, skinId]; AvatarCurveExcelConfigData: readonly [level]; AvatarExcelConfigData: readonly [id]; AvatarHeroEntityExcelConfigData: readonly [avatarId]; AvatarPromoteExcelConfigData: readonly [avatarPromoteId, readonly [promoteLevel, 0]]; AvatarSkillDepotExcelConfigData: readonly [id]; AvatarSkillExcelConfigData: readonly [id]; AvatarTalentExcelConfigData: readonly [talentId]; EquipAffixExcelConfigData: readonly [id, readonly [level, 0]]; FetterCharacterCardExcelConfigData: readonly [avatarId]; FetterInfoExcelConfigData: readonly [avatarId]; ManualTextMapConfigData: readonly [textMapId]; MaterialExcelConfigData: readonly [id]; ProfilePictureExcelConfigData: readonly [id]; ProudSkillExcelConfigData: readonly [proudSkillGroupId, level]; ReliquaryAffixExcelConfigData: readonly [id]; ReliquaryCodexExcelConfigData: readonly [suitId, level]; ReliquaryExcelConfigData: readonly [id]; ReliquaryLevelExcelConfigData: readonly [readonly [rank, 0], level]; ReliquarySetExcelConfigData: readonly [setId]; RewardExcelConfigData: readonly [rewardId]; RoleCombatDifficultyExcelConfigData: readonly [difficultyId]; TrialAvatarFetterDataConfigData: readonly [avatarId]; WeaponCodexExcelConfigData: readonly [weaponId]; WeaponCurveExcelConfigData: readonly [level]; WeaponExcelConfigData: readonly [id]; WeaponPromoteExcelConfigData: readonly [weaponPromoteId, readonly [promoteLevel, 0]] }[T]>
  • Type parameters

    • T: AvatarExcelConfigData | FetterInfoExcelConfigData | AvatarCostumeExcelConfigData | AvatarSkillDepotExcelConfigData | AvatarSkillExcelConfigData | ProudSkillExcelConfigData | AvatarTalentExcelConfigData | AvatarPromoteExcelConfigData | AvatarCurveExcelConfigData | AvatarCodexExcelConfigData | WeaponExcelConfigData | WeaponPromoteExcelConfigData | WeaponCurveExcelConfigData | WeaponCodexExcelConfigData | EquipAffixExcelConfigData | ReliquaryExcelConfigData | ReliquaryLevelExcelConfigData | ReliquaryAffixExcelConfigData | ReliquarySetExcelConfigData | ReliquaryCodexExcelConfigData | ManualTextMapConfigData | AvatarHeroEntityExcelConfigData | TrialAvatarFetterDataConfigData | MaterialExcelConfigData | FetterCharacterCardExcelConfigData | RewardExcelConfigData | ProfilePictureExcelConfigData | RoleCombatDifficultyExcelConfigData

    Parameters

    • excel: T
    • data: FlexJsonObject<JsonOptions, T>[]

    Returns SingleBy<{ AvatarCodexExcelConfigData: readonly [avatarId]; AvatarCostumeExcelConfigData: readonly [characterId, skinId]; AvatarCurveExcelConfigData: readonly [level]; AvatarExcelConfigData: readonly [id]; AvatarHeroEntityExcelConfigData: readonly [avatarId]; AvatarPromoteExcelConfigData: readonly [avatarPromoteId, readonly [promoteLevel, 0]]; AvatarSkillDepotExcelConfigData: readonly [id]; AvatarSkillExcelConfigData: readonly [id]; AvatarTalentExcelConfigData: readonly [talentId]; EquipAffixExcelConfigData: readonly [id, readonly [level, 0]]; FetterCharacterCardExcelConfigData: readonly [avatarId]; FetterInfoExcelConfigData: readonly [avatarId]; ManualTextMapConfigData: readonly [textMapId]; MaterialExcelConfigData: readonly [id]; ProfilePictureExcelConfigData: readonly [id]; ProudSkillExcelConfigData: readonly [proudSkillGroupId, level]; ReliquaryAffixExcelConfigData: readonly [id]; ReliquaryCodexExcelConfigData: readonly [suitId, level]; ReliquaryExcelConfigData: readonly [id]; ReliquaryLevelExcelConfigData: readonly [readonly [rank, 0], level]; ReliquarySetExcelConfigData: readonly [setId]; RewardExcelConfigData: readonly [rewardId]; RoleCombatDifficultyExcelConfigData: readonly [difficultyId]; TrialAvatarFetterDataConfigData: readonly [avatarId]; WeaponCodexExcelConfigData: readonly [weaponId]; WeaponCurveExcelConfigData: readonly [level]; WeaponExcelConfigData: readonly [id]; WeaponPromoteExcelConfigData: readonly [weaponPromoteId, readonly [promoteLevel, 0]] }[T]>

getExcelData

  • getExcelData<T, U>(excel: T, ...keys: U): IndexBy<SingleBy<{ AvatarCodexExcelConfigData: readonly [avatarId]; AvatarCostumeExcelConfigData: readonly [characterId, skinId]; AvatarCurveExcelConfigData: readonly [level]; AvatarExcelConfigData: readonly [id]; AvatarHeroEntityExcelConfigData: readonly [avatarId]; AvatarPromoteExcelConfigData: readonly [avatarPromoteId, readonly [promoteLevel, 0]]; AvatarSkillDepotExcelConfigData: readonly [id]; AvatarSkillExcelConfigData: readonly [id]; AvatarTalentExcelConfigData: readonly [talentId]; EquipAffixExcelConfigData: readonly [id, readonly [level, 0]]; FetterCharacterCardExcelConfigData: readonly [avatarId]; FetterInfoExcelConfigData: readonly [avatarId]; ManualTextMapConfigData: readonly [textMapId]; MaterialExcelConfigData: readonly [id]; ProfilePictureExcelConfigData: readonly [id]; ProudSkillExcelConfigData: readonly [proudSkillGroupId, level]; ReliquaryAffixExcelConfigData: readonly [id]; ReliquaryCodexExcelConfigData: readonly [suitId, level]; ReliquaryExcelConfigData: readonly [id]; ReliquaryLevelExcelConfigData: readonly [readonly [rank, 0], level]; ReliquarySetExcelConfigData: readonly [setId]; RewardExcelConfigData: readonly [rewardId]; RoleCombatDifficultyExcelConfigData: readonly [difficultyId]; TrialAvatarFetterDataConfigData: readonly [avatarId]; WeaponCodexExcelConfigData: readonly [weaponId]; WeaponCurveExcelConfigData: readonly [level]; WeaponExcelConfigData: readonly [id]; WeaponPromoteExcelConfigData: readonly [weaponPromoteId, readonly [promoteLevel, 0]] }[T]>, U>
  • Type parameters

    • T: AvatarExcelConfigData | FetterInfoExcelConfigData | AvatarCostumeExcelConfigData | AvatarSkillDepotExcelConfigData | AvatarSkillExcelConfigData | ProudSkillExcelConfigData | AvatarTalentExcelConfigData | AvatarPromoteExcelConfigData | AvatarCurveExcelConfigData | AvatarCodexExcelConfigData | WeaponExcelConfigData | WeaponPromoteExcelConfigData | WeaponCurveExcelConfigData | WeaponCodexExcelConfigData | EquipAffixExcelConfigData | ReliquaryExcelConfigData | ReliquaryLevelExcelConfigData | ReliquaryAffixExcelConfigData | ReliquarySetExcelConfigData | ReliquaryCodexExcelConfigData | ManualTextMapConfigData | AvatarHeroEntityExcelConfigData | TrialAvatarFetterDataConfigData | MaterialExcelConfigData | FetterCharacterCardExcelConfigData | RewardExcelConfigData | ProfilePictureExcelConfigData | RoleCombatDifficultyExcelConfigData
    • U: (string | number)[]

    Parameters

    • excel: T
    • rest...keys: U

    Returns IndexBy<SingleBy<{ AvatarCodexExcelConfigData: readonly [avatarId]; AvatarCostumeExcelConfigData: readonly [characterId, skinId]; AvatarCurveExcelConfigData: readonly [level]; AvatarExcelConfigData: readonly [id]; AvatarHeroEntityExcelConfigData: readonly [avatarId]; AvatarPromoteExcelConfigData: readonly [avatarPromoteId, readonly [promoteLevel, 0]]; AvatarSkillDepotExcelConfigData: readonly [id]; AvatarSkillExcelConfigData: readonly [id]; AvatarTalentExcelConfigData: readonly [talentId]; EquipAffixExcelConfigData: readonly [id, readonly [level, 0]]; FetterCharacterCardExcelConfigData: readonly [avatarId]; FetterInfoExcelConfigData: readonly [avatarId]; ManualTextMapConfigData: readonly [textMapId]; MaterialExcelConfigData: readonly [id]; ProfilePictureExcelConfigData: readonly [id]; ProudSkillExcelConfigData: readonly [proudSkillGroupId, level]; ReliquaryAffixExcelConfigData: readonly [id]; ReliquaryCodexExcelConfigData: readonly [suitId, level]; ReliquaryExcelConfigData: readonly [id]; ReliquaryLevelExcelConfigData: readonly [readonly [rank, 0], level]; ReliquarySetExcelConfigData: readonly [setId]; RewardExcelConfigData: readonly [rewardId]; RoleCombatDifficultyExcelConfigData: readonly [difficultyId]; TrialAvatarFetterDataConfigData: readonly [avatarId]; WeaponCodexExcelConfigData: readonly [weaponId]; WeaponCurveExcelConfigData: readonly [level]; WeaponExcelConfigData: readonly [id]; WeaponPromoteExcelConfigData: readonly [weaponPromoteId, readonly [promoteLevel, 0]] }[T]>, U>

getJSONDataPath

  • getJSONDataPath(name: string): string

  • Parameters

    • name: string

      without extensions (.json)

    Returns string

    excel bin file path

getLanguageData

  • getLanguageData(lang: id | chs | cht | de | en | es | fr | jp | kr | pt | ru | th | vi, directory?: string): JsonObject<string>

  • Parameters

    • lang: id | chs | cht | de | en | es | fr | jp | kr | pt | ru | th | vi
    • optionaldirectory: string

    Returns JsonObject<string>

    text map for a specific language

getLanguageDataPath

  • getLanguageDataPath(lang: id | chs | cht | de | en | es | fr | jp | kr | pt | ru | th | vi, directory?: string): string

  • Parameters

    • lang: id | chs | cht | de | en | es | fr | jp | kr | pt | ru | th | vi
    • optionaldirectory: string

    Returns string

    text map file path for a specific language

getObjectKeysManager

hasAllContents

  • hasAllContents(): boolean

  • Returns boolean

    whether all genshin cache data files exist.

refreshAllData

  • refreshAllData(reload?: boolean): void
  • Clean memory of cache data. Then reload data that was loaded before the clean if reload is true. If reload is false, load each file as needed.


    Parameters

    • reload: boolean = false

    Returns void

removeUnusedTextData

updateContents


  • Parameters

    Returns Promise<void>

    true if there were any updates, false if there were no updates.