Navigator
The Navigator is a crucial component that allows players to traverse between different scenes and environments within the game. It provides a graphical interface for players to select and enter Scenes.
Every scene must be present in the Scene List for it to be accessible through the Navigator, otherwise the game will display a “not allowed” icon as the thumbnail, and no name / description.
Prior to 1.35, the Navigator was simply a worldmap consisting of polaroid photos of spaces the player could choose from to join in.
Definitions
LANG
TEXT
IMAGE
DEFAULTSELECTION (Introduced in 1.40)
RENDER_CHILD_COUNT (Introduced in 1.40)
PARAM (Introduced in 1.40)
DESTINATION
SPAWNFROM (Introduced in 1.60/1.61)
SCENETRANSITION (Introduced in 1.65)
FUNCTION
DESCRIPTION
HEADER
MAKER
BODY
BGIMAGE (Introduced in 1.40)
ITEM
STARTUP (Introduced in 1.50)
PLATFORM (Introduced in 1.50)
CONFIG
BGTYPE:
GRAVICONSGRAVPARTICLESBLANKGRAVDOTS(Introduced in 1.40)SUNBURST(Mentioned by a few Asia Navigators. Not actually in Home versions. Likely referring toBLANK)
MOTD
MOTDBUTTON
BGCOLOR
CATEGORY
IN_ORDER (Introduced in 1.60/1.61)
GUARANTEED (Introduced in 1.60/1.61)
XSD document
Below is the XSD document that defines the structure of the Navigator XML file:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!-- Root element XML -->
<xs:element name="XML">
<xs:complexType>
<xs:sequence>
<xs:element ref="CONFIG"/>
<xs:element ref="CATEGORY" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- CONFIG element -->
<xs:element name="CONFIG">
<xs:complexType>
<xs:sequence>
<xs:element ref="BGTYPE"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- BGTYPE element -->
<xs:element name="BGTYPE" type="xs:string"/>
<!-- CATEGORY element -->
<xs:element name="CATEGORY">
<xs:complexType>
<xs:sequence>
<xs:element ref="TEXT" maxOccurs="unbounded"/>
<xs:element ref="IMAGE" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ITEM" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="BGCOLOR" type="ColorCodeType" use="required"/>
</xs:complexType>
</xs:element>
<!-- ITEM element (recursive structure) -->
<xs:element name="ITEM">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="TEXT"/>
<xs:element ref="IMAGE"/>
<xs:element ref="BGIMAGE"/>
<xs:element ref="DESTINATION"/>
<xs:element ref="DESCRIPTION"/>
<xs:element ref="FUNCTION"/>
<xs:element ref="ITEM"/>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- TEXT element -->
<xs:element name="TEXT">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="LANG" type="LanguageCodeType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- IMAGE element -->
<xs:element name="IMAGE">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute name="LANG" type="LanguageCodeType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<!-- BGIMAGE element -->
<xs:element name="BGIMAGE" type="xs:anyURI"/>
<!-- DESTINATION element -->
<xs:element name="DESTINATION" type="xs:string"/>
<!-- FUNCTION element -->
<xs:element name="FUNCTION" type="FunctionTypeEnum"/>
<!-- DESCRIPTION element -->
<xs:element name="DESCRIPTION">
<xs:complexType>
<xs:sequence>
<xs:element ref="MAKER"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- MAKER element -->
<xs:element name="MAKER" type="xs:string"/>
<!-- Custom types for specific patterns -->
<!-- Color code pattern: #RRGGBB format -->
<xs:simpleType name="ColorCodeType">
<xs:restriction base="xs:string">
<xs:pattern value="#[0-9A-F]{6}"/>
</xs:restriction>
</xs:simpleType>
<!-- Language codes based on observed values -->
<xs:simpleType name="LanguageCodeType">
<xs:restriction base="xs:string">
<xs:enumeration value="de-DE"/>
<xs:enumeration value="en-MY"/>
<xs:enumeration value="en-SG"/>
<xs:enumeration value="en-US"/>
<xs:enumeration value="en-GB"/>
<xs:enumeration value="es-ES"/>
<xs:enumeration value="fr-FR"/>
<xs:enumeration value="it-IT"/>
<xs:enumeration value="ja-JP"/>
<xs:enumeration value="ko-KR"/>
<xs:enumeration value="zh-HK"/>
<xs:enumeration value="zh-TW"/>
</xs:restriction>
</xs:simpleType>
<!-- Function type enumeration based on observed values -->
<xs:simpleType name="FunctionTypeEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="DefaultApartmentItem"/>
<xs:enumeration value="Favourites"/>
<xs:enumeration value="FriendsList"/>
<xs:enumeration value="RecentlyVisited"/>
<xs:enumeration value="YourApartments"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>