x

Desc: Name

Popup text

XML Schema Documentation

Table of Contents

top

Schema Document Properties

Target Namespace http://ProjectMalmo.microsoft.com
Version 0.21
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition

Declared Namespaces

Prefix Namespace
Default namespace http://ProjectMalmo.microsoft.com
xml http://www.w3.org/XML/1998/namespace
jaxb http://java.sun.com/xml/ns/jaxb
xs http://www.w3.org/2001/XMLSchema
Schema Component Representation
<xs:schema targetNamespace="http://ProjectMalmo.microsoft.com" elementFormDefault="qualified" version="2.1" version="0.21">
<xs:include schemaLocation="Types.xsd"/>
<xs:include schemaLocation="Mission.xsd"/>
...
</xs:schema>
top

Global Declarations

Element: AbsoluteMovementCommands

Name AbsoluteMovementCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AbsoluteMovementCommands>
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> AbsoluteMovementCommand </command> [0..*]
End Choice
</ModifierList>
End All
</AbsoluteMovementCommands>
Schema Component Representation
<xs:element name="AbsoluteMovementCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="AbsoluteMovementCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: AgentQuitFromCatchingMob

Name AgentQuitFromCatchingMob
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AgentQuitFromCatchingMob>
Start Choice [1..*]
<Mob> MobWithDescription </Mob> [1]
End Choice
</AgentQuitFromCatchingMob>
Schema Component Representation
<xs:element name="AgentQuitFromCatchingMob">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Mob" type="MobWithDescription"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: AgentQuitFromCollectingItem

Name AgentQuitFromCollectingItem
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AgentQuitFromCollectingItem>
Start Choice [1..*]
<Item> BlockOrItemSpecWithDescription </Item> [1]
End Choice
</AgentQuitFromCollectingItem>
Schema Component Representation
<xs:element name="AgentQuitFromCollectingItem">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Item" type="BlockOrItemSpecWithDescription"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: AgentQuitFromReachingCommandQuota

Name AgentQuitFromReachingCommandQuota
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AgentQuitFromReachingCommandQuota
total="xs:int [0..1] ?"
description="xs:string [0..1] ?">
Start Choice [0..*]
<Quota> CommandQuota </Quota> [1]
End Choice
</AgentQuitFromReachingCommandQuota>
Schema Component Representation
<xs:element name="AgentQuitFromReachingCommandQuota">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Quota" type="CommandQuota"/>
</xs:choice>
<xs:attribute name="total" type="xs:int" use="optional"/>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
top

Element: AgentQuitFromReachingPosition

Name AgentQuitFromReachingPosition
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AgentQuitFromReachingPosition>
Start Choice [1..*]
<Marker> PointWithToleranceAndDescription </Marker> [1]
End Choice
</AgentQuitFromReachingPosition>
Schema Component Representation
<xs:element name="AgentQuitFromReachingPosition">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Marker" type="PointWithToleranceAndDescription"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: AgentQuitFromTimeUp

Name AgentQuitFromTimeUp
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AgentQuitFromTimeUp
timeLimitMs="xs:decimal [1]"
description="xs:string [0..1]"/>
Schema Component Representation
<xs:element name="AgentQuitFromTimeUp">
<xs:complexType>
<xs:attribute name="timeLimitMs" type="xs:decimal" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
top

Element: AgentQuitFromTouchingBlockType

Name AgentQuitFromTouchingBlockType
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AgentQuitFromTouchingBlockType>
Start Choice [1..*]
<Block> BlockSpecWithDescription </Block> [1]
End Choice
</AgentQuitFromTouchingBlockType>
Schema Component Representation
<xs:element name="AgentQuitFromTouchingBlockType">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Block" type="BlockSpecWithDescription"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: AnimationDecorator

Name AnimationDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<AnimationDecorator
ticksPerUpdate="xs:int [0..1] ?">
Start Choice [1]
<Parametric
seed="xs:string (pattern = random|[0-9]+) [0..1] ?"> [1] ?
Start All [1]
<x> xs:string </x> [1]
<y> xs:string </y> [1]
<z> xs:string </z> [1]
End All
</Parametric>
<Linear> [1] ?
Start All [1]
<CanvasBounds> UnnamedGridDefinition </CanvasBounds> [1] ?
<InitialPos> Pos </InitialPos> [1] ?
<InitialVelocity> Pos </InitialVelocity> [1] ?
End All
</Linear>
End Choice
<DrawingDecorator> ... </DrawingDecorator> [1] ?
</AnimationDecorator>
Schema Component Representation
<xs:element name="AnimationDecorator">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="Parametric">
<xs:complexType>
<xs:all>
<xs:element name="x" type="xs:string"/>
<xs:element name="y" type="xs:string"/>
<xs:element name="z" type="xs:string"/>
</xs:all>
<xs:attribute name="seed">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="random|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="Linear">
<xs:complexType>
<xs:all>
<xs:element name="CanvasBounds" type="UnnamedGridDefinition"/>
<xs:element name="InitialPos" type="Pos"/>
<xs:element name="InitialVelocity" type="Pos"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref="DrawingDecorator"/>
</xs:sequence>
<xs:attribute name="ticksPerUpdate" type="xs:int" default="1"/>
</xs:complexType>
</xs:element>
top

Element: BuildBattleDecorator

Name BuildBattleDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<BuildBattleDecorator>
Start All [1]
<GoalStructureBounds> UnnamedGridDefinition </GoalStructureBounds> [1] ?
<PlayerStructureBounds> UnnamedGridDefinition </PlayerStructureBounds> [1] ?
<BlockTypeOnCorrectPlacement> DrawBlockBasedObjectType </BlockTypeOnCorrectPlacement> [0..1] ?
<BlockTypeOnIncorrectPlacement> DrawBlockBasedObjectType </BlockTypeOnIncorrectPlacement> [0..1] ?
End All
</BuildBattleDecorator>
Schema Component Representation
<xs:element name="BuildBattleDecorator">
<xs:complexType>
<xs:all>
<xs:element name="GoalStructureBounds" type="UnnamedGridDefinition"/>
<xs:element name="PlayerStructureBounds" type="UnnamedGridDefinition"/>
<xs:element name="BlockTypeOnCorrectPlacement" type="DrawBlockBasedObjectType" minOccurs="0"/>
<xs:element name="BlockTypeOnIncorrectPlacement" type="DrawBlockBasedObjectType" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: ChatCommands

Name ChatCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ChatCommands>
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> ChatCommand </command> [0..*]
End Choice
</ModifierList>
End All
</ChatCommands>
Schema Component Representation
<xs:element name="ChatCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="ChatCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: ClassroomDecorator

Name ClassroomDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ClassroomDecorator
seed="xs:string [0..1]"
palette="PaletteEnum [0..1]">
Start Choice [1]
<complexity> [1]
<building> ZeroToOne </building> [1]
<path> ZeroToOne </path> [1]
<division> ZeroToOne </division> [1]
<obstacle> ZeroToOne </obstacle> [1]
<hint> ZeroToOne </hint> [1]
</complexity>
<specification> [1]
<width> BuildingSize </width> [1]
<height> BuildingSize </height> [1]
<length> BuildingSize </length> [1]
<pathLength> NonNegative </pathLength> [1]
<divisions> [1]
Start All [1]
<southNorth> NonNegative </southNorth> [1]
<eastWest> NonNegative </eastWest> [1]
<aboveBelow> NonNegative </aboveBelow> [1]
End All
</divisions>
<horizontalObstacles> HorizontalObstacles </horizontalObstacles> [1]
<verticalObstacles> VerticalObstacles </verticalObstacles> [1]
<hintLikelihood> ZeroToOne </hintLikelihood> [1]
</specification>
End Choice
</ClassroomDecorator>
Schema Component Representation
<xs:element name="ClassroomDecorator">
<xs:complexType>
<xs:choice>
<xs:element name="complexity">
<xs:complexType>
<xs:sequence>
<xs:element name="building" type="ZeroToOne"/>
<xs:element name="path" type="ZeroToOne"/>
<xs:element name="division" type="ZeroToOne"/>
<xs:element name="obstacle" type="ZeroToOne"/>
<xs:element name="hint" type="ZeroToOne"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="specification">
<xs:complexType>
<xs:sequence>
<xs:element name="width" type="BuildingSize"/>
<xs:element name="height" type="BuildingSize"/>
<xs:element name="length" type="BuildingSize"/>
<xs:element name="pathLength" type="NonNegative"/>
<xs:element name="divisions">
<xs:complexType>
<xs:all>
<xs:element name="southNorth" type="NonNegative"/>
<xs:element name="eastWest" type="NonNegative"/>
<xs:element name="aboveBelow" type="NonNegative"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="horizontalObstacles" type="HorizontalObstacles"/>
<xs:element name="verticalObstacles" type="VerticalObstacles"/>
<xs:element name="hintLikelihood" type="ZeroToOne"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute name="seed" type="xs:string" use="optional"/>
<xs:attribute name="palette" type="PaletteEnum" use="optional"/>
</xs:complexType>
</xs:element>
top

