Skip to main content

Objectives <objectives>

Objectives are the main way that a match winner is decided. They must be completed by a team to win, and sometimes have an owner who must protect the objective from other competitors.

Destroyables and Leakables <leakable> <leakables> <monument> <monuments>

Destroyable objectives count as any objective that must be completed by breaking blocks in a specified region.

Leakable objectives count as any container of blocks that contain a liquid that must be leaked out of the bottom in order for the objective to be marked as completed.

SpecificationChanges
1.0.2Objective repair rules are now ignored by default.
<leakables>
<!--Cores/Leakables-->
<leakables owner="red">
<leakable name="Dojo" leak-distance="1" repairable="true">
<region>
<cuboid min="-93, 51, 174" max="-89, 57, 170" />
</region>
</leakable>
</leakables>
</leakables>

<monuments materials="emerald block" destroyable="true" repairable="true">
<!--Monuments/Destroyables-->
<monuments owner="red">
<monument name="Left">
<region>
<cuboid min="-56, 47, 180" max="-54, 51, 178" />
</region>
</monument>
</monuments>
</monuments>
Destroyables and Leakables Attributes
AttributeDescriptionTypeDefault
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
nameThe name of the objective (for the UI).Localized String
ownerThe owner of the objective. (This will cause the objective to not be able to be completed by this team and the objective to be grouped under this team in the sidebar.) The id of the team for reference.Team ID
regionThe region that contains this objective. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
materialsThe materials that can be broken of this objective. A material is defined in the syntax of matname:damage when matname is the name of the material and damage is the damage value of the material. A damage value is not required. Multiple materials can be defined by adding a ';' between each individual declaration.Multi Material Matcher
pointsHow many points to award to the team who completes this objective.Number (Without Decimal)
points-per-blockHow many points to award to the team who damages this objective.Number (Without Decimal)
showIf the objective should be shown in the UI, count towards match results, and count for stats.True/Falsetrue
completionThe percentage of this objective that must be broken in order for it to be considered completed.Integer Range
0-1.0
1.0
destroyableIf the blocks of the objective can be destroyed using means other than by hand (TNT, fireballs, etc).True/Falsefalse
repairableIf the objective can be repaired by the owning team using any of the specified materials.True/Falsefalse
any-repairIf any material can be used to repair this objective.True/Falsefalse
enforce-anti-repairIf blocks can be placed in the objective region that do not match the materials specified. It should be noted that these materials do not repair the objective and the repair check is not called.True/Falsefalse
fireworksIf fireworks should shoot off of the objective when it is completed.True/Falsetrue
break-checkCheck that should be ran before the objective can be damaged. This can either be in ID form, or as a nested XML tag in the syntax of a check.Check
repair-checkCheck that should be ran before the objective can be repaired. This can either be in ID form, or as a nested XML tag in the syntax of a check.Check
pre-touch-dist-metricCalculation metric used to calculate distance from objective before the objective is touched.Type
player, block, kill, static
PLAYER
pre-touch-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue
post-touch-dist-metricCalculation metric used to calculate distance from objective after the objective is touched.Type
player, block, kill, static
PLAYER
post-touch-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue
post-complete-dist-metricCalculation metric used to calculate distance from objective after the objective is completed.Type
player, block, kill, static
post-complete-dist-horizIf only horizontal distance should be used for calculation.True/Falsefalse
first-phaseThe first phase that should be applied to this objective when the match starts. The id of the destroyable phase for reference.Destroyable Phase ID

Leakables <leakable> <leakables>

Leakables count as any container of blocks that contain a liquid that must be leaked out of the bottom in order for the objective to be marked as completed.


<leakables>
<!--Cores/Leakables-->
<leakables owner="red">
<leakable name="Dojo" leak-distance="1" repairable="true">
<region>
<cuboid min="-93, 51, 174" max="-89, 57, 170" />
</region>
</leakable>
</leakables>
</leakables>

