The Fenland (DTM)
The Fenland is a Destroy the Monument map where you have to destroy the other team's obsidian monument to win the game. Players fight with diamond axes and spawn with their own building materials.
Source: The Fenland by McSpider. Because of the lakes in the middle, a lot of the action takes place on the edges of the map, and on sky bridges built over the centre of the map.
The monument is made of two obsidian blocks that are protected by cobblestone slabs and wooden fences. All players spawn with diamond pickaxes necessary to break them.
➡️
Every map XML file starts with the XML header and then the base <map>
module.
<map proto="1.5.0">
<!-- Specifies what the map is called -->
<name>The Fenland</name>
<!-- Shows the map creation date when a user runs /map in game -->
<created>2013-08-01</created>
<!-- States what version the map is -->
<version>1.2.11</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>
➡️ Define the teams' colors, names, and how many people can be on each team.
<teams>
<team id="red-team" color="dark red" max="14">Red</team>
<team id="blue-team" color="blue" max="14">Blue</team>
</teams>
➡️ Define the kit that players will receive.
<kits>
<kit id="spawn-kit">
<item slot="0" unbreakable="true" material="diamond axe">
<enchantment>durability</enchantment>
</item>
<item slot="1" unbreakable="true" material="bow">
<enchantment>infinity</enchantment>
</item>
<item slot="2" unbreakable="true" material="diamond pickaxe"/>
<item slot="3" unbreakable="true" material="iron spade"/>
<item slot="4" amount="64" material="log"/>
<item slot="5" amount="32" material="glass"/>
<item slot="7" amount="4" material="gold nugget"/>
<item slot="8" amount="32" material="cooked fish"/>
<item slot="28" material="arrow"/>
<chestplate unbreakable="true" material="iron chestplate">
<enchantment level="2">protection projectile</enchantment>
</chestplate>
<boots unbreakable="true" material="iron boots"/>
</kit>
</kits>
➡️ Specify where the previously defined teams will spawn, the kit they will spawn with, and what direction they face.
<spawns>
<spawns kit="spawn-kit" safe="true">
<spawn team="red-team" yaw="-90">
<region>
<cuboid min="-43,11,-2" max="-46,11,3"/>
</region>
</spawn>
<spawn team="blue-team" yaw="90">
<region>
<cuboid min="44,11,3" max="47,11,-2"/>
</region>
</spawn>
</spawns>
<default yaw="180">
<region>
<cuboid min="-3,25,-44" max="3,25,-50"/>
</region>
</default>
</spawns>
➡️ Define the filters on the map and determines which events are allowed.
<filters>
<!-- Query if a player is a member of either team using the previously defined team ID -->
<team id="only-blue">blue-team</team>
<team id="only-red">red-team</team>
<!-- Always deny beacon placement, destruction, or interaction -->
<deny id="no-beacon">
<material>beacon</material>
</deny>
</filters>
➡️ Define regions that can be later used to apply spawns, filters, etc.
<regions>
<!-- Define where the teams' base are located -->
<union id="spawn-protections">
<cuboid id="red-base" min="-49,7,5" max="-36,16,-4"/>
<cuboid id="blue-base" min="50,7,-4" max="37,16,5"/>
</union>
<!-- Define the playable area and also define the inverse of it as well -->
<negative id="playable-inverse">
<cuboid id="playable" min="64,0,-38" max="-63,31,39"/>
</negative>
<!-- Define the location of the observers' platform -->
<cylinder id="observers-platform" base="0.5,19,-46.5" radius="6" height="oo"/>
<!-- applicators -->
<apply region="red-base" enter="only-red" message="You may not enter the enemy team's base!"/>
<apply region="red-base" block="never" message="You may not modify the base!"/>
<apply region="blue-base" enter="only-blue" message="You may not enter the enemy team's base!"/>
<apply region="blue-base" block="never" message="You may not modify the base!"/>
<apply region="playable-inverse" block="never" message="You may not build outside the playing area!"/>
<apply region="observers-platform" enter="never" message="Don't enter the observers spawn area!"/>
<apply use="no-beacon"/> <!-- Players can't interact with beacon blocks -->
</regions>
➡️ This specifies what material the monuments are made of and where each monument belongs to.
<destroyables name="Monument" materials="obsidian" repairable="false" mode-changes="true">
<destroyable owner="blue-team">
<region>
<cuboid min="46,16,26" max="45,14,25"/>
</region>
</destroyable>
<destroyable owner="red-team">
<region>
<cuboid min="-44,16,-24" max="-45,14,-25"/>
</region>
</destroyable>
</destroyables>
<!-- The monuments which are made of obsidian will turn into beacon blocks in 20 minutes -->
<modes>
<mode material="beacon" after="20m"/>
</modes>
➡️ We do not 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>diamond axe</tool>
<tool>diamond pickaxe</tool>
<tool>iron spade</tool>
<tool>bow</tool>
</toolrepair>
<!-- All of these items will be automatically removed when dropped -->
<itemremove>
<item>arrow</item>
<item>iron chestplate</item>
<item>iron boots</item>
<item>glass</item>
<item>wood</item>
<item>log</item>
<item>cooked fish</item>
<item>obsidian</item>
<item>beacon</item>
<item>redstone block</item>
<item>golden apple</item>
</itemremove>
➡️ Reward players by giving a golden apple for killing an enemy.
<kill-rewards>
<kill-reward>
<item material="golden apple"/>
</kill-reward>
</kill-rewards>
➡️ TNT will instantly ignite when placed, players will not need a license, and teammates cannot defuse their own team's TNT.
<tnt>
<!-- TNT will automatically ignite when placed -->
<instantignite>on</instantignite>
<!-- Do not require a license so TNT usage is not restricted -->
<licensing>off</licensing>
<!-- Players can't defuse a teammate's TNT -->
<friendly-defuse>off</friendly-defuse>
</tnt>
➡️ This specifies how high players can build, however, it does not stop them from walking or breaking blocks above this limit.
<maxbuildheight>25</maxbuildheight>
➡️
Close the main <map>
module.
</map>