WoW player housing details datamined on Cataclysm Classic PTR
The community datamined WoW player hosing details that can appear in the future expansion. Read the article to learn more!

Table of Contents
Players are thrilled by the fact that possible future WoW housing details datamined from one of the most unexpected sources. Dataminers found WoW housing-related parts of code on Cataclysm Classic PTR servers. Here is everything we know so far.
Categories of customization
According to the found code, WoW player housing details will be highly customizable. Here are examples of some of the most obvious and clear categories:
- Interior and Exterior are going to be customizable separately.
- There will be different themes related to the housing looks: Generic, Opulent, Folk, and Rugged.
- Some WoW player housing details like ceilings, floors, walls, and tabletops also appear as customizable types. Doors can be narrow or large. Doorways can also be changed in some ways.
- The exterior components of the house can be small, medium, large, or “any.” These components can be themed, but the code only shows the “Human” option.
Full code from the datamined WoW player housing file
If you want to study the code itself and try finding other possible customization options, here are PlayerHousingConstantsDocumentation.lua file’s contents:
local PlayerHousingConstants =
{
Tables =
{
{
Name = "HousingDecorFlags",
Type = "Enumeration",
NumValues = 2,
MinValue = 1,
MaxValue = 2,
Fields =
{
{ Name = "Exterior", Type = "HousingDecorFlags", EnumValue = 1 },
{ Name = "Interior", Type = "HousingDecorFlags", EnumValue = 2 },
},
},
{
Name = "HousingDecorModelType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "None", Type = "HousingDecorModelType", EnumValue = 0 },
{ Name = "M2", Type = "HousingDecorModelType", EnumValue = 1 },
{ Name = "Wmo", Type = "HousingDecorModelType", EnumValue = 2 },
},
},
{
Name = "HousingDecorTheme",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "HousingDecorTheme", EnumValue = 0 },
{ Name = "Folk", Type = "HousingDecorTheme", EnumValue = 1 },
{ Name = "Rugged", Type = "HousingDecorTheme", EnumValue = 2 },
{ Name = "Generic", Type = "HousingDecorTheme", EnumValue = 3 },
{ Name = "Opulent", Type = "HousingDecorTheme", EnumValue = 4 },
},
},
{
Name = "HousingDecorType",
Type = "Enumeration",
NumValues = 5,
MinValue = 0,
MaxValue = 4,
Fields =
{
{ Name = "None", Type = "HousingDecorType", EnumValue = 0 },
{ Name = "Floor", Type = "HousingDecorType", EnumValue = 1 },
{ Name = "Wall", Type = "HousingDecorType", EnumValue = 2 },
{ Name = "Ceiling", Type = "HousingDecorType", EnumValue = 3 },
{ Name = "Tabletop", Type = "HousingDecorType", EnumValue = 4 },
},
},
{
Name = "HousingExteriorComponentSize",
Type = "Enumeration",
NumValues = 4,
MinValue = 1,
MaxValue = 4,
Fields =
{
{ Name = "Any", Type = "HousingExteriorComponentSize", EnumValue = 1 },
{ Name = "Small", Type = "HousingExteriorComponentSize", EnumValue = 2 },
{ Name = "Medium", Type = "HousingExteriorComponentSize", EnumValue = 3 },
{ Name = "Large", Type = "HousingExteriorComponentSize", EnumValue = 4 },
},
},
{
Name = "HousingExteriorComponentTheme",
Type = "Enumeration",
NumValues = 1,
MinValue = 1,
MaxValue = 1,
Fields =
{
{ Name = "Human", Type = "HousingExteriorComponentTheme", EnumValue = 1 },
},
},
{
Name = "HousingPermission",
Type = "Enumeration",
NumValues = 8,
MinValue = 1,
MaxValue = 128,
Fields =
{
{ Name = "AddDecor", Type = "HousingPermission", EnumValue = 1 },
{ Name = "ChangeDecorParam", Type = "HousingPermission", EnumValue = 2 },
{ Name = "EnterDecorEditMode", Type = "HousingPermission", EnumValue = 4 },
{ Name = "MoveDecor", Type = "HousingPermission", EnumValue = 8 },
{ Name = "RemoveDecor", Type = "HousingPermission", EnumValue = 16 },
{ Name = "SaveHouse", Type = "HousingPermission", EnumValue = 32 },
{ Name = "SelectDecor", Type = "HousingPermission", EnumValue = 64 },
{ Name = "EditLayout", Type = "HousingPermission", EnumValue = 128 },
},
},
{
Name = "HousingResult",
Type = "Enumeration",
NumValues = 18,
MinValue = 0,
MaxValue = 17,
Fields =
{
{ Name = "Success", Type = "HousingResult", EnumValue = 0 },
{ Name = "DbError", Type = "HousingResult", EnumValue = 1 },
{ Name = "RpcFailure", Type = "HousingResult", EnumValue = 2 },
{ Name = "GenericFailure", Type = "HousingResult", EnumValue = 3 },
{ Name = "LockOperationFailed", Type = "HousingResult", EnumValue = 4 },
{ Name = "UnlockOperationFailed", Type = "HousingResult", EnumValue = 5 },
{ Name = "LockedByOtherPlayer", Type = "HousingResult", EnumValue = 6 },
{ Name = "DecorNotFound", Type = "HousingResult", EnumValue = 7 },
{ Name = "HouseNotFound", Type = "HousingResult", EnumValue = 8 },
{ Name = "PermissionDenied", Type = "HousingResult", EnumValue = 9 },
{ Name = "NotInDecorEditMode", Type = "HousingResult", EnumValue = 10 },
{ Name = "NotInsideHouse", Type = "HousingResult", EnumValue = 11 },
{ Name = "ServiceNotAvailable", Type = "HousingResult", EnumValue = 12 },
{ Name = "RoomNotFound", Type = "HousingResult", EnumValue = 13 },
{ Name = "RoomUpdateFailed", Type = "HousingResult", EnumValue = 14 },
{ Name = "NotInLayoutEditMode", Type = "HousingResult", EnumValue = 15 },
{ Name = "PlotNotFound", Type = "HousingResult", EnumValue = 16 },
{ Name = "MaxDecorReached", Type = "HousingResult", EnumValue = 17 },
},
},
{
Name = "HousingRoomComponentDoorType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "None", Type = "HousingRoomComponentDoorType", EnumValue = 0 },
{ Name = "NarrowDoor", Type = "HousingRoomComponentDoorType", EnumValue = 1 },
{ Name = "LargeDoor", Type = "HousingRoomComponentDoorType", EnumValue = 2 },
},
},
{
Name = "HousingRoomComponentOptionType",
Type = "Enumeration",
NumValues = 3,
MinValue = 0,
MaxValue = 2,
Fields =
{
{ Name = "Cosmetic", Type = "HousingRoomComponentOptionType", EnumValue = 0 },
{ Name = "DoorwayWall", Type = "HousingRoomComponentOptionType", EnumValue = 1 },
{ Name = "Doorway", Type = "HousingRoomComponentOptionType", EnumValue = 2 },
},
},
{
Name = "HousingRoomComponentType",
Type = "Enumeration",
NumValues = 6,
MinValue = 0,
MaxValue = 5,
Fields =
{
{ Name = "None", Type = "HousingRoomComponentType", EnumValue = 0 },
{ Name = "Wall", Type = "HousingRoomComponentType", EnumValue = 1 },
{ Name = "Floor", Type = "HousingRoomComponentType", EnumValue = 2 },
{ Name = "Ceiling", Type = "HousingRoomComponentType", EnumValue = 3 },
{ Name = "Stairs", Type = "HousingRoomComponentType", EnumValue = 4 },
{ Name = "Pillar", Type = "HousingRoomComponentType", EnumValue = 5 },
},
},
{
Name = "HousingRoomFlags",
Type = "Enumeration",
NumValues = 2,
MinValue = 0,
MaxValue = 1,
Fields =
{
{ Name = "None", Type = "HousingRoomFlags", EnumValue = 0 },
{ Name = "BaseRoom", Type = "HousingRoomFlags", EnumValue = 1 },
},
},
},
};
APIDocumentation:AddDocumentationTable(PlayerHousingConstants);
Final thoughts
Even though finding these WoW player housing datamined details in Cataclysm Classic is surprising, we are glad to see them. It looks like Blizzard plans to make our future homes highly customizable, just like in Final Fantasy XIV. We can’t wait to learn more about themes, components, and other aspects of this upcoming feature. But for now, if you want to learn more about it, read our WoW player housing overview.
What do you think about these datamined WoW player housing details? Do you have any ideas about what Blizzard will make customizable? Let us know your opinion in the comments!
Comments