Warlock (DTM)

Warlock is a Destroy the Monument map. Players must destroy a single obsidian monument.

Players can build and jump their way to the other side of the map. The cobwebs define the out of bounds region. Underground hallways lead to the monument.

The monument is obsidian protected by stone bricks and a wooden pressure plate on top of it.

➡️ Every map XML file starts with the XML header and then the base <map> module.

<?xml version="1.0"?>
<map proto="1.4.2">
<!-- Specifies what the map is called -->
<name>Warlock</name>
<!-- States what version the map is -->
<version>1.3.10</version>
<!-- Tells the teams what the objective is in order to win the game -->
<objective>Break the obsidian from the enemy team's monument.</objective>
<!-- States who made the map -->
<authors>
<author uuid="e5953ddf-c1fc-4405-9ac9-6939631cd185"/> <!-- McSpider -->
</authors>
<!-- States who made contributions to the map -->
<contributors>
<contributor uuid="ef4ea031-998f-4ec9-b7b6-1bdd428bcef8" contribution="Map Feedback and XML Coding"/> <!-- Plastix -->
</contributors>
<!-- Shows any map specific rules that are not in normal server rules -->
<rules>
<rule>Don't spawn kill!</rule>
<rule>Don't block the spawns!</rule>
</rules>

➡️ Defines the team's colors, names and how many people can be on the teams.

<teams>
<team color="dark red" max="13">Red</team>
<team color="blue" max="13">Blue</team>
</teams>

➡️ Defines the kits all players get.

<kits>
<kit id="spawn">
<item slot="1" enchantment="arrow infinite:1" unbreakable="true">bow</item>
<item slot="28">arrow</item>
<item slot="2" unbreakable="true">diamond pickaxe</item>
<item slot="3" unbreakable="true">iron axe</item>
<item slot="30" unbreakable="true">iron spade</item>
<item slot="5" amount="64">glass</item>
<item slot="6" amount="64" damage="2">wood</item>
<item slot="17" amount="2">gold nugget</item>
<item slot="8" amount="64">cooked beef</item>
<item slot="27" amount="64">apple</item>
<potion duration="2" amplifier="1">heal</potion>
<potion duration="4">damage resistance</potion>
</kit>
<kit id="red-spawn" parents="spawn">
<item lore="Red spawn sword" slot="0" unbreakable="true">iron sword</item>
<helmet color="cd0000" unbreakable="true">leather helmet</helmet>
<chestplate color="cd0000" enchantment="protection projectile:2" unbreakable="true">leather chestplate</chestplate>
<leggings color="cd0000" unbreakable="true">leather leggings</leggings>
<boots color="cd0000" unbreakable="true">leather boots</boots>
</kit>
<kit id="blue-spawn" parents="spawn">
<item lore="Blue spawn sword" slot="0" unbreakable="true">iron sword</item>
<helmet color="0066cc" unbreakable="true">leather helmet</helmet>
<chestplate color="0066cc" enchantment="protection projectile:2" unbreakable="true">leather chestplate</chestplate>
<leggings color="0066cc" unbreakable="true">leather leggings</leggings>
<boots color="0066cc" unbreakable="true">leather boots</boots>
</kit>
</kits>

➡️ Defines the spawn areas and the kit each team gets.

<spawns>
<spawn kit="red-spawn" team="red" yaw="0">
<region>
<cuboid min="40,6,-30" max="44,6,-34"/>
</region>
</spawn>
<spawn kit="blue-spawn" team="blue" yaw="180">
<region>
<cuboid min="40,6,31" max="44,6,35"/>
</region>
</spawn>
<default yaw="90">
<region>
<point>133.5,22,0.5</point>
</region>
</default>
</spawns>

➡️ This specifies what material the monuments are made of, and where each monument belongs to.

<destroyables name="Monument" materials="obsidian" mode-changes="true">
<destroyable owner="red">
<cuboid min="77,1,-36" max="78,3,-37"/>
</destroyable>
<destroyable owner="blue">
<cuboid min="77,1,37" max="78,3,38"/>
</destroyable>
</destroyables>
<modes>
<mode material="beacon" after="20m"/>
</modes>

➡️ We can make special kill rewards for players that fit certain criteria.

<kill-rewards>
<!-- All players get a golden apple and a gold nugget after killing a player -->
<kill-reward>
<item>gold nugget</item>
<item>golden apple</item>
</kill-reward>
<!-- Players that kill 2 enemies in a row will get 4 ink sacks, -->
<kill-reward>
<filter>
<kill-streak count="2" repeat="true"/>
</filter>
<item damage="4" material="ink sack"/>
</kill-reward>
</kill-rewards>

➡️ We don't want an excessive amount of items dropped on the map, so this allows us to manage how to deal with dropped items more easily.

<!-- These items will drop, players that already have these items can pick it up and will be merged -->
<toolrepair>
<tool>iron sword</tool>
<tool>diamond pickaxe</tool>
<tool>iron axe</tool>
<tool>iron spade</tool>
<tool>bow</tool>
</toolrepair>
<!-- All of these items will be automatically removed when dropped -->
<itemremove>
<item>arrow</item>
<item>leather helmet</item>
<item>leather chestplate</item>
<item>leather leggings</item>
<item>leather boots</item>
<item>wood</item>
<item>glass</item>
<item>apple</item>
<item>cooked beef</item>
<item>obsidian</item>
<item>beacon</item>
<item>ink sack</item>
<item>golden apple</item>
</itemremove>

➡️ Defines the filters on the map and determines which events are allowed.

<filters>
<all id="base-filter">
<material>glass</material>
</all>
<not id="no-beacon">
<material>beacon</material>
</not>
</filters>

➡️ Defines regions that can be later used to apply spawns, filters, etc

<regions>
<!-- You can only place glass in spawn -->
<apply block="base-filter">
<union id="red-base">
<cuboid min="36,5,-38" max="55,11,-25"/>
<cuboid min="54,5,-31" max="61,11,-38"/>
</union>
</apply>
<apply block="base-filter">
<union id="blue-base">
<cuboid min="36,5,39" max="55,11,26"/>
<cuboid min="54,5,32" max="61,11,39"/>
</union>
</apply>
<apply block="never" message="You may not build outside of the map!">
<!-- This is the inverse of the rectangle region (everything outside of the rectangle) -->
<negative>
<rectangle min="26,-49" max="120,50"/>
</negative>
</apply>
<!-- Can't use (right click) beacon blocks anywhere on the map -->
<apply use="no-beacon" region="everywhere"/>
</regions>

➡️

This specifies how high players can build however it doesn't stop them from going over this limit.

<maxbuildheight>25</maxbuildheight>

➡️ Configures how TNT behaves on a map.

<!-- TNT will automatically ignite when placed -->
<!-- TNT will not break any blocks but still cause damage to players -->
<!-- Players can't defuse a teammate's TNT -->
<tnt>
<instantignite>on</instantignite>
<licensing>off</licensing>
<friendly-defuse>off</friendly-defuse>
</tnt>

➡️ Close the main <map> module.

</map>