Skip to content

Obstruction

Examples

Example

<Obstruction>
</Obstruction>

XML Elements

The following elements can be used within this component:

Obstruction

Static

Path: Obstruction/Static

Unit

Path: Obstruction/Unit

Obstructions

Path: Obstruction/Obstructions

Active

If false, this entity will be ignored in collision tests by other units but can still perform its own collision tests

Type: boolean (true or false)

Path: Obstruction/Active

BlockMovement

Whether units should be allowed to walk through this entity

Type: boolean (true or false)

Path: Obstruction/BlockMovement

BlockPathfinding

Whether the long-distance pathfinder should avoid paths through this entity. This should only be set for large stationary obstructions

Type: boolean (true or false)

Path: Obstruction/BlockPathfinding

BlockFoundation

Whether players should be unable to place building foundations on top of this entity. If true, BlockConstruction should be true too

Type: boolean (true or false)

Path: Obstruction/BlockFoundation

BlockConstruction

Whether players should be unable to begin constructing buildings placed on top of this entity

Type: boolean (true or false)

Path: Obstruction/BlockConstruction

DeleteUponConstruction

Whether this entity should be deleted when construction on a buildings placed on top of this entity is started.

Type: boolean (true or false)

Path: Obstruction/DeleteUponConstruction

DisableBlockMovement

If true, BlockMovement will be overridden and treated as false. (This is a special case to handle foundations)

Type: boolean (true or false)

Path: Obstruction/DisableBlockMovement

DisableBlockPathfinding

If true, BlockPathfinding will be overridden and treated as false. (This is a special case to handle foundations)

Type: boolean (true or false)

Path: Obstruction/DisableBlockPathfinding

ControlPersist

If present, the control group of this entity will be given to entities that are colliding with it.

Path: Obstruction/ControlPersist

RELAX NG Grammar

<define name="component.Obstruction">
  <element name="Obstruction">
    <interleave>
      <choice>
        <element name="Static">
          <attribute name="width">
            <data type="decimal">
              <param name="minInclusive">
              </param>
            </data>
          </attribute>
          <attribute name="depth">
            <data type="decimal">
              <param name="minInclusive">
              </param>
            </data>
          </attribute>
        </element>
        <element name="Unit">
          <empty/>
        </element>
        <element name="Obstructions">
          <zeroOrMore>
            <element>
              <anyName/>
              <optional>
                <attribute name="x">
                  <data type="decimal"/>
                </attribute>
              </optional>
              <optional>
                <attribute name="z">
                  <data type="decimal"/>
                </attribute>
              </optional>
              <attribute name="width">
                <data type="decimal">
                  <param name="minInclusive">
                  </param>
                </data>
              </attribute>
              <attribute name="depth">
                <data type="decimal">
                  <param name="minInclusive">
                  </param>
                </data>
              </attribute>
            </element>
          </zeroOrMore>
        </element>
      </choice>
      <element name="Active">
        <data type="boolean"/>
      </element>
      <element name="BlockMovement">
        <data type="boolean"/>
      </element>
      <element name="BlockPathfinding">
        <data type="boolean"/>
      </element>
      <element name="BlockFoundation">
        <data type="boolean"/>
      </element>
      <element name="BlockConstruction">
        <data type="boolean"/>
      </element>
      <element name="DeleteUponConstruction">
        <data type="boolean"/>
      </element>
      <element name="DisableBlockMovement">
        <data type="boolean"/>
      </element>
      <element name="DisableBlockPathfinding">
        <data type="boolean"/>
      </element>
      <optional>
        <element name="ControlPersist">
          <empty/>
        </element>
      </optional>
    </interleave>
  </element>
</define>