Leakables Attributes
AttributeDescriptionTypeDefault
leak-distanceThe number of blocks below the objective region that the liquid must travel in order to complete this objective.Number (Without Decimal)7

Monuments <monument> <monuments>

Monuments count as any objective that must be completed by breaking blocks in a specified region.


<monuments materials="emerald block" destroyable="true" repairable="true">
<monuments owner="red">
<!--Defending Team-->
<monument name="Left">
<!--Scoreboard Name-->
<region>
<cuboid min="-56, 47, 180" max="-54, 51, 178" />
</region>
</monument>
</monuments>
</monuments>

Monuments Attributes
AttributeDescriptionType
completed-stateThe material that the blocks inside of the objective region should change to when the objective is completed. A material is defined in the syntax of matname:damage when matname is the name of the material and damage is the damage value of the material. A damage value is not required.Singular Material Matcher

Entity <entity>

The entity objective is used to track the health of entities in a region and use the combined health to determine completion.

SpecificationChanges
1.0.3ADDED

<objectives>
<entites>
<entity type="pig" points="1" name="Pigs" show="false">
<!--Pigs Count for Scoring -->
<region>
<cylinder radius="90" height="12" base="0, 0, 0" />
</region>
</entity>
</entites>
</objectives>

Entity Attributes
AttributeDescriptionTypeDefault
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
nameThe name of the objective (for the UI).Localized String
ownerThe owner of the objective. (This will cause the objective to not be able to be completed by this team and the objective to be grouped under this team in the sidebar.) The id of the team for reference.Team ID
pre-complete-dist-metricCalculation metric used to calculate distance from objective before the objective is completed.Type
player, block, kill, static
PLAYER
pre-complete-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue
post-complete-dist-metricCalculation metric used to calculate distance from objective after the objective is completed.Type
player, block, kill, static
post-complete-dist-horizIf only horizontal distance should be used for calculation.True/Falsefalse
damage-checkCheck that should be ran before the objective can be damaged. This can either be in ID form, or as a nested XML tag in the syntax of a check.Check
pointsHow many points to award to the team who damages this objective.Number
showIf the objective should be shown in the UI, count towards match results, and count for stats.True/Falsetrue
regionThe region that contains all entities that should be counted as this objective. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
typeThe type of entity that this objective is.EntityType
Possible Values

Flags <flag> <flags>

REQUIREMENT: This feature requires the Zones Component.

Players must retrieve flags and return them to a net region.


<flag owner="red" post="red-post" color="red" />

<!--Owner = Defending Team / Post = Flag Location / Color=Flag Color-->

<zone id="red-post">
<!--Flag spawn location-->
<region>
<block>108, 13, -1</block>
</region>
<post yaw="90" />
</zone>

<zone>
<!--Capture Location and Amount of Points Rewarded-->
<region>
<cuboid min="-8, 14, 1" max="-11, 16, -3" />
</region>
<net points="1">
<capture-check>
<team>blue</team>
</capture-check>
</net>
</zone>

Flags Attributes
AttributeDescriptionTypeDefault
postThe location that this flag will spawn at. The id of the post for reference.Post ID
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
ownerThe owner of the objective. (This will cause the objective to not be able to be completed by this team and the objective to be grouped under this team in the sidebar.) The id of the team for reference.Team ID
colorColor of the flag.DyeColor
Possible Values
bannerThe banner design of the flag. If none is specified, the flag in the match world will be used. This should be written like banner would be configured in a loadout.Banner Loadout Tag
carry-checkCheck that should be ran before the flag can be picked up. This can either be in ID form, or as a nested XML tag in the syntax of a check.Check
recover-timeThe time after the flag is dropped before it is returned to the previous post. This attribute denotes a period of time and can either be in seconds or in a period format. Formats are as follows: d - days h - hours m - minutes s - seconds These can be combined to create any period. No spaces are allowed.Duration30
highlight-holderIf the flag holder should have a particle stream shooting up from their location.True/Falsetrue
highlight-delayThe delay before a particle stream is shown above the player who is holding the flag. This attribute denotes a period of time and can either be in seconds or in a period format.Duration
permanentIf the flag can only be captured once. If this is true and the flag is captured, it will be marked as completed.True/Falsefalse
flag-dist-metricCalculation metric used to calculate distance from objective before the objective is carried.Type
player, block, kill, static
PLAYER
flag-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue
net-dist-metricCalculation metric used to calculate distance from objective after the objective is carried.Type
player, block, kill, static
PLAYER
net-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue
carrying-pointsNumber of points the carrier should receive while holding the flag.Number (Without Decimal)0
carrying-points-delayDelay before points should be earned. This attribute denotes a period of time and can either be in seconds or in a period format.Duration
carrying-points-growthDelay before amount of points earned should be doubled. This attribute denotes a period of time and can either be in seconds or in a period format.Duration
pickup-methodMethod that can be used to pickup the flag.Flag Pickup Method
any, move, interact
ANY