Element: ContinuousMovementCommands

Name ContinuousMovementCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ContinuousMovementCommands
turnSpeedDegs="xs:decimal [0..1] ?">
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> ContinuousMovementCommand </command> [0..*]
End Choice
</ModifierList>
End All
</ContinuousMovementCommands>
Schema Component Representation
<xs:element name="ContinuousMovementCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="ContinuousMovementCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="turnSpeedDegs" type="xs:decimal" use="optional" default="180"/>
</xs:complexType>
</xs:element>
top

Element: DefaultWorldGenerator

Name DefaultWorldGenerator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<DefaultWorldGenerator
seed="xs:string [0..1] ?"
forceReset="xs:boolean [0..1] ?"
destroyAfterUse="xs:boolean [0..1] ?"/>
Schema Component Representation
<xs:element name="DefaultWorldGenerator">
<xs:complexType>
<xs:attribute name="seed" type="xs:string" use="optional" default=""/>
<xs:attribute name="forceReset" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="destroyAfterUse" type="xs:boolean" use="optional" default="true"/>
</xs:complexType>
</xs:element>
top

Element: DiscreteMovementCommands

Name DiscreteMovementCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<DiscreteMovementCommands
autoFall="xs:boolean [0..1]"
autoJump="xs:boolean [0..1]">
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> DiscreteMovementCommand </command> [0..*]
End Choice
</ModifierList>
End All
</DiscreteMovementCommands>
Schema Component Representation
<xs:element name="DiscreteMovementCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="DiscreteMovementCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="autoFall" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="autoJump" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>
top

Element: DrawBlock

  • This element can be used wherever the following element is referenced:
Name DrawBlock
Type DrawBlock
Nillable no
Abstract no
XML Instance Representation
<DrawBlock
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"/>
Schema Component Representation
<xs:element name="DrawBlock" type="DrawBlock" substitutionGroup="DrawObjectType"/>
top

Element: DrawCuboid

  • This element can be used wherever the following element is referenced:
Name DrawCuboid
Type DrawCuboid
Nillable no
Abstract no
XML Instance Representation
<DrawCuboid
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x1="xs:int [1]"
y1="xs:int [1]"
z1="xs:int [1]"
x2="xs:int [1]"
y2="xs:int [1]"
z2="xs:int [1]"/>
Schema Component Representation
<xs:element name="DrawCuboid" type="DrawCuboid" substitutionGroup="DrawObjectType"/>
top

Element: DrawEntity

  • This element can be used wherever the following element is referenced:
Name DrawEntity
Type DrawEntity
Nillable no
Abstract no
XML Instance Representation
<DrawEntity
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"
type="SpawnableTypes [1]"
yaw="xs:decimal [0..1]"
pitch="xs:decimal [0..1]"
xVel="xs:decimal [0..1]"
yVel="xs:decimal [0..1]"
zVel="xs:decimal [0..1]"/>
Schema Component Representation
<xs:element name="DrawEntity" type="DrawEntity" substitutionGroup="DrawObjectType"/>
top

Element: DrawItem

  • This element can be used wherever the following element is referenced:
Name DrawItem
Type DrawItem
Nillable no
Abstract no
XML Instance Representation
<DrawItem
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"
type="BlockOrItem [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"/>
Schema Component Representation
<xs:element name="DrawItem" type="DrawItem" substitutionGroup="DrawObjectType"/>
top

Element: DrawLine

  • This element can be used wherever the following element is referenced:
Name DrawLine
Type DrawLine
Nillable no
Abstract no
XML Instance Representation
<DrawLine
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x1="xs:int [1]"
y1="xs:int [1]"
z1="xs:int [1]"
x2="xs:int [1]"
y2="xs:int [1]"
z2="xs:int [1]"
steptype="BlockType [0..1]"/>
Schema Component Representation
<xs:element name="DrawLine" type="DrawLine" substitutionGroup="DrawObjectType"/>
top

Element: DrawObjectType

Name DrawObjectType
Type DrawObjectType
Nillable no
Abstract no
XML Instance Representation
<DrawObjectType/>
Schema Component Representation
<xs:element name="DrawObjectType" type="DrawObjectType"/>
top

Element: DrawSphere

  • This element can be used wherever the following element is referenced:
Name DrawSphere
Type DrawSphere
Nillable no
Abstract no
XML Instance Representation
<DrawSphere
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"
radius="xs:int [1]"/>
Schema Component Representation
<xs:element name="DrawSphere" type="DrawSphere" substitutionGroup="DrawObjectType"/>
top

Element: DrawingDecorator

Name DrawingDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<DrawingDecorator>
<DrawObjectType> ... </DrawObjectType> [1..*]
</DrawingDecorator>
Schema Component Representation
<xs:element name="DrawingDecorator">
<xs:complexType>
<xs:sequence>
<xs:element ref="DrawObjectType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
top

Element: FileWorldGenerator

Name FileWorldGenerator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<FileWorldGenerator
src="xs:anyURI [1] ?"
forceReset="xs:boolean [0..1] ?"
destroyAfterUse="xs:boolean [0..1] ?"/>
Schema Component Representation
<xs:element name="FileWorldGenerator">
<xs:complexType>
<xs:attribute name="src" type="xs:anyURI" use="required"/>
<xs:attribute name="forceReset" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="destroyAfterUse" type="xs:boolean" use="optional" default="true"/>
</xs:complexType>
</xs:element>
top

Element: FlatWorldGenerator

Name FlatWorldGenerator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<FlatWorldGenerator
generatorString="xs:string [0..1] ?"
forceReset="xs:boolean [0..1] ?"
seed="xs:string [0..1] ?"
destroyAfterUse="xs:boolean [0..1] ?"/>
Schema Component Representation
<xs:element name="FlatWorldGenerator">
<xs:complexType>
<xs:attribute name="generatorString" type="xs:string" use="optional" default="3;7,2*3,2;1;village"/>
<xs:attribute name="forceReset" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="seed" type="xs:string" use="optional" default=""/>
<xs:attribute name="destroyAfterUse" type="xs:boolean" use="optional" default="true"/>
</xs:complexType>
</xs:element>
top

Element: InventoryCommands

Name InventoryCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<InventoryCommands>
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> InventoryCommand </command> [0..*]
End Choice
</ModifierList>
End All
</InventoryCommands>
Schema Component Representation
<xs:element name="InventoryCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="InventoryCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: MazeDecorator

