Files
SessionGoldTracker/docs/blizzard-api/Blizzard_APIDocumentationGenerated/HousingCatalogUIDocumentation.lua
T
2026-10-15 14:27:00 +11:00

650 lines
21 KiB
Lua

local HousingCatalogUI =
{
Name = "HousingCatalogUI",
Type = "System",
Namespace = "C_HousingCatalog",
Environment = "All",
Functions =
{
{
Name = "CreateCatalogSearcher",
Type = "Function",
Documentation = { "Creates a new instance of a HousingCatalog searcher; This can be used to asynchronously search/filter the HousingCatalog without affecting/being restricted by the filter state of other Housing Catalog UI displays" },
Returns =
{
{ Name = "searcher", Type = "HousingCatalogSearcher", Nilable = false },
},
},
{
Name = "DeletePreviewCartDecor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "DestroyEntry",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Attempt to delete the entry from storage" },
Arguments =
{
{ Name = "entryVariantID", Type = "HousingCatalogEntryVariantID", Nilable = false },
{ Name = "destroyAll", Type = "bool", Nilable = false, Documentation = { "If true, deletes all entries within the stack; If false, will only delete one" } },
},
},
{
Name = "GetAllFilterTagGroups",
Type = "Function",
Returns =
{
{ Name = "filterTagGroups", Type = "table", InnerType = "HousingCatalogFilterTagGroupInfo", Nilable = false },
},
},
{
Name = "GetAllVariantInfosForEntry",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns variant info for all variants of a given catalog entry; Variants represent different visual modifications of the same base entry (ex: dyed versions)" },
Arguments =
{
{ Name = "entryID", Type = "HousingCatalogEntryID", Nilable = false },
},
Returns =
{
{ Name = "variantInfos", Type = "table", InnerType = "HousingCatalogEntryVariantInfo", Nilable = false },
},
},
{
Name = "GetBundleInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "bundleCatalogShopProductID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "bundleInfo", Type = "HousingBundleInfo", Nilable = true },
},
},
{
Name = "GetCartSizeLimit",
Type = "Function",
Returns =
{
{ Name = "cartSizeLimit", Type = "number", Nilable = false },
},
},
{
Name = "GetCatalogCategoryAndSubcategoryNames",
Type = "Function",
MayReturnNothing = true,
SecretArguments = "AllowedWhenUntainted",
Documentation = { "If found, returns the names of the parent category and the specified subcategory" },
Arguments =
{
{ Name = "subcategoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "categoryName", Type = "string", Nilable = false },
{ Name = "subcategoryName", Type = "string", Nilable = false },
},
},
{
Name = "GetCatalogCategoryInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "HousingCatalogCategoryInfo", Nilable = true },
},
},
{
Name = "GetCatalogEntryInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "entryID", Type = "HousingCatalogEntryID", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "HousingCatalogEntryInfo", Nilable = true },
},
},
{
Name = "GetCatalogEntryInfoByItem",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "itemInfo", Type = "ItemInfo", Nilable = false, Documentation = { "ItemID, name, or link of an item that grants/corresponds to a particular type of housing catalog object (ex: decor)" } },
},
Returns =
{
{ Name = "info", Type = "HousingCatalogEntryInfo", Nilable = true },
},
},
{
Name = "GetCatalogEntryInfoByRecordID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "entryType", Type = "HousingCatalogEntryType", Nilable = false },
{ Name = "recordID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "HousingCatalogEntryInfo", Nilable = true },
},
},
{
Name = "GetCatalogEntryRefundTimeStampByRecordID",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "entryType", Type = "HousingCatalogEntryType", Nilable = false },
{ Name = "recordID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "refundTimeStamp", Type = "time_t", Nilable = true },
},
},
{
Name = "GetCatalogEntryVariantInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "entryVariantID", Type = "HousingCatalogEntryVariantID", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "HousingCatalogEntryVariantInfo", Nilable = true },
},
},
{
Name = "GetCatalogSubcategoryInfo",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "subcategoryID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "info", Type = "HousingCatalogSubcategoryInfo", Nilable = true },
},
},
{
Name = "GetDecorMaxOwnedCount",
Type = "Function",
Documentation = { "Returns the maximum total number of decor that can be in storage/in the house chest; Note that not all decor entries in storage count towards this limit (see GetDecorTotalOwnedCount)" },
Returns =
{
{ Name = "maxOwnedCount", Type = "number", Nilable = false },
},
},
{
Name = "GetDecorTotalOwnedCount",
Type = "Function",
Returns =
{
{ Name = "totalOwnedCount", Type = "number", Nilable = false, Documentation = { "The total number of owned decor in storage, including both exempt and non-exempt decor" } },
{ Name = "exemptDecorCount", Type = "number", Nilable = false, Documentation = { "The number of decor that do not count against the max storage limit" } },
},
},
{
Name = "GetDestroyableInstanceCount",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns the number of instances that can be to be destroyed in storage; These instances count towards the max storage limit" },
Arguments =
{
{ Name = "entryVariantID", Type = "HousingCatalogEntryVariantID", Nilable = false },
},
Returns =
{
{ Name = "destroyableInstanceCount", Type = "number", Nilable = false },
},
},
{
Name = "GetFeaturedBundles",
Type = "Function",
Returns =
{
{ Name = "bundleInfos", Type = "table", InnerType = "HousingBundleInfo", Nilable = false },
},
},
{
Name = "GetFeaturedSmallProducts",
Type = "Function",
Returns =
{
{ Name = "infos", Type = "table", InnerType = "HousingFeaturedSmallProductInfo", Nilable = false },
},
},
{
Name = "GetMarketInfoForDecor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Documentation = { "Returns market info for a specific decor. This is decor-only for now but should be extended to support entry type and recordID generically" },
Arguments =
{
{ Name = "decorID", Type = "number", Nilable = false },
},
Returns =
{
{ Name = "marketInfo", Type = "HousingMarketInfo", Nilable = true },
},
},
{
Name = "HasFeaturedEntries",
Type = "Function",
Returns =
{
{ Name = "hasEntries", Type = "bool", Nilable = false },
},
},
{
Name = "HousingMarketActionAddToCart",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
{ Name = "withPreview", Type = "bool", Nilable = false },
},
},
{
Name = "HousingMarketActionClearCart",
Type = "Function",
HasRestrictions = true,
},
{
Name = "HousingMarketActionRemoveFromCart",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "HousingMarketActionViewBundle",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "HousingMarketActionViewInStore",
Type = "Function",
HasRestrictions = true,
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "productID", Type = "number", Nilable = false },
},
},
{
Name = "IsPreviewCartItemShown",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "isShown", Type = "bool", Nilable = false },
},
},
{
Name = "PromotePreviewDecor",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "decorID", Type = "number", Nilable = false },
{ Name = "previewDecorGUID", Type = "WOWGUID", Nilable = false },
},
Returns =
{
{ Name = "success", Type = "bool", Nilable = false },
},
},
{
Name = "RequestHousingMarketInfoRefresh",
Type = "Function",
},
{
Name = "RequestHousingMarketRefundInfo",
Type = "Function",
},
{
Name = "SearchCatalogCategories",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "searchParams", Type = "HousingCategorySearchInfo", Nilable = false },
},
Returns =
{
{ Name = "categoryIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "SearchCatalogSubcategories",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "searchParams", Type = "HousingCategorySearchInfo", Nilable = false },
},
Returns =
{
{ Name = "subcategoryIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "SetPreviewCartItemShown",
Type = "Function",
SecretArguments = "AllowedWhenUntainted",
Arguments =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
{ Name = "shown", Type = "bool", Nilable = false },
},
},
},
Events =
{
{
Name = "HousingCatalogCategoryUpdated",
Type = "Event",
LiteralName = "HOUSING_CATALOG_CATEGORY_UPDATED",
UniqueEvent = true,
Payload =
{
{ Name = "categoryID", Type = "number", Nilable = false },
},
},
{
Name = "HousingCatalogSubcategoryUpdated",
Type = "Event",
LiteralName = "HOUSING_CATALOG_SUBCATEGORY_UPDATED",
UniqueEvent = true,
Payload =
{
{ Name = "subcategoryID", Type = "number", Nilable = false },
},
},
{
Name = "HousingDecorAddToPreviewList",
Type = "Event",
LiteralName = "HOUSING_DECOR_ADD_TO_PREVIEW_LIST",
SynchronousEvent = true,
Payload =
{
{ Name = "previewItemData", Type = "HousingPreviewItemData", Nilable = false },
},
},
{
Name = "HousingDecorPreviewListRemoveFromWorld",
Type = "Event",
LiteralName = "HOUSING_DECOR_PREVIEW_LIST_REMOVE_FROM_WORLD",
SynchronousEvent = true,
Payload =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = false },
},
},
{
Name = "HousingDecorPreviewListUpdated",
Type = "Event",
LiteralName = "HOUSING_DECOR_PREVIEW_LIST_UPDATED",
SynchronousEvent = true,
},
{
Name = "HousingRefundListUpdated",
Type = "Event",
LiteralName = "HOUSING_REFUND_LIST_UPDATED",
SynchronousEvent = true,
},
{
Name = "HousingStorageEntryUpdated",
Type = "Event",
LiteralName = "HOUSING_STORAGE_ENTRY_UPDATED",
UniqueEvent = true,
Payload =
{
{ Name = "entryVariantID", Type = "HousingCatalogEntryVariantID", Nilable = false },
},
},
{
Name = "HousingStorageUpdated",
Type = "Event",
LiteralName = "HOUSING_STORAGE_UPDATED",
UniqueEvent = true,
},
},
Tables =
{
{
Name = "HousingBundleDecorEntryInfo",
Type = "Structure",
Fields =
{
{ Name = "decorID", Type = "number", Nilable = false },
{ Name = "quantity", Type = "number", Nilable = false },
},
},
{
Name = "HousingBundleInfo",
Type = "Structure",
Fields =
{
{ Name = "productID", Type = "number", Nilable = false },
{ Name = "price", Type = "number", Nilable = false },
{ Name = "originalPrice", Type = "number", Nilable = true },
{ Name = "nonDecorProducts", Type = "table", InnerType = "number", Nilable = false },
{ Name = "decorEntries", Type = "table", InnerType = "HousingBundleDecorEntryInfo", Nilable = false },
{ Name = "canPreview", Type = "bool", Nilable = false, Default = true, Documentation = { "Bundles containing non-decor items cannot be previewed" } },
},
},
{
Name = "HousingCatalogCategoryInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "orderIndex", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = true },
{ Name = "icon", Type = "textureAtlas", Nilable = true },
{ Name = "subcategoryIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "anyStoredEntries", Type = "bool", Nilable = false, Documentation = { "True if the player owns anything that falls under this category" } },
},
},
{
Name = "HousingCatalogEntryInfo",
Type = "Structure",
Documentation = { "Base information about an object in the Catalog; For info for a specific owned stack of this object, see HousingCatalogEntryVariantInfo" },
Fields =
{
{ Name = "recordID", Type = "number", Nilable = false },
{ Name = "entryType", Type = "HousingCatalogEntryType", Nilable = false },
{ Name = "itemID", Type = "number", Nilable = true },
{ Name = "name", Type = "cstring", Nilable = false },
{ Name = "asset", Type = "ModelAsset", Nilable = true, Documentation = { "3D model asset for displaying in the UI; May be nil if the entry doesn't have a model, or has one that isn't supported by UI model scenes" } },
{ Name = "iconTexture", Type = "FileAsset", Nilable = true, Documentation = { "Entry icon in the form of a texture file; Catalog entries should have either this OR an iconAtlas set" } },
{ Name = "iconAtlas", Type = "textureAtlas", Nilable = true, Documentation = { "Entry icon in the form a texture atlas element; Catalog entries should have either this OR an iconTexture set" } },
{ Name = "uiModelSceneID", Type = "number", Nilable = true, Documentation = { "Specific UI model scene ID to use when previewing this entry's 3D model; If not set, the default catalog model scene is used" } },
{ Name = "categoryIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "subcategoryIDs", Type = "table", InnerType = "number", Nilable = false },
{ Name = "dataTagsByID", Type = "LuaValueVariant", Nilable = false, Documentation = { "Simple localized 'tag' strings that are primarily used for things like categorization and filtering" } },
{ Name = "size", Type = "HousingCatalogEntrySize", Nilable = false },
{ Name = "placementCost", Type = "number", Nilable = false, Documentation = { "How much of the applicable budget placing this entry would cost (if any)" } },
{ Name = "totalNumStored", Type = "number", Nilable = false, Documentation = { "The total number of instances of this entry that exist in storage across all variants; Does not include unredeemed instances (see remainingRedeemable)" } },
{ Name = "remainingRedeemable", Type = "number", Nilable = false, Documentation = { "The number of unredeemed instances of this entry that exist in storage; Some auto-awarded housing objects are granted in this 'lazily-instantiated' way, and will be 'redeemed' on first being placed" } },
{ Name = "totalNumPlaced", Type = "number", Nilable = false, Documentation = { "The total number of instances of this entry that have been placed across all of the player's houses and plots, across all variants" } },
{ Name = "destroyableInstanceCount", Type = "number", Nilable = false, Documentation = { "The number of instances that can be destroyed for this entry." } },
{ Name = "isUniqueTrophy", Type = "bool", Nilable = false, Documentation = { "This decor is flagged to display as a unique trophy item." } },
{ Name = "isAllowedOutdoors", Type = "bool", Nilable = false, Documentation = { "True if this entry is something that is allowed to be placed outside, within a plot" } },
{ Name = "isAllowedIndoors", Type = "bool", Nilable = false, Documentation = { "True if this entry is something that is allowed to be placed indoors, within a house interior" } },
{ Name = "canCustomize", Type = "bool", Nilable = false, Documentation = { "True if this entry is something that can be customized; Kinds of customization vary depending on the entry type" } },
{ Name = "isPrefab", Type = "bool", Nilable = false },
{ Name = "quality", Type = "ItemQuality", Nilable = true },
{ Name = "firstAcquisitionBonus", Type = "number", Nilable = false, Documentation = { "House XP that can be gained upon acquiring this entry for the first time" } },
{ Name = "sourceText", Type = "cstring", Nilable = false, Documentation = { "Describes specific sources this entry may be gained from; Faction-specific sources may or may not be included based on the current player's faction" } },
},
},
{
Name = "HousingCatalogEntryVariantInfo",
Type = "Structure",
Documentation = { "Represents a single stack of instances of an object in the Catalog, that are all of a specific variation; For example, a stack of undyed chairs, or blue-dyed tables" },
Fields =
{
{ Name = "entryVariantID", Type = "HousingCatalogEntryVariantID", Nilable = false },
{ Name = "numStored", Type = "number", Nilable = false, Documentation = { "The number of instances of this specific variant that exist in storage" } },
{ Name = "dyeSlots", Type = "table", InnerType = "HousingDecorDyeSlot", Nilable = false, Documentation = { "Dye slot information for this variant; Empty for entries that can't be dyed" } },
},
},
{
Name = "HousingCatalogSubcategoryInfo",
Type = "Structure",
Fields =
{
{ Name = "ID", Type = "number", Nilable = false },
{ Name = "orderIndex", Type = "number", Nilable = false },
{ Name = "parentCategoryID", Type = "number", Nilable = false },
{ Name = "name", Type = "cstring", Nilable = true },
{ Name = "icon", Type = "textureAtlas", Nilable = true },
{ Name = "anyStoredEntries", Type = "bool", Nilable = false, Documentation = { "True if the player owns anything that falls under this subcategory" } },
},
},
{
Name = "HousingCategorySearchInfo",
Type = "Structure",
Fields =
{
{ Name = "withStoredEntriesOnly", Type = "bool", Nilable = false, Default = false, Documentation = { "If true, search will only return categories/subcategories that the player has something stored under" } },
{ Name = "includeFeaturedCategory", Type = "bool", Nilable = false, Default = false },
{ Name = "editorModeContext", Type = "HouseEditorMode", Nilable = true, Documentation = { "If set, will restrict results to only categories associated with/used by this Editor Mode" } },
},
},
{
Name = "HousingFeaturedSmallProductInfo",
Type = "Structure",
Fields =
{
{ Name = "entryVariantID", Type = "HousingCatalogEntryVariantID", Nilable = true },
{ Name = "productID", Type = "number", Nilable = false },
{ Name = "price", Type = "number", Nilable = false },
{ Name = "originalPrice", Type = "number", Nilable = true },
{ Name = "canPreview", Type = "bool", Nilable = false },
},
},
{
Name = "HousingMarketInfo",
Type = "Structure",
Fields =
{
{ Name = "price", Type = "number", Nilable = false },
{ Name = "productID", Type = "number", Nilable = false },
{ Name = "bundleIDs", Type = "table", InnerType = "number", Nilable = false },
},
},
{
Name = "HousingPreviewItemData",
Type = "Structure",
Fields =
{
{ Name = "decorGUID", Type = "WOWGUID", Nilable = true },
{ Name = "productID", Type = "number", Nilable = true },
{ Name = "bundleCatalogShopProductID", Type = "number", Nilable = true },
{ Name = "isBundleParent", Type = "bool", Nilable = false },
{ Name = "isBundleChild", Type = "bool", Nilable = false },
{ Name = "id", Type = "number", Nilable = false },
{ Name = "decorID", Type = "number", Nilable = false },
{ Name = "name", Type = "string", Nilable = false },
{ Name = "icon", Type = "number", Nilable = false },
{ Name = "price", Type = "number", Nilable = false },
{ Name = "salePrice", Type = "number", Nilable = true },
},
},
},
Predicates =
{
},
};
APIDocumentation:AddDocumentationTable(HousingCatalogUI);