Hill <hill> <hills>

Hills are areas that teams fight over for control.


<objectives>
<hills capture-time="45s">
<hill name="Left Mountain">
<capture>
<cuboid min="50, 23, 50" max="75, 40, 75" />
</capture>
<progress>
<circle center="62, 22, 62" radius="13" />
</progress>
</hill>
<hill name="Right Mountain">
<capture>
<cuboid min="27, 23, 77" max="50, 40, 100" />
</capture>
<progress>
<circle center="39, 27, 87" radius="13" />
</progress>
</hill>
</hills>
</objectives>

Hill Attributes
AttributeDescriptionTypeDefault
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
nameThe name of the objective (for the UI).Localized String
initial-ownerThe owner of the objective when the match starts. The id of the team for reference.Team ID
captureThe region that contains the area that must be captured. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
progressThe region that contains where progress should be displayed. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
capture-ruleRule used to determine which team is currently capturing the hill.Hill Capture Rule
exclusive, majority, most
EXCLUSIVE
capture-timeThe time required for a team to capture the hill completely. This attribute denotes a period of time and can either be in seconds or in a period format. Formats are as follows: d - days h - hours m - minutes s - seconds These can be combined to create any period. No spaces are allowed.Duration
capture-checkCheck that should be ran before the hill can be captured by a player. This can either be in ID form, or as a nested XML tag in the syntax of a check.Check
pointsNumber of points the owning team should score every second.Number (Without Decimal)
points-growthTime during point earn before points should be doubled. This attribute denotes a period of time and can either be in seconds or in a period format.Duration
fireworksIf fireworks should shoot off of the objective when it is captured.True/Falsetrue
permanentHill can only be captured once during a match.True/Falsefalse
depreciateIf a hill is controlled and no team is capturing it, the completion will depreciate over time.True/Falsefalse
ignored-blocksSpecific types of blocks that should be ignored during progress indication. A material is defined in the syntax of matname:damage when matname is the name of the material and damage is the damage value of the material. A damage value is not required. Multiple materials can be defined by adding a ';' between each individual declaration.Multi Material Matcher
earn-pointsRule used to determine when teams should earn points from owning hills.Point Earn Rule
always, standing on, standing off
STANDING_ON

CTH Hill <cth-hill> <cth-hills>

INFO: This feature can use the CTH Countdown Component.

Hills are areas that award points to a team on an interval for each player standing on it.


<objectives>
<cth-hills countdown-id="main-countdown" points="10">
<cth-hill name="Left">
<capture>
<cuboid min="50, 23, 50" max="75, 40, 75" />
</capture>
</cth-hill>
<cth-hill name="Right">
<capture>
<cuboid min="27, 23, 77" max="50, 40, 100" />
</capture>
</cth-hill>
</cth-hills>
<cth-hill id="hill-middle" name="Center" points="20" point-award-interval="60s" fireworks="false" lightning="false" >
<capture>
<cylinder base="0, 63, 0" height="3" radius="9"/>
</capture>
</cth-hill>
</objectives>