Name MazeDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<MazeDecorator>
Start All [1]
<Seed> xs:string (pattern = random|[0-9]+) </Seed> [1] ?
<MaterialSeed> xs:string (pattern = random|[0-9]+) </MaterialSeed> [0..1] ?
<AllowDiagonalMovement> xs:boolean </AllowDiagonalMovement> [1]
<SizeAndPosition
width="xs:int [0..1]"
length="xs:int [0..1]"
height="xs:int [0..1]"
scale="xs:int [0..1]"
xOrigin="xs:int [0..1]"
yOrigin="xs:int [0..1]"
zOrigin="xs:int [0..1]"/> [1]
<StartBlock> MazeTerminus </StartBlock> [1]
<EndBlock> MazeTerminus </EndBlock> [1]
<PathBlock> MazeBlock </PathBlock> [1]
<FloorBlock> MazeBlock </FloorBlock> [1]
<GapBlock> MazeBlock </GapBlock> [1]
<OptimalPathBlock> MazeBlock </OptimalPathBlock> [0..1] ?
<SubgoalBlock> MazeBlock </SubgoalBlock> [0..1] ?
<Waypoints
quantity="xs:int [1]"> [0..1]
Start Choice [1]
<WaypointBlock> MazeBlock </WaypointBlock> [1]
<WaypointItem> BlockOrItemSpec </WaypointItem> [1]
End Choice
</Waypoints>
<GapProbability
variance="xs:decimal [0..1]"> [1]
xs:decimal
</GapProbability>
<AddQuitProducer
description="xs:string [0..1]"/> [0..1]
<AddNavigationObservations/> [0..1]
End All
</MazeDecorator>
Schema Component Representation
<xs:element name="MazeDecorator">
<xs:complexType>
<xs:all>
<xs:element name="Seed">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="random|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MaterialSeed" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="random|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AllowDiagonalMovement" type="xs:boolean" default="false"/>
<xs:element name="SizeAndPosition">
<xs:complexType>
<xs:attribute name="width" type="xs:int" default="10"/>
<xs:attribute name="length" type="xs:int" default="10"/>
<xs:attribute name="height" type="xs:int" default="100"/>
<xs:attribute name="scale" type="xs:int" default="1"/>
<xs:attribute name="xOrigin" type="xs:int" default="0"/>
<xs:attribute name="yOrigin" type="xs:int" default="55"/>
<xs:attribute name="zOrigin" type="xs:int" default="0"/>
</xs:complexType>
</xs:element>
<xs:element name="StartBlock" type="MazeTerminus"/>
<xs:element name="EndBlock" type="MazeTerminus"/>
<xs:element name="PathBlock" type="MazeBlock"/>
<xs:element name="FloorBlock" type="MazeBlock"/>
<xs:element name="GapBlock" type="MazeBlock"/>
<xs:element name="OptimalPathBlock" type="MazeBlock" minOccurs="0"/>
<xs:element name="SubgoalBlock" type="MazeBlock" minOccurs="0"/>
<xs:element name="Waypoints" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:choice>
<xs:element name="WaypointBlock" type="MazeBlock"/>
<xs:element name="WaypointItem" type="BlockOrItemSpec"/>
</xs:choice>
<xs:attribute name="quantity" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="GapProbability">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="variance" type="xs:decimal" use="optional" default="0"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="AddQuitProducer" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
<xs:element name="AddNavigationObservations" minOccurs="0" maxOccurs="1">
<xs:complexType/>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: MissionQuitCommands

Name MissionQuitCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<MissionQuitCommands
quitDescription="xs:string [0..1]">
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> MissionQuitCommand </command> [0..*]
End Choice
</ModifierList>
End All
</MissionQuitCommands>
Schema Component Representation
<xs:element name="MissionQuitCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="MissionQuitCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="quitDescription" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
top

Element: MovingTargetDecorator

Name MovingTargetDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<MovingTargetDecorator
requiresAirAbove="xs:boolean [0..1]">
Start All [1]
<ArenaBounds> UnnamedGridDefinition </ArenaBounds> [1] ?
<StartPos> Pos </StartPos> [1]
<Seed> xs:string (pattern = random|[0-9]+) </Seed> [1] ?
<UpdateSpeed> xs:string (pattern = turnbased|[0-9]+) </UpdateSpeed> [1] ?
<PermeableBlocks> BlockSpec </PermeableBlocks> [1]
<BlockType> DrawBlockBasedObjectType </BlockType> [1]
End All
</MovingTargetDecorator>
Schema Component Representation
<xs:element name="MovingTargetDecorator">
<xs:complexType>
<xs:all>
<xs:element name="ArenaBounds" type="UnnamedGridDefinition"/>
<xs:element name="StartPos" type="Pos"/>
<xs:element name="Seed">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="random|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UpdateSpeed">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="turnbased|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PermeableBlocks" type="BlockSpec"/>
<xs:element name="BlockType" type="DrawBlockBasedObjectType"/>
</xs:all>
<xs:attribute name="requiresAirAbove" type="xs:boolean" default="true"/>
</xs:complexType>
</xs:element>
top

Element: ObservationFromChat

Name ObservationFromChat
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromChat/>
Schema Component Representation
<xs:element name="ObservationFromChat">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromDiscreteCell

Name ObservationFromDiscreteCell
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromDiscreteCell/>
Schema Component Representation
<xs:element name="ObservationFromDiscreteCell">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromDistance

Name ObservationFromDistance
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromDistance>
Start Choice [1..*]
<Marker> NamedPoint </Marker> [1]
End Choice
</ObservationFromDistance>
Schema Component Representation
<xs:element name="ObservationFromDistance">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Marker" type="NamedPoint"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: ObservationFromFullInventory

Name ObservationFromFullInventory
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromFullInventory/>
Schema Component Representation
<xs:element name="ObservationFromFullInventory">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromFullStats

Name ObservationFromFullStats
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromFullStats/>
Schema Component Representation
<xs:element name="ObservationFromFullStats">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromGrid

Name ObservationFromGrid
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromGrid>
Start Choice [1..*]
<Grid> GridDefinition </Grid> [1]
End Choice
</ObservationFromGrid>
Schema Component Representation
<xs:element name="ObservationFromGrid">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Grid" type="GridDefinition"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: ObservationFromHotBar

Name ObservationFromHotBar
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromHotBar/>
Schema Component Representation
<xs:element name="ObservationFromHotBar">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromNearbyEntities

Name ObservationFromNearbyEntities
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromNearbyEntities>
Start Choice [1..*]
<Range> RangeDefinition </Range> [1]
End Choice
</ObservationFromNearbyEntities>
Schema Component Representation
<xs:element name="ObservationFromNearbyEntities">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Range" type="RangeDefinition"/>
</xs:choice>
</xs:complexType>
</xs:element>
top

Element: ObservationFromRay

Name ObservationFromRay
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromRay/>
Schema Component Representation
<xs:element name="ObservationFromRay">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromRecentCommands

Name ObservationFromRecentCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromRecentCommands/>
Schema Component Representation
<xs:element name="ObservationFromRecentCommands">
<xs:complexType/>
</xs:element>
top

Element: ObservationFromSubgoalPositionList

Name ObservationFromSubgoalPositionList
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromSubgoalPositionList>
<Point> PointWithToleranceAndDescription </Point> [1..*]
</ObservationFromSubgoalPositionList>
Schema Component Representation
<xs:element name="ObservationFromSubgoalPositionList">
<xs:complexType>
<xs:sequence>
<xs:element name="Point" type="PointWithToleranceAndDescription" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
top

Element: ObservationFromTurnScheduler

Name ObservationFromTurnScheduler
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ObservationFromTurnScheduler/>
Schema Component Representation
<xs:element name="ObservationFromTurnScheduler">
<xs:complexType/>
</xs:element>
top

Element: RewardForCatchingMob

Name RewardForCatchingMob
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForCatchingMob
dimension="Dimension [0..1]">
Start Choice [1..*]
<Mob> MobWithDescriptionAndReward </Mob> [1]
End Choice
</RewardForCatchingMob>
Schema Component Representation
<xs:element name="RewardForCatchingMob">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Mob" type="MobWithDescriptionAndReward"/>
</xs:choice>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForCollectingItem

Name RewardForCollectingItem
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForCollectingItem
dimension="Dimension [0..1]">
Start Choice [1..*]
<Item> BlockOrItemSpecWithReward </Item> [1]
End Choice
</RewardForCollectingItem>
Schema Component Representation
<xs:element name="RewardForCollectingItem">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Item" type="BlockOrItemSpecWithReward"/>
</xs:choice>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForDiscardingItem

Name RewardForDiscardingItem
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForDiscardingItem
dimension="Dimension [0..1]">
Start Choice [1..*]
<Item> BlockOrItemSpecWithReward </Item> [1]
End Choice
</RewardForDiscardingItem>
Schema Component Representation
<xs:element name="RewardForDiscardingItem">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Item" type="BlockOrItemSpecWithReward"/>
</xs:choice>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForMissionEnd

Name RewardForMissionEnd
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForMissionEnd
rewardForDeath="xs:decimal [0..1]"
rewardForDeathDistribution="xs:string [0..1]"
dimension="Dimension [0..1]">
Start Choice [1..*]
<Reward> MissionEndRewardCase </Reward> [1]
End Choice
</RewardForMissionEnd>
Schema Component Representation
<xs:element name="RewardForMissionEnd">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Reward" type="MissionEndRewardCase"/>
</xs:choice>
<xs:attribute name="rewardForDeath" type="xs:decimal" use="optional" default="0.0"/>
<xs:attribute name="rewardForDeathDistribution" type="xs:string" use="optional" default=""/>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForReachingPosition

Name RewardForReachingPosition
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForReachingPosition
dimension="Dimension [0..1]">
Start Choice [1..*]
<Marker> PointWithReward </Marker> [1]
End Choice
</RewardForReachingPosition>
Schema Component Representation
<xs:element name="RewardForReachingPosition">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Marker" type="PointWithReward"/>
</xs:choice>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForSendingCommand

Name RewardForSendingCommand
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForSendingCommand
reward="xs:decimal [0..1]"
distribution="xs:string [0..1]"
dimension="Dimension [0..1]"/>
Schema Component Representation
<xs:element name="RewardForSendingCommand">
<xs:complexType>
<xs:attribute name="reward" type="xs:decimal" use="optional" default="-1.0"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForSendingMatchingChatMessage

Name RewardForSendingMatchingChatMessage
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForSendingMatchingChatMessage
dimension="Dimension [0..1]">
Start Choice [1..*]
<ChatMatch> ChatMatchSpec </ChatMatch> [1]
End Choice
</RewardForSendingMatchingChatMessage>
Schema Component Representation
<xs:element name="RewardForSendingMatchingChatMessage">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="ChatMatch" type="ChatMatchSpec"/>
</xs:choice>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: RewardForStructureCopying

Name RewardForStructureCopying
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForStructureCopying
dimension="Dimension [0..1]"
rewardScale="xs:decimal [0..1] ?"
rewardDistribution="xs:string [0..1]"
rewardForCompletion="xs:decimal [0..1] ?">
Start All [1]
<RewardDensity> RewardDensityForBuildAndBreak </RewardDensity> [1]
<AddQuitProducer
description="xs:string [0..1]"/> [0..1] ?
End All
</RewardForStructureCopying>
Schema Component Representation
<xs:element name="RewardForStructureCopying">
<xs:complexType>
<xs:all>
<xs:element name="RewardDensity" type="RewardDensityForBuildAndBreak"/>
<xs:element name="AddQuitProducer" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attributeGroup ref="RewardProducerAttributes"/>
<xs:attribute name="rewardScale" type="xs:decimal" use="optional" default="5.0"/>
<xs:attribute name="rewardDistribution" type="xs:string" use="optional" default=""/>
<xs:attribute name="rewardForCompletion" type="xs:decimal" use="optional" default="200.0"/>
</xs:complexType>
</xs:element>
top

Element: RewardForTimeTaken

Name RewardForTimeTaken
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForTimeTaken
dimension="Dimension [0..1]"
initialReward="xs:decimal [1]"
delta="xs:decimal [1]"
density="RewardDensityForTimeTaken [1]"
rewardDistribution="xs:string [0..1]"/>
Schema Component Representation
<xs:element name="RewardForTimeTaken">
<xs:complexType>
<xs:attributeGroup ref="RewardProducerAttributes"/>
<xs:attribute name="initialReward" type="xs:decimal" use="required"/>
<xs:attribute name="delta" type="xs:decimal" use="required"/>
<xs:attribute name="density" type="RewardDensityForTimeTaken" use="required"/>
<xs:attribute name="rewardDistribution" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
top

Element: RewardForTouchingBlockType

Name RewardForTouchingBlockType
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<RewardForTouchingBlockType
dimension="Dimension [0..1]">
Start Choice [1..*]
<Block> BlockSpecWithRewardAndBehaviour </Block> [1]
End Choice
</RewardForTouchingBlockType>
Schema Component Representation
<xs:element name="RewardForTouchingBlockType">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="unbounded">
<xs:element name="Block" type="BlockSpecWithRewardAndBehaviour"/>
</xs:choice>
<xs:attributeGroup ref="RewardProducerAttributes"/>
</xs:complexType>
</xs:element>
top

Element: ServerQuitFromTimeUp

Name ServerQuitFromTimeUp
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ServerQuitFromTimeUp
timeLimitMs="xs:decimal [1]"
description="xs:string [0..1]"/>
Schema Component Representation
<xs:element name="ServerQuitFromTimeUp">
<xs:complexType>
<xs:attribute name="timeLimitMs" type="xs:decimal" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
top

Element: ServerQuitWhenAnyAgentFinishes

Name ServerQuitWhenAnyAgentFinishes
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<ServerQuitWhenAnyAgentFinishes
description="xs:string [0..1]"/>
Schema Component Representation
<xs:element name="ServerQuitWhenAnyAgentFinishes">
<xs:complexType>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
</xs:element>
top

Element: SimpleCraftCommands

Name SimpleCraftCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<SimpleCraftCommands>
Start All [1]
<ModifierList
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]"> [0..1]
Start Choice [1..*]
<command> SimpleCraftCommand </command> [0..*]
End Choice
</ModifierList>
End All
</SimpleCraftCommands>
Schema Component Representation
<xs:element name="SimpleCraftCommands">
<xs:complexType>
<xs:all>
<xs:element name="ModifierList" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:complexContent>
<xs:restriction base="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="SimpleCraftCommand" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: SnakeDecorator

Name SnakeDecorator
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<SnakeDecorator>
Start All [1]
<Seed> xs:string (pattern = random|[0-9]+) </Seed> [1] ?
<MaterialSeed> xs:string (pattern = random|[0-9]+) </MaterialSeed> [0..1] ?
<FreshBlock> SnakeBlock </FreshBlock> [1]
<StaleBlock> SnakeBlock </StaleBlock> [1]
<GapProbability
variance="xs:decimal [0..1]"> [1]
xs:decimal
</GapProbability>
<StairsProbability
variance="xs:decimal [0..1]"> [1]
xs:decimal
</StairsProbability>
<TurnProbability
variance="xs:decimal [0..1]"> [1]
xs:decimal
</TurnProbability>
<SizeAndPosition
xOrigin="xs:int [0..1]"
yOrigin="xs:int [0..1]"
zOrigin="xs:int [0..1]"
yMin="xs:int [0..1]"
yMax="xs:int [0..1]"/> [1]
<SpeedInTicks> xs:int </SpeedInTicks> [1]
<MaxLength> xs:int </MaxLength> [1]
<MaxStairLength> xs:int </MaxStairLength> [1]
End All
</SnakeDecorator>
Schema Component Representation
<xs:element name="SnakeDecorator">
<xs:complexType>
<xs:all>
<xs:element name="Seed">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="random|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MaterialSeed" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="random|[0-9]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FreshBlock" type="SnakeBlock"/>
<xs:element name="StaleBlock" type="SnakeBlock"/>
<xs:element name="GapProbability">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="variance" type="xs:decimal" use="optional" default="0"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="StairsProbability">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="variance" type="xs:decimal" use="optional" default="0"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="TurnProbability">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:decimal">
<xs:attribute name="variance" type="xs:decimal" use="optional" default="0"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="SizeAndPosition">
<xs:complexType>
<xs:attribute name="xOrigin" type="xs:int" default="0"/>
<xs:attribute name="yOrigin" type="xs:int" default="55"/>
<xs:attribute name="zOrigin" type="xs:int" default="0"/>
<xs:attribute name="yMin" type="xs:int" default="32"/>
<xs:attribute name="yMax" type="xs:int" default="250"/>
</xs:complexType>
</xs:element>
<xs:element name="SpeedInTicks" type="xs:int" default="6"/>
<xs:element name="MaxLength" type="xs:int" default="30"/>
<xs:element name="MaxStairLength" type="xs:int" default="20"/>
</xs:all>
</xs:complexType>
</xs:element>
top

Element: TurnBasedCommands

Name TurnBasedCommands
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<TurnBasedCommands
requestedPosition="xs:integer (value >= 0) [0..1]">
Start All [1]
<AbsoluteMovementCommands> ... </AbsoluteMovementCommands> [0..1]
<DiscreteMovementCommands> ... </DiscreteMovementCommands> [0..1]
<InventoryCommands> ... </InventoryCommands> [0..1]
<ChatCommands> ... </ChatCommands> [0..1]
<SimpleCraftCommands> ... </SimpleCraftCommands> [0..1]
<MissionQuitCommands> ... </MissionQuitCommands> [0..1]
End All
</TurnBasedCommands>
Schema Component Representation
<xs:element name="TurnBasedCommands">
<xs:complexType>
<xs:group ref="TurnBasedApplicableCommandHandlers"/>
<xs:attribute name="requestedPosition">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
top

Element: VideoProducer

