Player Housing Interface API Strings
As initially found by Yuvalal in the Datamining Discord, Blizzard accidentally shipped a file with the 4.4.2 PTR that relates to the upcoming player housing system in Midnight. Note that this does not mean player housing is coming to WoW Classic, Blizzard shares interface files between versions and this file could just as well have accidentally shipped in a future 11.1.5 PTR build.
Also note that even though the file was accidentally added in today's build, its ID is older and implies initial creation during late DF/early TWW development. We don't know how recent its contents are.
The automatically generated Lua file describes various enumerated value types (enums) relating to the player housing system.
All in all, this file leaves a lot up to interpretation, so feel free to read it for yourself below.
Blizzard announced more details on player housing would be coming early this year, so hopefully we won't have to wait too long to see whether or not these interpretations are correct!
Code:
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);