CTH Hill Attributes
AttributeDescriptionTypeDefault
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
countdown-idID of the cth-countdown this hill should use. If this is set, the point-award-interval attribute on this cth-hill will be ignored.String
nameThe name of the objective (for the UI).Localized String
captureThe region that contains the area that must be controlled. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
pointsNumber of points that should be awarded to the team per player on the objective.Number (Without Decimal)10
point-award-intervalThe time between points being awarded. This attribute denotes a period of time and can either be in seconds or in a period format. Formats are as follows: d - days h - hours m - minutes s - seconds These can be combined to create any period. No spaces are allowed.Duration60s
fireworksIf fireworks should shoot off of the objective when points are awarded.True/Falsetrue
lightningIf lightning should strike the objective when points are awarded.True/Falsetrue

Last Competitor Standing <last-competitor-standing>

The last competitor standing objective is used to mark the winner of the match as the competitor (team for normal, player for FFA) with any players on it after all others are empty.


<objectives>
<last-competitor-standing />
</objectives>

Last Team Standing <last-team-standing>

The last team standing objective is used to mark the winner of the match as the team with any players on it after all others are empty.

These should be declared for every team if every team is allowed to win.


<objectives>
<last-team-standing team="blue" />
<last-team-standing team="red" />
</objectives>

Last Team Standing Attributes
AttributeDescriptionType
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
teamTeam that would win if all others are empty. The id of the team for reference.Team ID

Score <score> <scores>

The score objective requires a team to reach a certain amount of points in order to be marked as completed.


<scores kills="1">
<!--One Kill = One Point -->
<score team="yellow" />
<score team="cyan" />
</scores>

Score Attributes
AttributeDescriptionType
teamThe owner of the objective. (This will cause the objective to not be able to be completed by this team and the objective to be grouped under this team in the sidebar.) The id of the team for reference.Team ID
killsThe amount of points that should be rewarded for a kill.Number (Without Decimal)
deathsThe amount of points that should be deducted for a death.Number (Without Decimal)

Wool <wool> <wools>

Players must retrieve wool blocks and place them within a region.


<wools>
<wool color="blue">
<source>
<block>-138,32,87</block>
<!--Wool Chest Location-->
</source>
<destination>
<block>149,30,4</block>
<!--Capture Location-->
</destination>
</wool>
</wools>

Wool Attributes
AttributeDescriptionTypeDefault
idThe globally unique ID of this feature. This can be used to reference this feature from other parts of the XML.Feature ID
teamThe owner of the objective. (This will cause the objective to not be able to be completed by this team and the objective to be grouped under this team in the sidebar.) The id of the team for reference.Team ID
colorColor of the wool.DyeColor
Possible Values
sourceThe region that contains the location where the wool can be picked up. This is used for chest refill and proximity. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
destinationThe region that contains the location where the wool must be placed. This can either be in ID form, or as a nested XML tag in the syntax of a region.Region
pickupIf the wool can be picked up off of the ground.True/Falsetrue
refillIf the chests in the source region should automatically refill with wool.True/Falsetrue
max-refillThe maximum amount of wool that should be refilled.Number (Without Decimal)oo
refill-delayThe amount of time before wools are refilled. This attribute denotes a period of time and can either be in seconds or in a period format. Formats are as follows: d - days h - hours m - minutes s - seconds These can be combined to create any period. No spaces are allowed.Duration0
craftableIf the wool can be crafted in a work bench.True/Falsefalse
fireworksIf fireworks should be spawned at the destination when the wool is placed.True/Falsetrue
source-dist-metricCalculation metric used to calculate distance from objective before the objective is touched.Type
player, block, kill, static
PLAYER
source-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue
dest-dist-metricCalculation metric used to calculate distance from objective after the objective is touched.Type
player, block, kill, static
PLAYER
dest-dist-horizIf only horizontal distance should be used for calculation.True/Falsetrue