Name VideoProducer
Type Locally-defined complex type
Nillable no
Abstract no
Javascript required.
XML Instance Representation
<VideoProducer
want_depth="xs:boolean [0..1] ?"
viewpoint="xs:int (0 <= value <= 2) [0..1] ?">
<Width> xs:int </Width> [1]
<Height> xs:int </Height> [1]
<DepthScaling
min="xs:decimal (0 <= value <= 1) [0..1]"
max="xs:decimal (0 <= value <= 1) [0..1]"
autoscale="xs:boolean [0..1] ?"/> [0..1]
</VideoProducer>
Schema Component Representation
<xs:element name="VideoProducer">
<xs:complexType>
<xs:sequence>
<xs:element name="Width" type="xs:int"/>
<xs:element name="Height" type="xs:int"/>
<xs:element name="DepthScaling" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:attribute name="min" default="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="max" default="1">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="autoscale" type="xs:boolean" default="true"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="want_depth" type="xs:boolean" default="false"/>
<xs:attribute name="viewpoint" default="0">
<xs:simpleType>
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
top

Global Definitions

Attribute Group: RewardProducerAttributes

Name RewardProducerAttributes
XML Instance Representation
dimension="Dimension [0..1]"
Schema Component Representation
<xs:attributeGroup name="RewardProducerAttributes">
<-- Common attributes that are shared by all reward producers. -->
<xs:attribute name="dimension" type="Dimension" use="optional" default="0"/>
</xs:attributeGroup>
top

Complex Type: BlockOrItemSpec

Super-types: None
Sub-types:
Name BlockOrItemSpec
Abstract no
XML Instance Representation
<...
type="BlockOrItemList [1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"/>
Schema Component Representation
<xs:complexType name="BlockOrItemSpec">
<xs:attribute name="type" type="BlockOrItemList" use="required"/>
<xs:attribute name="variant" type="VariantList" use="optional"/>
<xs:attribute name="colour" type="ColourList" use="optional"/>
</xs:complexType>
top

Complex Type: BlockOrItemSpecWithDescription

Super-types: BlockOrItemSpec < BlockOrItemSpecWithDescription (by extension)
Sub-types: None
Name BlockOrItemSpecWithDescription
Abstract no
XML Instance Representation
<...
type="BlockOrItemList [1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
description="xs:string [0..1]"/>
Schema Component Representation
<xs:complexType name="BlockOrItemSpecWithDescription">
<xs:complexContent>
<xs:extension base="BlockOrItemSpec">
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: BlockOrItemSpecWithReward

Super-types: BlockOrItemSpec < BlockOrItemSpecWithReward (by extension)
Sub-types: None
Name BlockOrItemSpecWithReward
Abstract no
XML Instance Representation
<...
type="BlockOrItemList [1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
reward="xs:decimal [1]"
distribution="xs:string [0..1]"/>
Schema Component Representation
<xs:complexType name="BlockOrItemSpecWithReward">
<xs:complexContent>
<xs:extension base="BlockOrItemSpec">
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: BlockSpec

Super-types: None
Sub-types:
Name BlockSpec
Abstract no
XML Instance Representation
<...
type="BlockList [1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"/>
Schema Component Representation
<xs:complexType name="BlockSpec">
<xs:attribute name="type" type="BlockList" use="required"/>
<xs:attribute name="variant" type="VariantList" use="optional"/>
<xs:attribute name="colour" type="ColourList" use="optional"/>
</xs:complexType>
top

Complex Type: BlockSpecWithDescription

Super-types: BlockSpec < BlockSpecWithDescription (by extension)
Sub-types: None
Name BlockSpecWithDescription
Abstract no
XML Instance Representation
<...
type="BlockList [1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
description="xs:string [0..1]"/>
Schema Component Representation
<xs:complexType name="BlockSpecWithDescription">
<xs:complexContent>
<xs:extension base="BlockSpec">
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: BlockSpecWithRewardAndBehaviour

Super-types: BlockSpec < BlockSpecWithRewardAndBehaviour (by extension)
Sub-types: None
Name BlockSpecWithRewardAndBehaviour
Abstract no
XML Instance Representation
<...
type="BlockList [1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
reward="xs:decimal [1]"
distribution="xs:string [0..1]"
behaviour="Behaviour [0..1]"
cooldownInMs="xs:decimal [0..1]"/>
Schema Component Representation
<xs:complexType name="BlockSpecWithRewardAndBehaviour">
<xs:complexContent>
<xs:extension base="BlockSpec">
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
<xs:attribute name="behaviour" type="Behaviour" use="optional" default="oncePerBlock"/>
<xs:attribute name="cooldownInMs" type="xs:decimal" use="optional" default="1000"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: ChatMatchSpec

Super-types: None
Sub-types: None
Name ChatMatchSpec
Abstract no
XML Instance Representation
<...
description="xs:string [1]"
reward="xs:decimal [1]"
distribution="xs:string [0..1]"
regex="xs:string [1]"/>
Schema Component Representation
<xs:complexType name="ChatMatchSpec">
<xs:attribute name="description" type="xs:string" use="required"/>
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
<xs:attribute name="regex" type="xs:string" use="required"/>
</xs:complexType>
top

Complex Type: CommandListModifier

Super-types: None
Sub-types: None
Name CommandListModifier
Abstract no
Javascript required.
XML Instance Representation
<...
type="xs:string (value comes from list: {'deny-list'|'allow-list'}) [0..1]">
Start Choice [1..*]
<command> xs:string </command> [0..*]
End Choice
</...>
Schema Component Representation
<xs:complexType name="CommandListModifier">
<xs:choice maxOccurs="unbounded">
<xs:element name="command" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name="type" use="optional" default="deny-list">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="deny-list"/>
<xs:enumeration value="allow-list"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
top

Complex Type: CommandQuota

Super-types: None
Sub-types: None
Name CommandQuota
Abstract no
Javascript required.
XML Instance Representation
<...
commands="CommandList [1] ?"
quota="xs:int [1] ?"
description="xs:string [0..1] ?"/>
Schema Component Representation
<xs:complexType name="CommandQuota">
<xs:attribute name="commands" type="CommandList" use="required"/>
<xs:attribute name="quota" type="xs:int" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:complexType>
top

Complex Type: DrawBlock

Super-types: DrawObjectType < DrawBlockBasedObjectType (by extension) < DrawBlock (by extension)
Sub-types: None
Name DrawBlock
Abstract no
Javascript required.
XML Instance Representation
<...
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"/>
Schema Component Representation
<xs:complexType name="DrawBlock">
<xs:complexContent>
<xs:extension base="DrawBlockBasedObjectType">
<xs:attribute name="x" type="xs:int" use="required"/>
<xs:attribute name="y" type="xs:int" use="required"/>
<xs:attribute name="z" type="xs:int" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DrawBlockBasedObjectType

Super-types: DrawObjectType < DrawBlockBasedObjectType (by extension)
Sub-types:
Name DrawBlockBasedObjectType
Abstract no
Javascript required.
XML Instance Representation
<...
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"/>
Schema Component Representation
<xs:complexType name="DrawBlockBasedObjectType">
<xs:complexContent>
<xs:extension base="DrawObjectType">
<xs:attribute name="type" type="BlockType" use="required"/>
<xs:attribute name="variant" type="Variation" use="optional"/>
<xs:attribute name="colour" type="Colour" use="optional"/>
<xs:attribute name="face" type="Facing" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DrawCuboid

Super-types: DrawObjectType < DrawBlockBasedObjectType (by extension) < DrawCuboid (by extension)
Sub-types: None
Name DrawCuboid
Abstract no
Javascript required.
XML Instance Representation
<...
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x1="xs:int [1]"
y1="xs:int [1]"
z1="xs:int [1]"
x2="xs:int [1]"
y2="xs:int [1]"
z2="xs:int [1]"/>
Schema Component Representation
<xs:complexType name="DrawCuboid">
<xs:complexContent>
<xs:extension base="DrawBlockBasedObjectType">
<xs:attribute name="x1" type="xs:int" use="required"/>
<xs:attribute name="y1" type="xs:int" use="required"/>
<xs:attribute name="z1" type="xs:int" use="required"/>
<xs:attribute name="x2" type="xs:int" use="required"/>
<xs:attribute name="y2" type="xs:int" use="required"/>
<xs:attribute name="z2" type="xs:int" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DrawEntity

Super-types: DrawObjectType < DrawEntity (by extension)
Sub-types: None
Name DrawEntity
Abstract no
Javascript required.
XML Instance Representation
<...
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"
type="SpawnableTypes [1]"
yaw="xs:decimal [0..1]"
pitch="xs:decimal [0..1]"
xVel="xs:decimal [0..1]"
yVel="xs:decimal [0..1]"
zVel="xs:decimal [0..1]"/>
Schema Component Representation
<xs:complexType name="DrawEntity">
<xs:complexContent>
<xs:extension base="DrawObjectType">
<xs:attribute name="x" type="xs:decimal" use="required"/>
<xs:attribute name="y" type="xs:decimal" use="required"/>
<xs:attribute name="z" type="xs:decimal" use="required"/>
<xs:attribute name="type" type="SpawnableTypes" use="required"/>
<xs:attribute name="yaw" type="xs:decimal" use="optional" default="0"/>
<xs:attribute name="pitch" type="xs:decimal" use="optional" default="0"/>
<xs:attribute name="xVel" type="xs:decimal" use="optional" default="0"/>
<xs:attribute name="yVel" type="xs:decimal" use="optional" default="0"/>
<xs:attribute name="zVel" type="xs:decimal" use="optional" default="0"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DrawItem

Super-types: DrawObjectType < DrawItem (by extension)
Sub-types: None
Name DrawItem
Abstract no
Javascript required.
XML Instance Representation
<...
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"
type="BlockOrItem [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"/>
Schema Component Representation
<xs:complexType name="DrawItem">
<xs:complexContent>
<xs:extension base="DrawObjectType">
<xs:attribute name="x" type="xs:int" use="required"/>
<xs:attribute name="y" type="xs:int" use="required"/>
<xs:attribute name="z" type="xs:int" use="required"/>
<xs:attribute name="type" type="BlockOrItem" use="required"/>
<xs:attribute name="variant" type="Variation" use="optional"/>
<xs:attribute name="colour" type="Colour" use="optional"/>
<xs:attribute name="face" type="Facing" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DrawLine

Super-types: DrawObjectType < DrawBlockBasedObjectType (by extension) < DrawLine (by extension)
Sub-types: None
Name DrawLine
Abstract no
Javascript required.
XML Instance Representation
<...
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x1="xs:int [1]"
y1="xs:int [1]"
z1="xs:int [1]"
x2="xs:int [1]"
y2="xs:int [1]"
z2="xs:int [1]"
steptype="BlockType [0..1]"/>
Schema Component Representation
<xs:complexType name="DrawLine">
<xs:complexContent>
<xs:extension base="DrawBlockBasedObjectType">
<xs:attribute name="x1" type="xs:int" use="required"/>
<xs:attribute name="y1" type="xs:int" use="required"/>
<xs:attribute name="z1" type="xs:int" use="required"/>
<xs:attribute name="x2" type="xs:int" use="required"/>
<xs:attribute name="y2" type="xs:int" use="required"/>
<xs:attribute name="z2" type="xs:int" use="required"/>
<xs:attribute name="steptype" type="BlockType" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: DrawObjectType

Super-types: None
Sub-types:
Name DrawObjectType
Abstract no
Javascript required.
XML Instance Representation
<.../>
Schema Component Representation
<xs:complexType name="DrawObjectType"/>
top

Complex Type: DrawSphere

Super-types: DrawObjectType < DrawBlockBasedObjectType (by extension) < DrawSphere (by extension)
Sub-types: None
Name DrawSphere
Abstract no
Javascript required.
XML Instance Representation
<...
type="BlockType [1]"
variant="Variation [0..1]"
colour="Colour [0..1]"
face="Facing [0..1]"
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"
radius="xs:int [1]"/>
Schema Component Representation
<xs:complexType name="DrawSphere">
<xs:complexContent>
<xs:extension base="DrawBlockBasedObjectType">
<xs:attribute name="x" type="xs:int" use="required"/>
<xs:attribute name="y" type="xs:int" use="required"/>
<xs:attribute name="z" type="xs:int" use="required"/>
<xs:attribute name="radius" type="xs:int" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: GridDefinition

Super-types: None
Sub-types: None
Name GridDefinition
Abstract no
Javascript required.
XML Instance Representation
<...
name="xs:Name [1]"
absoluteCoords="xs:boolean [0..1]">
<min> Pos </min> [1]
<max> Pos </max> [1]
</...>
Schema Component Representation
<xs:complexType name="GridDefinition">
<xs:sequence>
<xs:element name="min" type="Pos"/>
<xs:element name="max" type="Pos"/>
</xs:sequence>
<xs:attribute name="name" type="xs:Name" use="required"/>
<xs:attribute name="absoluteCoords" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
top

Complex Type: HorizontalObstacles

Super-types: None
Sub-types: None
Name HorizontalObstacles
Abstract no
XML Instance Representation
<...>
Start All [1]
<gap> NonNegative </gap> [1]
<bridge> NonNegative </bridge> [1]
<door> NonNegative </door> [1]
<puzzle> NonNegative </puzzle> [1]
<jump> NonNegative </jump> [1]
End All
</...>
Schema Component Representation
<xs:complexType name="HorizontalObstacles">
<xs:all>
<xs:element name="gap" type="NonNegative"/>
<xs:element name="bridge" type="NonNegative"/>
<xs:element name="door" type="NonNegative"/>
<xs:element name="puzzle" type="NonNegative"/>
<xs:element name="jump" type="NonNegative"/>
</xs:all>
</xs:complexType>
top

Complex Type: ItemSpec

Super-types: None
Sub-types: None
Name ItemSpec
Abstract no
XML Instance Representation
<...
reward="xs:decimal [1]"
distribution="xs:string [0..1]"
type="BlockOrItemList [1]"/>
Schema Component Representation
<xs:complexType name="ItemSpec">
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
<xs:attribute name="type" type="BlockOrItemList" use="required"/>
</xs:complexType>
top

Complex Type: MazeBlock

Super-types: None
Sub-types:
Name MazeBlock
Abstract no
XML Instance Representation
<...
type="BlockList [0..1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
height="xs:int [0..1]"
heightVariance="xs:int [0..1]"/>
Schema Component Representation
<xs:complexType name="MazeBlock">
<xs:attribute name="type" type="BlockList" use="optional"/>
<xs:attribute name="variant" type="VariantList" use="optional"/>
<xs:attribute name="colour" type="ColourList" use="optional"/>
<xs:attribute name="height" type="xs:int" use="optional" default="1"/>
<xs:attribute name="heightVariance" type="xs:int" use="optional" default="0"/>
</xs:complexType>
top

Complex Type: MazeTerminus

Super-types: MazeBlock < MazeTerminus (by extension)
Sub-types: None
Name MazeTerminus
Abstract no
XML Instance Representation
<...
type="BlockList [0..1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
height="xs:int [0..1]"
heightVariance="xs:int [0..1]"
fixedToEdge="xs:boolean [0..1]"/>
Schema Component Representation
<xs:complexType name="MazeTerminus">
<xs:complexContent>
<xs:extension base="MazeBlock">
<xs:attribute name="fixedToEdge" type="xs:boolean" use="optional" default="false"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: MissionEndRewardCase

Super-types: None
Sub-types: None
Name MissionEndRewardCase
Abstract no
XML Instance Representation
<...
reward="xs:decimal [1]"
distribution="xs:string [0..1]"
description="xs:string [1]"/>
Schema Component Representation
<xs:complexType name="MissionEndRewardCase">
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
<xs:attribute name="description" type="xs:string" use="required"/>
</xs:complexType>
top

Complex Type: MobWithDescription

Super-types: None
Sub-types:
Name MobWithDescription
Abstract no
XML Instance Representation
<...
type="MobList [1]"
description="xs:string [0..1]"
global="xs:boolean [0..1]"/>
Schema Component Representation
<xs:complexType name="MobWithDescription">
<xs:attribute name="type" type="MobList" use="required"/>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
<xs:attribute name="global" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
top

Complex Type: MobWithDescriptionAndReward

Super-types: MobWithDescription < MobWithDescriptionAndReward (by extension)
Sub-types: None
Name MobWithDescriptionAndReward
Abstract no
XML Instance Representation
<...
type="MobList [1]"
description="xs:string [0..1]"
global="xs:boolean [0..1]"
reward="xs:decimal [1]"
distribution="xs:string [0..1]"
oneshot="xs:boolean [0..1]"/>
Schema Component Representation
<xs:complexType name="MobWithDescriptionAndReward">
<xs:complexContent>
<xs:extension base="MobWithDescription">
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
<xs:attribute name="oneshot" type="xs:boolean" use="optional" default="true"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: NamedPoint

Super-types: Pos < NamedPoint (by extension)
Sub-types: None
Name NamedPoint
Abstract no
XML Instance Representation
<...
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"
name="xs:Name [1]"/>
Schema Component Representation
<xs:complexType name="NamedPoint">
<xs:complexContent>
<xs:extension base="Pos">
<xs:attribute name="name" type="xs:Name" use="required"/>
<-- ObservationFromDistance handler will return JSON with property "distanceFrom<name>" -->
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: PointWithReward

Super-types: Pos < PointWithReward (by extension)
Sub-types: None
Name PointWithReward
Abstract no
XML Instance Representation
<...
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"
reward="xs:decimal [1]"
tolerance="xs:decimal [1]"
oneshot="xs:boolean [0..1]"
distribution="xs:string [0..1]"/>
Schema Component Representation
<xs:complexType name="PointWithReward">
<xs:complexContent>
<xs:extension base="Pos">
<xs:attribute name="reward" type="xs:decimal" use="required"/>
<xs:attribute name="tolerance" type="xs:decimal" use="required"/>
<xs:attribute name="oneshot" type="xs:boolean" use="optional" default="true"/>
<xs:attribute name="distribution" type="xs:string" use="optional" default=""/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: PointWithToleranceAndDescription

Super-types: Pos < PointWithToleranceAndDescription (by extension)
Sub-types: None
Name PointWithToleranceAndDescription
Abstract no
XML Instance Representation
<...
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"
tolerance="xs:decimal [0..1]"
description="xs:string [0..1]"/>
Schema Component Representation
<xs:complexType name="PointWithToleranceAndDescription">
<xs:complexContent>
<xs:extension base="Pos">
<xs:attribute name="tolerance" type="xs:decimal" use="optional" default="0.5"/>
<xs:attribute name="description" type="xs:string" use="optional" default=""/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: Pos

Super-types: None
Sub-types:
Name Pos
Abstract no
Javascript required.
XML Instance Representation
<...
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"/>
Schema Component Representation
<xs:complexType name="Pos">
<xs:attribute name="x" type="xs:decimal" use="required"/>
<xs:attribute name="y" type="xs:decimal" use="required"/>
<xs:attribute name="z" type="xs:decimal" use="required"/>
</xs:complexType>
top

Complex Type: PosAndDirection

Super-types: Pos < PosAndDirection (by extension)
Sub-types: None
Name PosAndDirection
Abstract no
Javascript required.
XML Instance Representation
<...
x="xs:decimal [1]"
y="xs:decimal [1]"
z="xs:decimal [1]"
yaw="xs:decimal (-360 <= value <= 360) [0..1] ?"
pitch="xs:decimal (-90 <= value <= 90) [0..1] ?"/>
Schema Component Representation
<xs:complexType name="PosAndDirection">
<xs:complexContent>
<xs:extension base="Pos">
<xs:attribute name="yaw" use="optional" default="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="-360"/>
<xs:maxInclusive value="360"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="pitch" use="optional" default="0">
<xs:simpleType>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="-90"/>
<xs:maxInclusive value="90"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
top

Complex Type: RangeDefinition

Super-types: None
Sub-types: None
Name RangeDefinition
Abstract no
Javascript required.
XML Instance Representation
<...
name="xs:Name [1]"
xrange="xs:decimal [1]"
yrange="xs:decimal [1]"
zrange="xs:decimal [1]"
update_frequency="xs:int [0..1]"/>
Schema Component Representation
<xs:complexType name="RangeDefinition">
<xs:attribute name="name" type="xs:Name" use="required"/>
<xs:attribute name="xrange" type="xs:decimal" use="required"/>
<xs:attribute name="yrange" type="xs:decimal" use="required"/>
<xs:attribute name="zrange" type="xs:decimal" use="required"/>
<xs:attribute name="update_frequency" type="xs:int" use="optional" default="1"/>
</xs:complexType>
top

Complex Type: SnakeBlock

Super-types: None
Sub-types: None
Name SnakeBlock
Abstract no
XML Instance Representation
<...
type="BlockList [0..1]"
variant="VariantList [0..1]"
colour="ColourList [0..1]"
lifetime="xs:int [0..1]"
lifetimeVariance="xs:int [0..1]"/>
Schema Component Representation
<xs:complexType name="SnakeBlock">
<xs:attribute name="type" type="BlockList" use="optional"/>
<xs:attribute name="variant" type="VariantList" use="optional"/>
<xs:attribute name="colour" type="ColourList" use="optional"/>
<xs:attribute name="lifetime" type="xs:int" use="optional" default="1"/>
<xs:attribute name="lifetimeVariance" type="xs:int" use="optional" default="0"/>
</xs:complexType>
top

Complex Type: UnnamedGridDefinition

Super-types: None
Sub-types: None
Name UnnamedGridDefinition
Abstract no
XML Instance Representation
<...>
<min
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"/> [1]
<max
x="xs:int [1]"
y="xs:int [1]"
z="xs:int [1]"/> [1]
</...>
Schema Component Representation
<xs:complexType name="UnnamedGridDefinition">
<xs:sequence>
<xs:element name="min">
<xs:complexType>
<xs:attribute name="x" type="xs:int" use="required"/>
<xs:attribute name="y" type="xs:int" use="required"/>
<xs:attribute name="z" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="max">
<xs:complexType>
<xs:attribute name="x" type="xs:int" use="required"/>
<xs:attribute name="y" type="xs:int" use="required"/>
<xs:attribute name="z" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
top

Complex Type: VerticalObstacles

Super-types: None
Sub-types: None
Name VerticalObstacles
Abstract no
XML Instance Representation
<...>
Start All [1]
<stairs> NonNegative </stairs> [1]
<ladder> NonNegative </ladder> [1]
<jump> NonNegative </jump> [1]
End All
</...>
Schema Component Representation
<xs:complexType name="VerticalObstacles">
<xs:all>
<xs:element name="stairs" type="NonNegative"/>
<xs:element name="ladder" type="NonNegative"/>
<xs:element name="jump" type="NonNegative"/>
</xs:all>
</xs:complexType>
top

Simple Type: AbsoluteMovementCommand

Super-types: xs:string < AbsoluteMovementCommand (by restriction)
Sub-types: None
Name AbsoluteMovementCommand
Content
  • Base XSD Type: string
  • value comes from list: {'tpx'|'tpy'|'tpz'|'tp'|'setYaw'|'setPitch'}
Javascript required.
Schema Component Representation
<xs:simpleType name="AbsoluteMovementCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="tpx"/>
<xs:enumeration value="tpy"/>
<xs:enumeration value="tpz"/>
<xs:enumeration value="tp"/>
<xs:enumeration value="setYaw"/>
<xs:enumeration value="setPitch"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: Behaviour

Super-types: xs:string < Behaviour (by restriction)
Sub-types: None
Name Behaviour
Content
  • Base XSD Type: string
  • value comes from list: {'onceOnly'|'oncePerBlock'|'oncePerTimeSpan'|'constant'}
Schema Component Representation
<xs:simpleType name="Behaviour">
<xs:restriction base="xs:string">
<xs:enumeration value="onceOnly"/>
<xs:enumeration value="oncePerBlock"/>
<xs:enumeration value="oncePerTimeSpan"/>
<xs:enumeration value="constant"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: BlockList

Super-types: None
Sub-types: None
Name BlockList
Content
Schema Component Representation
<xs:simpleType name="BlockList">
<xs:list itemType="BlockType"/>
</xs:simpleType>
top

Simple Type: BlockOrItemList

Super-types: None
Sub-types: None
Name BlockOrItemList
Content
Schema Component Representation
<xs:simpleType name="BlockOrItemList">
<xs:list itemType="BlockOrItem"/>
</xs:simpleType>
top

Simple Type: BuildingSize

Super-types: xs:int < BuildingSize (by restriction)
Sub-types: None
Name BuildingSize
Content
  • Base XSD Type: int
  • 7 <= value <= 50
Schema Component Representation
<xs:simpleType name="BuildingSize">
<xs:restriction base="xs:int">
<xs:minInclusive value="7"/>
<xs:maxInclusive value="50"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: ChatCommand

Super-types: xs:string < ChatCommand (by restriction)
Sub-types: None
Name ChatCommand
Content
  • Base XSD Type: string
  • value comes from list: {'chat'}
Javascript required.
Schema Component Representation
<xs:simpleType name="ChatCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="chat"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: ColourList

Super-types: None
Sub-types: None
Name ColourList
Content
Schema Component Representation
<xs:simpleType name="ColourList">
<xs:list itemType="Colour"/>
</xs:simpleType>
top

Simple Type: Command

Super-types: None
Sub-types: None
Name Command
Content
Schema Component Representation
<xs:simpleType name="Command">
<xs:union memberTypes="ContinuousMovementCommand AbsoluteMovementCommand DiscreteMovementCommand InventoryCommand ChatCommand SimpleCraftCommand MissionQuitCommand"/>
</xs:simpleType>
top

Simple Type: CommandList

Super-types: None
Sub-types: None
Name CommandList
Content
Schema Component Representation
<xs:simpleType name="CommandList">
<xs:list itemType="Command"/>
</xs:simpleType>
top

Simple Type: ContinuousMovementCommand

Super-types: xs:string < ContinuousMovementCommand (by restriction)
Sub-types: None
Name ContinuousMovementCommand
Content
  • Base XSD Type: string
  • value comes from list: {'move'|'strafe'|'pitch'|'turn'|'jump'|'crouch'|'attack'|'use'}
Javascript required.
Schema Component Representation
<xs:simpleType name="ContinuousMovementCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="move"/>
<xs:enumeration value="strafe"/>
<xs:enumeration value="pitch"/>
<xs:enumeration value="turn"/>
<xs:enumeration value="jump"/>
<xs:enumeration value="crouch"/>
<xs:enumeration value="attack"/>
<xs:enumeration value="use"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: Dimension

Super-types: xs:int < Dimension (by restriction)
Sub-types: None
Name Dimension
Content
  • Base XSD Type: int
  • value >= 0
Javascript required.
Schema Component Representation
<xs:simpleType name="Dimension">
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: DiscreteMovementCommand

Super-types: xs:string < DiscreteMovementCommand (by restriction)
Sub-types: None
Name DiscreteMovementCommand
Content
  • Base XSD Type: string
  • value comes from list: {'move'|'jumpmove'|'strafe'|'jumpstrafe'|'turn'|'movenorth'|'moveeast'|'movesouth'|'movewest'|'jumpnorth'|'jumpeast'|'jumpsouth'|'jumpwest'|'jump'|'look'|'attack'|'use'|'jumpuse'}
Javascript required.
Schema Component Representation
<xs:simpleType name="DiscreteMovementCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="move"/>
<xs:enumeration value="jumpmove"/>
<xs:enumeration value="strafe"/>
<xs:enumeration value="jumpstrafe"/>
<xs:enumeration value="turn"/>
<xs:enumeration value="movenorth"/>
<xs:enumeration value="moveeast"/>
<xs:enumeration value="movesouth"/>
<xs:enumeration value="movewest"/>
<xs:enumeration value="jumpnorth"/>
<xs:enumeration value="jumpeast"/>
<xs:enumeration value="jumpsouth"/>
<xs:enumeration value="jumpwest"/>
<xs:enumeration value="jump"/>
<xs:enumeration value="look"/>
<xs:enumeration value="attack"/>
<xs:enumeration value="use"/>
<xs:enumeration value="jumpuse"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: InventoryCommand

Super-types: xs:string < InventoryCommand (by restriction)
Sub-types: None
Name InventoryCommand
Content
  • Base XSD Type: string
  • value comes from list: {'swapInventoryItems'|'combineInventoryItems'|'discardCurrentItem'|'hotbar.1'|'hotbar.2'|'hotbar.3'|'hotbar.4'|'hotbar.5'|'hotbar.6'|'hotbar.7'|'hotbar.8'|'hotbar.9'}
Javascript required.
Schema Component Representation
<xs:simpleType name="InventoryCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="swapInventoryItems"/>
<xs:enumeration value="combineInventoryItems"/>
<xs:enumeration value="discardCurrentItem"/>
<xs:enumeration value="hotbar.1"/>
<xs:enumeration value="hotbar.2"/>
<xs:enumeration value="hotbar.3"/>
<xs:enumeration value="hotbar.4"/>
<xs:enumeration value="hotbar.5"/>
<xs:enumeration value="hotbar.6"/>
<xs:enumeration value="hotbar.7"/>
<xs:enumeration value="hotbar.8"/>
<xs:enumeration value="hotbar.9"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: ItemList

Super-types: None
Sub-types: None
Name ItemList
Content
Schema Component Representation
<xs:simpleType name="ItemList">
<xs:list itemType="ItemType"/>
</xs:simpleType>
top

Simple Type: MissionQuitCommand

Super-types: xs:string < MissionQuitCommand (by restriction)
Sub-types: None
Name MissionQuitCommand
Content
  • Base XSD Type: string
  • value comes from list: {'quit'}
Javascript required.
Schema Component Representation
<xs:simpleType name="MissionQuitCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="quit"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: MobList

Super-types: None
Sub-types: None
Name MobList
Content
Schema Component Representation
<xs:simpleType name="MobList">
<xs:list itemType="EntityTypes"/>
</xs:simpleType>
top

Simple Type: NonNegative

Super-types: xs:int < NonNegative (by restriction)
Sub-types: None
Name NonNegative
Content
  • Base XSD Type: int
  • value >= 0
Schema Component Representation
<xs:simpleType name="NonNegative">
<xs:restriction base="xs:int">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: PaletteEnum

Super-types: xs:string < PaletteEnum (by restriction)
Sub-types: None
Name PaletteEnum
Content
  • Base XSD Type: string
  • value comes from list: {'default'|'random'|'dungeon'|'pyramid'|'igloo'}
Schema Component Representation
<xs:simpleType name="PaletteEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="default"/>
<xs:enumeration value="random"/>
<xs:enumeration value="dungeon"/>
<xs:enumeration value="pyramid"/>
<xs:enumeration value="igloo"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: RewardDensityForBuildAndBreak

Super-types: xs:string < RewardDensityForBuildAndBreak (by restriction)
Sub-types: None
Name RewardDensityForBuildAndBreak
Content
  • Base XSD Type: string
  • value comes from list: {'PER_BLOCK'|'MISSION_END'}
Javascript required.
Schema Component Representation
<xs:simpleType name="RewardDensityForBuildAndBreak">
<xs:restriction base="xs:string">
<xs:enumeration value="PER_BLOCK"/>
<xs:enumeration value="MISSION_END"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: RewardDensityForTimeTaken

Super-types: xs:string < RewardDensityForTimeTaken (by restriction)
Sub-types: None
Name RewardDensityForTimeTaken
Content
  • Base XSD Type: string
  • value comes from list: {'PER_TICK'|'PER_TICK_ACCUMULATED'|'MISSION_END'}
Javascript required.
Schema Component Representation
<xs:simpleType name="RewardDensityForTimeTaken">
<xs:restriction base="xs:string">
<xs:enumeration value="PER_TICK"/>
<xs:enumeration value="PER_TICK_ACCUMULATED"/>
<xs:enumeration value="MISSION_END"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: SimpleCraftCommand

Super-types: xs:string < SimpleCraftCommand (by restriction)
Sub-types: None
Name SimpleCraftCommand
Content
  • Base XSD Type: string
  • value comes from list: {'craft'}
Javascript required.
Schema Component Representation
<xs:simpleType name="SimpleCraftCommand">
<xs:restriction base="xs:string">
<xs:enumeration value="craft"/>
</xs:restriction>
</xs:simpleType>
top

Simple Type: VariantList

Super-types: None
Sub-types: None
Name VariantList
Content
Schema Component Representation
<xs:simpleType name="VariantList">
<xs:list itemType="Variation"/>
</xs:simpleType>
top

Simple Type: ZeroToOne

Super-types: xs:double < ZeroToOne (by restriction)
Sub-types: None
Name ZeroToOne
Content
  • Base XSD Type: double
  • 0 <= value <= 1
Schema Component Representation
<xs:simpleType name="ZeroToOne">
<xs:restriction base="xs:double">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<... country="Australia">
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]?
</...>

The XML Instance Representation table above shows the schema component's content as an XML instance.

Schema Component Representation
<complexTypename="AusAddress">
<complexContent>
<extensionbase="Address">
<sequence>
<elementname="state" type="AusStates"/>
<elementname="postcode">
<simpleType>
<restrictionbase="string">
<patternvalue="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attributename="country" type="string" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top