<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://medievalengineerswiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lukas</id>
	<title>Medieval Engineers Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://medievalengineerswiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lukas"/>
	<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/w/Special:Contributions/Lukas"/>
	<updated>2026-04-28T07:09:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=3378</id>
		<title>Keen:Planet Modding/Voxel Materials</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=3378"/>
		<updated>2017-05-05T13:04:55Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello and welcome to the Modding of Voxel Materials guide for young Padawans. Feeling creative about changing the look of voxel materials? You think you’re really good, huh? Well, you’re in the right place then. Be prepared for a great journey saving the world by changing the look of the voxel worlds around you. Let’s just assume that you want to change the color of this beautiful green grass which grows on every EarthLike planet in the SE Universe! And let’s assume you want to change it to a crazy blue color. Why? Because we CAN, and you can too! Call NOW and get your free training program PLUS an amazing set of kitchen knives... wait... I meant something completely different...&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 1-1.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source Files==&lt;br /&gt;
Various files will be used as examples in this guide.&amp;lt;br/&amp;gt;&lt;br /&gt;
They can be downloaded here: http://www.medievalengineerswiki.com/uploaded_files/Voxel_material_modding_files.zip&lt;br /&gt;
&lt;br /&gt;
==Voxel material definitions==&lt;br /&gt;
Ok, so to start - all voxel materials definitions are stored in the VoxelMaterials.sbc file. Find it and open it in MS Visual Studio or any other advanced text editor. Search for the following line in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;SubtypeId&amp;gt;Grass&amp;lt;/SubtypeId&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s where all the fun begins! So “Grass” is the name of the voxel material we’re looking for. It’s exactly how it is called in the game, and it’s exactly that green grass you see on the screenshot. Now let’s just make a quick overview of those code lines that define how particular voxel materials look and behave so you can brag about your programming skills to your girlfriend.&lt;br /&gt;
&lt;br /&gt;
Every voxel material starts with the &amp;lt;VoxelMaterial&amp;gt; tag and ends with &amp;lt;/VoxelMaterial&amp;gt; tag. You can refer to the “Understanding voxel material definitions” picture for a brief breakdown of the most important code definitions describing the look of a voxel material.&lt;br /&gt;
&lt;br /&gt;
[[File:UpdatedVoxelmateriaDefinition.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So first things first, you have to know that the grass you see in a screenshot consists of the Grass Voxel Material (Ground) and a set of different Grass Textures “growing” out of it and scattered randomly on it. So you will be creating/tweaking the textures for the both, because normally you don’t want blue grass to grow on a green surface, right? You do? Shut up, marine! You’re in the army now, son. Just do what you’ve been told to do, and we’ll do the thinking! Let’s start with the Surface definitions first and then continue on to the Grass itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Voxel Material (ground) is made of==&lt;br /&gt;
Basically, the following three lines define how our base Voxel Material’s surface will look, or to be more precise - which textures it will use to define this look.&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;lt;ColorMetalXZnY&amp;gt;Textures\Voxels\Grass_cm.dds&amp;lt;/ColorMetalXZnY&amp;gt;&lt;br /&gt;
    &amp;lt;NormalGlossXZnY&amp;gt;Textures\Voxels\Grass_ng.dds&amp;lt;/NormalGlossXZnY&amp;gt;&lt;br /&gt;
    &amp;lt;ExtXZnY&amp;gt;Textures\Voxels\Grass_add.dds&amp;lt;/ExtXZnY&amp;gt;    &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here’s what these code lines do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ColorMetalXZnY&amp;gt;Textures\Voxels\Grass_cm.dds&amp;lt;/ColorMetalXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Color+Metalness texture goes here. The letters “cm” in the “Grass_cm.dds” file stand for Color and Metalness. Color (or a diffuse/albedo map) is a standard RGB channel and Metalness is placed in the Alpha channel. You can go completely crazy in RGB colors. Do whatever you want. Metalness is a Black and White map only (normally NO grey halftones) which represents areas that are Metal only. You wouldn’t want to have metalness in your grass, would you? So that’s why it’s empty now (black).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;NormalGlossXZnY&amp;gt;Textures\Voxels\Grass_ng.dds&amp;lt;/NormalGlossXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Normals+Glossiness texture goes here. The letters “ng” in the “Grass_ng.dds” file stand for Normal and Glossiness. Normal map is a standard RGB channels and the Glossiness map is placed in Alpha channel. As you can see here, the normal map resides on all RGB channels and we have subtle glossy areas (Black means NO Glossiness. White: 100% glossiness) scattered all around the grass surface.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ExtXZnY&amp;gt;Textures\Voxels\Green_add.dds&amp;lt;/ExtXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your AO+ Emissivity+Dirt texture goes here. The letters “add” in the ”Grass_add.dds” file stand for Ambient Occlusion map, Emissivity map and Dirt map. Everything’s simple: AO goes to the Red channel, Emissivity goes in the Green channel and Dirt map goes to the Blue channel. In this particular example we see that currently we have a very subtle AO map (White areas mean no AO), no emissivity at all - because we don’t want our grass to glow in the dark (Black means no emissivity) and it has no dirt (White means NO Dirt).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just open the first “Grass_cm.dds” texture in Photoshop and add a Hue/Saturation adjustment layer on top. Tick Colorize and make the color crazy Blue.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just re-save this file as “GrassBlue_cm.dds” in the correct folder: (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Voxels). And of course we have to change the name in the VoxelMaterials.sbc file’s definitions, too, so the Engine knows which file to use instead of the old (green) one:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important note: &lt;br /&gt;
All textures must be saved in DDS format, DXT5, Interpolated Alpha format with “Generate MIP maps” ON.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you load the game now to see what happened to the grass, you will see that we’ve changed the color of the Grass Voxel Material (surface) only, while the Grass Plates which grow on it remain green. What the..?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-8.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s because we didn’t change the Grass textures yet. We’ll do this in a minute, no worries.&lt;br /&gt;
&lt;br /&gt;
Also, you may notice that if you move far enough from the surface, suddenly, instead of blue color – the old green starts to fade in. But didn’t we change it?! Time to panic right?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-9.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wrong! Those green textures that you see in the far distance are actually Far1 and Far2 textures, with Far3 Color at its farthest end. I said calm down, son, this is an order! We will talk about it in a minute! Don’t worry, we got you covered!&lt;br /&gt;
&lt;br /&gt;
==Far textures==&lt;br /&gt;
Now that we got acquainted with “cm”, “ng” and “add” files, and know what they’re doing, it is time to speak of Far textures and their meaning in our lives. Briefly - the beautiful green grass field seen from the height of human eyes and the same field seen from the outer space will not look the same, obviously. While standing on it, you’re able to see all the details, even individual grass blades and flowers here and there, but when you’re in outer space and looking down on it from orbit - the base green color will mostly remain, but it’s color pattern and relief will change significantly. So it’s apparent that we have to substitute the base grass material seen from eye-height for one that might look like it&#039;s seen from outer space. Also, we have to “tell” the render engine at which particular distances it should load our Far Textures, and how big in scale they should be to represent the desired look. Here’s a picture so you can have an idea of how it currently looks.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-1.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, Far1 and Far2 textures are represented by the same naming convention - “cm”, “ng” and “add” files. The Far3 Color, as Captain Obvious states, is defined by the RGB Color values only. It’s because when you too far away from the surface - having a simple color is more than enough.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So please open the Far1 color+metalness texture file “EarthGreenGrass_Far1_cm.dds” in Photoshop, and add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like). Do the same with Far2 color+metalness texture file “EarthGreenGrass_Far2_cm.dds”. Now you have completely blue Far1 and Farf2 textures. That’s exactly what we want. Finally, it’s time to change the Far3 Color which will be loaded at extremely far distances and which is still green. But we will change it in a sec.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To choose the correct Far3 color to seamlessly blend with the Far2 Texture, you must first get rid of anything like fog or normal map effects that might get in the way and reduce the accuracy of color adjustments. So it’s better to choose your Far3 color with only the Base Color channel turned on (see the picture). To do so, hit F12 -&amp;gt; Render button –&amp;gt; tick the Render Debug checkbox –&amp;gt; tick the Base color in a newly opened Render Debug window.&lt;br /&gt;
&lt;br /&gt;
Then hit F12 and then click the “Game” button. Tick the “Voxel Materials” checkbox and the Voxel Materials debug window will pop up on the right side with the drop down list where you can select any existing voxel materials in your world and adjust them.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-4.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Holding “Alt” (you need to keep holding “Alt” while you operate in this window), select “Grass” material from the dropdown list and start adjusting the color with these three RGB sliders. We can get a good result with R-0, G-5 and B-25, as this color blends perfectly with other Far textures. But first we have to convert these RGB values to XYZ values before we paste them into the code.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your X,Y and Z values simply divide each of your RGB values by 255. By dividing 0/255, 5/255 and 25/255 you get X-0, Y-0.02 and Z-0.10 respectively. Cool! Now just update the old XYZ values with these new ones in the code and load the game! You should see something similar to this.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-6.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, the Voxel Materials debug window is convenient for interactive in-game adjustment of Far Textures’ Distance and Scale values. You can adjust the corresponding Far1 and Far2 Distance and Scale sliders, and you can set Far 3 RGB colors and see changes immediately, which is a lot better than guessing the correct numbers in the code. After you find the desired values for everything related to Far textures, you just copy those values to the definitions in the code. Very convenient, isn’t it?&lt;br /&gt;
&lt;br /&gt;
Now about Distance and Scale definitions in the code. So, the following lines in the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Distance&amp;gt;30&amp;lt;/Far1Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far2Distance&amp;gt;500&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far3Distance&amp;gt;5000&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
literally mean that the Far1 texture is seen at distances greater than 30 meters, the Far2 texture is seen on a distances greater than 500 meters, and finally the Far3 color is seen at distances greater than 5000 meters. It’s that simple. The following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Scale&amp;gt;200&amp;lt;/Far1Scale&amp;gt;&lt;br /&gt;
&amp;lt;Far2Scale&amp;gt;1000&amp;lt;/Far2Scale&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
define the scale (in meters) for the Far 1 and Far2 textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Grass is made of (Grass Plates)==&lt;br /&gt;
Below you can see all the grass textures our green grass consists of. It consists of 7 (seven) different grass plates (each with it’s own set of “cm” and “ng” files). Note that &amp;lt;Color&amp;gt;&amp;lt;/Color&amp;gt; tags are for “cm” files, and &amp;lt;Normal&amp;gt;&amp;lt;/Normal&amp;gt; tags are for “ng” files. Here they are:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And that’s how their channels look in Photoshop:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-8.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why there are so many of them? More grass plates mean more variation in the overall feel and color of the grass, and thus it looks more real, which is exactly what we’re after (unless you really want to make an awful type of graphics intentionally of course!) If the whole field were made up of only one type of grass texture it would be way too repetitive, boring and too uniform of course.&lt;br /&gt;
Now you can say, hey, but didn’t we use the Alpha channel for Metalness in all “cm” type files?! Don’t worry, your grass won’t be metallic. Yes, though the “CM” abbreviation stands for Color and Metalness in the above files, remember that for Grass Plates only (ONLY), we use Alpha channel NOT for Metalness but for Alpha Mask, to cut out th Grass’ silhouette. Pretty simple right? But for all “NG” (normal/metalness) type of files everything stays the same – you have RGB channels for Normals and Alpha channel for Glossiness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Grass color==&lt;br /&gt;
Now that we know how our Grass is made, let’s make a simple color change again - from Green to Blue. So open all 7 (seven) Grass Plate files (“Grass_01_cm.dds”, “Grass_02_cm.dds”.. etc) in Photoshop, and for each of the files, add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like)&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then let’s re-save it as “GrassBlue_01_cm.dds” in the same folder (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Grass). Please note that it’s different from the folder where you put your textures for the Voxel Surface materials. Repeat the same procedure for the rest of the &amp;quot;cm&amp;quot; textures (“GrassBlue_02_cm.dds” etc.) Then we go back into the code of VoxelMaterials.sbc and change the names of all 7 grass textures “Grass_01_cm.dds” etc. to “GrassBlue_01_cm.dds” which we’ve just created. You should end up with the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart the game, or just reload the save and Voila. You have this crazy blue-colored grass. I wouldn’t step on it barefoot, to be honest. You never know who may live in the blue grass. You never know :)&lt;br /&gt;
[[File:Voxels 6-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=3377</id>
		<title>Keen:Planet Modding/Voxel Materials</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=3377"/>
		<updated>2017-05-05T13:01:25Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Understanding what Voxel Material (ground) is made of */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello and welcome to the Modding of Voxel Materials guide for young Padawans. Feeling creative about changing the look of voxel materials? You think you’re really good, huh? Well, you’re in the right place then. Be prepared for a great journey saving the world by changing the look of the voxel worlds around you. Let’s just assume that you want to change the color of this beautiful green grass which grows on every EarthLike planet in the SE Universe! And let’s assume you want to change it to a crazy blue color. Why? Because we CAN, and you can too! Call NOW and get your free training program PLUS an amazing set of kitchen knives... wait... I meant something completely different...&lt;br /&gt;
&lt;br /&gt;
[[File:UpdatedVoxelmateriaDefinition.png|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source Files==&lt;br /&gt;
Various files will be used as examples in this guide.&amp;lt;br/&amp;gt;&lt;br /&gt;
They can be downloaded here: http://www.medievalengineerswiki.com/uploaded_files/Voxel_material_modding_files.zip&lt;br /&gt;
&lt;br /&gt;
==Voxel material definitions==&lt;br /&gt;
Ok, so to start - all voxel materials definitions are stored in the VoxelMaterials.sbc file. Find it and open it in MS Visual Studio or any other advanced text editor. Search for the following line in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;SubtypeId&amp;gt;Grass&amp;lt;/SubtypeId&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s where all the fun begins! So “Grass” is the name of the voxel material we’re looking for. It’s exactly how it is called in the game, and it’s exactly that green grass you see on the screenshot. Now let’s just make a quick overview of those code lines that define how particular voxel materials look and behave so you can brag about your programming skills to your girlfriend.&lt;br /&gt;
&lt;br /&gt;
Every voxel material starts with the &amp;lt;VoxelMaterial&amp;gt; tag and ends with &amp;lt;/VoxelMaterial&amp;gt; tag. You can refer to the “Understanding voxel material definitions” picture for a brief breakdown of the most important code definitions describing the look of a voxel material.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 2-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So first things first, you have to know that the grass you see in a screenshot consists of the Grass Voxel Material (Ground) and a set of different Grass Textures “growing” out of it and scattered randomly on it. So you will be creating/tweaking the textures for the both, because normally you don’t want blue grass to grow on a green surface, right? You do? Shut up, marine! You’re in the army now, son. Just do what you’ve been told to do, and we’ll do the thinking! Let’s start with the Surface definitions first and then continue on to the Grass itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Voxel Material (ground) is made of==&lt;br /&gt;
Basically, the following three lines define how our base Voxel Material’s surface will look, or to be more precise - which textures it will use to define this look.&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;lt;ColorMetalXZnY&amp;gt;Textures\Voxels\Grass_cm.dds&amp;lt;/ColorMetalXZnY&amp;gt;&lt;br /&gt;
    &amp;lt;NormalGlossXZnY&amp;gt;Textures\Voxels\Grass_ng.dds&amp;lt;/NormalGlossXZnY&amp;gt;&lt;br /&gt;
    &amp;lt;ExtXZnY&amp;gt;Textures\Voxels\Grass_add.dds&amp;lt;/ExtXZnY&amp;gt;    &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here’s what these code lines do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ColorMetalXZnY&amp;gt;Textures\Voxels\Grass_cm.dds&amp;lt;/ColorMetalXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Color+Metalness texture goes here. The letters “cm” in the “Grass_cm.dds” file stand for Color and Metalness. Color (or a diffuse/albedo map) is a standard RGB channel and Metalness is placed in the Alpha channel. You can go completely crazy in RGB colors. Do whatever you want. Metalness is a Black and White map only (normally NO grey halftones) which represents areas that are Metal only. You wouldn’t want to have metalness in your grass, would you? So that’s why it’s empty now (black).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;NormalGlossXZnY&amp;gt;Textures\Voxels\Grass_ng.dds&amp;lt;/NormalGlossXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Normals+Glossiness texture goes here. The letters “ng” in the “Grass_ng.dds” file stand for Normal and Glossiness. Normal map is a standard RGB channels and the Glossiness map is placed in Alpha channel. As you can see here, the normal map resides on all RGB channels and we have subtle glossy areas (Black means NO Glossiness. White: 100% glossiness) scattered all around the grass surface.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ExtXZnY&amp;gt;Textures\Voxels\Green_add.dds&amp;lt;/ExtXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your AO+ Emissivity+Dirt texture goes here. The letters “add” in the ”Grass_add.dds” file stand for Ambient Occlusion map, Emissivity map and Dirt map. Everything’s simple: AO goes to the Red channel, Emissivity goes in the Green channel and Dirt map goes to the Blue channel. In this particular example we see that currently we have a very subtle AO map (White areas mean no AO), no emissivity at all - because we don’t want our grass to glow in the dark (Black means no emissivity) and it has no dirt (White means NO Dirt).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just open the first “Grass_cm.dds” texture in Photoshop and add a Hue/Saturation adjustment layer on top. Tick Colorize and make the color crazy Blue.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just re-save this file as “GrassBlue_cm.dds” in the correct folder: (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Voxels). And of course we have to change the name in the VoxelMaterials.sbc file’s definitions, too, so the Engine knows which file to use instead of the old (green) one:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important note: &lt;br /&gt;
All textures must be saved in DDS format, DXT5, Interpolated Alpha format with “Generate MIP maps” ON.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you load the game now to see what happened to the grass, you will see that we’ve changed the color of the Grass Voxel Material (surface) only, while the Grass Plates which grow on it remain green. What the..?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-8.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s because we didn’t change the Grass textures yet. We’ll do this in a minute, no worries.&lt;br /&gt;
&lt;br /&gt;
Also, you may notice that if you move far enough from the surface, suddenly, instead of blue color – the old green starts to fade in. But didn’t we change it?! Time to panic right?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-9.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wrong! Those green textures that you see in the far distance are actually Far1 and Far2 textures, with Far3 Color at its farthest end. I said calm down, son, this is an order! We will talk about it in a minute! Don’t worry, we got you covered!&lt;br /&gt;
&lt;br /&gt;
==Far textures==&lt;br /&gt;
Now that we got acquainted with “cm”, “ng” and “add” files, and know what they’re doing, it is time to speak of Far textures and their meaning in our lives. Briefly - the beautiful green grass field seen from the height of human eyes and the same field seen from the outer space will not look the same, obviously. While standing on it, you’re able to see all the details, even individual grass blades and flowers here and there, but when you’re in outer space and looking down on it from orbit - the base green color will mostly remain, but it’s color pattern and relief will change significantly. So it’s apparent that we have to substitute the base grass material seen from eye-height for one that might look like it&#039;s seen from outer space. Also, we have to “tell” the render engine at which particular distances it should load our Far Textures, and how big in scale they should be to represent the desired look. Here’s a picture so you can have an idea of how it currently looks.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-1.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, Far1 and Far2 textures are represented by the same naming convention - “cm”, “ng” and “add” files. The Far3 Color, as Captain Obvious states, is defined by the RGB Color values only. It’s because when you too far away from the surface - having a simple color is more than enough.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So please open the Far1 color+metalness texture file “EarthGreenGrass_Far1_cm.dds” in Photoshop, and add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like). Do the same with Far2 color+metalness texture file “EarthGreenGrass_Far2_cm.dds”. Now you have completely blue Far1 and Farf2 textures. That’s exactly what we want. Finally, it’s time to change the Far3 Color which will be loaded at extremely far distances and which is still green. But we will change it in a sec.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To choose the correct Far3 color to seamlessly blend with the Far2 Texture, you must first get rid of anything like fog or normal map effects that might get in the way and reduce the accuracy of color adjustments. So it’s better to choose your Far3 color with only the Base Color channel turned on (see the picture). To do so, hit F12 -&amp;gt; Render button –&amp;gt; tick the Render Debug checkbox –&amp;gt; tick the Base color in a newly opened Render Debug window.&lt;br /&gt;
&lt;br /&gt;
Then hit F12 and then click the “Game” button. Tick the “Voxel Materials” checkbox and the Voxel Materials debug window will pop up on the right side with the drop down list where you can select any existing voxel materials in your world and adjust them.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-4.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Holding “Alt” (you need to keep holding “Alt” while you operate in this window), select “Grass” material from the dropdown list and start adjusting the color with these three RGB sliders. We can get a good result with R-0, G-5 and B-25, as this color blends perfectly with other Far textures. But first we have to convert these RGB values to XYZ values before we paste them into the code.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your X,Y and Z values simply divide each of your RGB values by 255. By dividing 0/255, 5/255 and 25/255 you get X-0, Y-0.02 and Z-0.10 respectively. Cool! Now just update the old XYZ values with these new ones in the code and load the game! You should see something similar to this.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-6.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, the Voxel Materials debug window is convenient for interactive in-game adjustment of Far Textures’ Distance and Scale values. You can adjust the corresponding Far1 and Far2 Distance and Scale sliders, and you can set Far 3 RGB colors and see changes immediately, which is a lot better than guessing the correct numbers in the code. After you find the desired values for everything related to Far textures, you just copy those values to the definitions in the code. Very convenient, isn’t it?&lt;br /&gt;
&lt;br /&gt;
Now about Distance and Scale definitions in the code. So, the following lines in the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Distance&amp;gt;30&amp;lt;/Far1Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far2Distance&amp;gt;500&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far3Distance&amp;gt;5000&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
literally mean that the Far1 texture is seen at distances greater than 30 meters, the Far2 texture is seen on a distances greater than 500 meters, and finally the Far3 color is seen at distances greater than 5000 meters. It’s that simple. The following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Scale&amp;gt;200&amp;lt;/Far1Scale&amp;gt;&lt;br /&gt;
&amp;lt;Far2Scale&amp;gt;1000&amp;lt;/Far2Scale&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
define the scale (in meters) for the Far 1 and Far2 textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Grass is made of (Grass Plates)==&lt;br /&gt;
Below you can see all the grass textures our green grass consists of. It consists of 7 (seven) different grass plates (each with it’s own set of “cm” and “ng” files). Note that &amp;lt;Color&amp;gt;&amp;lt;/Color&amp;gt; tags are for “cm” files, and &amp;lt;Normal&amp;gt;&amp;lt;/Normal&amp;gt; tags are for “ng” files. Here they are:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And that’s how their channels look in Photoshop:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-8.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why there are so many of them? More grass plates mean more variation in the overall feel and color of the grass, and thus it looks more real, which is exactly what we’re after (unless you really want to make an awful type of graphics intentionally of course!) If the whole field were made up of only one type of grass texture it would be way too repetitive, boring and too uniform of course.&lt;br /&gt;
Now you can say, hey, but didn’t we use the Alpha channel for Metalness in all “cm” type files?! Don’t worry, your grass won’t be metallic. Yes, though the “CM” abbreviation stands for Color and Metalness in the above files, remember that for Grass Plates only (ONLY), we use Alpha channel NOT for Metalness but for Alpha Mask, to cut out th Grass’ silhouette. Pretty simple right? But for all “NG” (normal/metalness) type of files everything stays the same – you have RGB channels for Normals and Alpha channel for Glossiness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Grass color==&lt;br /&gt;
Now that we know how our Grass is made, let’s make a simple color change again - from Green to Blue. So open all 7 (seven) Grass Plate files (“Grass_01_cm.dds”, “Grass_02_cm.dds”.. etc) in Photoshop, and for each of the files, add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like)&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then let’s re-save it as “GrassBlue_01_cm.dds” in the same folder (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Grass). Please note that it’s different from the folder where you put your textures for the Voxel Surface materials. Repeat the same procedure for the rest of the &amp;quot;cm&amp;quot; textures (“GrassBlue_02_cm.dds” etc.) Then we go back into the code of VoxelMaterials.sbc and change the names of all 7 grass textures “Grass_01_cm.dds” etc. to “GrassBlue_01_cm.dds” which we’ve just created. You should end up with the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart the game, or just reload the save and Voila. You have this crazy blue-colored grass. I wouldn’t step on it barefoot, to be honest. You never know who may live in the blue grass. You never know :)&lt;br /&gt;
[[File:Voxels 6-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=3376</id>
		<title>Keen:Planet Modding/Voxel Materials</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=3376"/>
		<updated>2017-05-05T13:00:06Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello and welcome to the Modding of Voxel Materials guide for young Padawans. Feeling creative about changing the look of voxel materials? You think you’re really good, huh? Well, you’re in the right place then. Be prepared for a great journey saving the world by changing the look of the voxel worlds around you. Let’s just assume that you want to change the color of this beautiful green grass which grows on every EarthLike planet in the SE Universe! And let’s assume you want to change it to a crazy blue color. Why? Because we CAN, and you can too! Call NOW and get your free training program PLUS an amazing set of kitchen knives... wait... I meant something completely different...&lt;br /&gt;
&lt;br /&gt;
[[File:UpdatedVoxelmateriaDefinition.png|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source Files==&lt;br /&gt;
Various files will be used as examples in this guide.&amp;lt;br/&amp;gt;&lt;br /&gt;
They can be downloaded here: http://www.medievalengineerswiki.com/uploaded_files/Voxel_material_modding_files.zip&lt;br /&gt;
&lt;br /&gt;
==Voxel material definitions==&lt;br /&gt;
Ok, so to start - all voxel materials definitions are stored in the VoxelMaterials.sbc file. Find it and open it in MS Visual Studio or any other advanced text editor. Search for the following line in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;SubtypeId&amp;gt;Grass&amp;lt;/SubtypeId&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s where all the fun begins! So “Grass” is the name of the voxel material we’re looking for. It’s exactly how it is called in the game, and it’s exactly that green grass you see on the screenshot. Now let’s just make a quick overview of those code lines that define how particular voxel materials look and behave so you can brag about your programming skills to your girlfriend.&lt;br /&gt;
&lt;br /&gt;
Every voxel material starts with the &amp;lt;VoxelMaterial&amp;gt; tag and ends with &amp;lt;/VoxelMaterial&amp;gt; tag. You can refer to the “Understanding voxel material definitions” picture for a brief breakdown of the most important code definitions describing the look of a voxel material.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 2-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So first things first, you have to know that the grass you see in a screenshot consists of the Grass Voxel Material (Ground) and a set of different Grass Textures “growing” out of it and scattered randomly on it. So you will be creating/tweaking the textures for the both, because normally you don’t want blue grass to grow on a green surface, right? You do? Shut up, marine! You’re in the army now, son. Just do what you’ve been told to do, and we’ll do the thinking! Let’s start with the Surface definitions first and then continue on to the Grass itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Voxel Material (ground) is made of==&lt;br /&gt;
Basically, the following three lines define how our base Voxel Material’s surface will look, or to be more precise - which textures it will use to define this look.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here’s what these code lines do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ColorMetalXZnY&amp;gt;Textures\Voxels\Grass_cm.dds&amp;lt;/ColorMetalXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Color+Metalness texture goes here. The letters “cm” in the “Grass_cm.dds” file stand for Color and Metalness. Color (or a diffuse/albedo map) is a standard RGB channel and Metalness is placed in the Alpha channel. You can go completely crazy in RGB colors. Do whatever you want. Metalness is a Black and White map only (normally NO grey halftones) which represents areas that are Metal only. You wouldn’t want to have metalness in your grass, would you? So that’s why it’s empty now (black).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;NormalGlossXZnY&amp;gt;Textures\Voxels\Grass_ng.dds&amp;lt;/NormalGlossXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Normals+Glossiness texture goes here. The letters “ng” in the “Grass_ng.dds” file stand for Normal and Glossiness. Normal map is a standard RGB channels and the Glossiness map is placed in Alpha channel. As you can see here, the normal map resides on all RGB channels and we have subtle glossy areas (Black means NO Glossiness. White: 100% glossiness) scattered all around the grass surface.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ExtXZnY&amp;gt;Textures\Voxels\Green_add.dds&amp;lt;/ExtXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your AO+ Emissivity+Dirt texture goes here. The letters “add” in the ”Grass_add.dds” file stand for Ambient Occlusion map, Emissivity map and Dirt map. Everything’s simple: AO goes to the Red channel, Emissivity goes in the Green channel and Dirt map goes to the Blue channel. In this particular example we see that currently we have a very subtle AO map (White areas mean no AO), no emissivity at all - because we don’t want our grass to glow in the dark (Black means no emissivity) and it has no dirt (White means NO Dirt).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just open the first “Grass_cm.dds” texture in Photoshop and add a Hue/Saturation adjustment layer on top. Tick Colorize and make the color crazy Blue.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just re-save this file as “GrassBlue_cm.dds” in the correct folder: (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Voxels). And of course we have to change the name in the VoxelMaterials.sbc file’s definitions, too, so the Engine knows which file to use instead of the old (green) one:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important note: &lt;br /&gt;
All textures must be saved in DDS format, DXT5, Interpolated Alpha format with “Generate MIP maps” ON.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you load the game now to see what happened to the grass, you will see that we’ve changed the color of the Grass Voxel Material (surface) only, while the Grass Plates which grow on it remain green. What the..?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-8.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s because we didn’t change the Grass textures yet. We’ll do this in a minute, no worries.&lt;br /&gt;
&lt;br /&gt;
Also, you may notice that if you move far enough from the surface, suddenly, instead of blue color – the old green starts to fade in. But didn’t we change it?! Time to panic right?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-9.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wrong! Those green textures that you see in the far distance are actually Far1 and Far2 textures, with Far3 Color at its farthest end. I said calm down, son, this is an order! We will talk about it in a minute! Don’t worry, we got you covered!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Far textures==&lt;br /&gt;
Now that we got acquainted with “cm”, “ng” and “add” files, and know what they’re doing, it is time to speak of Far textures and their meaning in our lives. Briefly - the beautiful green grass field seen from the height of human eyes and the same field seen from the outer space will not look the same, obviously. While standing on it, you’re able to see all the details, even individual grass blades and flowers here and there, but when you’re in outer space and looking down on it from orbit - the base green color will mostly remain, but it’s color pattern and relief will change significantly. So it’s apparent that we have to substitute the base grass material seen from eye-height for one that might look like it&#039;s seen from outer space. Also, we have to “tell” the render engine at which particular distances it should load our Far Textures, and how big in scale they should be to represent the desired look. Here’s a picture so you can have an idea of how it currently looks.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-1.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, Far1 and Far2 textures are represented by the same naming convention - “cm”, “ng” and “add” files. The Far3 Color, as Captain Obvious states, is defined by the RGB Color values only. It’s because when you too far away from the surface - having a simple color is more than enough.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So please open the Far1 color+metalness texture file “EarthGreenGrass_Far1_cm.dds” in Photoshop, and add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like). Do the same with Far2 color+metalness texture file “EarthGreenGrass_Far2_cm.dds”. Now you have completely blue Far1 and Farf2 textures. That’s exactly what we want. Finally, it’s time to change the Far3 Color which will be loaded at extremely far distances and which is still green. But we will change it in a sec.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To choose the correct Far3 color to seamlessly blend with the Far2 Texture, you must first get rid of anything like fog or normal map effects that might get in the way and reduce the accuracy of color adjustments. So it’s better to choose your Far3 color with only the Base Color channel turned on (see the picture). To do so, hit F12 -&amp;gt; Render button –&amp;gt; tick the Render Debug checkbox –&amp;gt; tick the Base color in a newly opened Render Debug window.&lt;br /&gt;
&lt;br /&gt;
Then hit F12 and then click the “Game” button. Tick the “Voxel Materials” checkbox and the Voxel Materials debug window will pop up on the right side with the drop down list where you can select any existing voxel materials in your world and adjust them.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-4.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Holding “Alt” (you need to keep holding “Alt” while you operate in this window), select “Grass” material from the dropdown list and start adjusting the color with these three RGB sliders. We can get a good result with R-0, G-5 and B-25, as this color blends perfectly with other Far textures. But first we have to convert these RGB values to XYZ values before we paste them into the code.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your X,Y and Z values simply divide each of your RGB values by 255. By dividing 0/255, 5/255 and 25/255 you get X-0, Y-0.02 and Z-0.10 respectively. Cool! Now just update the old XYZ values with these new ones in the code and load the game! You should see something similar to this.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-6.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, the Voxel Materials debug window is convenient for interactive in-game adjustment of Far Textures’ Distance and Scale values. You can adjust the corresponding Far1 and Far2 Distance and Scale sliders, and you can set Far 3 RGB colors and see changes immediately, which is a lot better than guessing the correct numbers in the code. After you find the desired values for everything related to Far textures, you just copy those values to the definitions in the code. Very convenient, isn’t it?&lt;br /&gt;
&lt;br /&gt;
Now about Distance and Scale definitions in the code. So, the following lines in the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Distance&amp;gt;30&amp;lt;/Far1Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far2Distance&amp;gt;500&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far3Distance&amp;gt;5000&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
literally mean that the Far1 texture is seen at distances greater than 30 meters, the Far2 texture is seen on a distances greater than 500 meters, and finally the Far3 color is seen at distances greater than 5000 meters. It’s that simple. The following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Scale&amp;gt;200&amp;lt;/Far1Scale&amp;gt;&lt;br /&gt;
&amp;lt;Far2Scale&amp;gt;1000&amp;lt;/Far2Scale&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
define the scale (in meters) for the Far 1 and Far2 textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Grass is made of (Grass Plates)==&lt;br /&gt;
Below you can see all the grass textures our green grass consists of. It consists of 7 (seven) different grass plates (each with it’s own set of “cm” and “ng” files). Note that &amp;lt;Color&amp;gt;&amp;lt;/Color&amp;gt; tags are for “cm” files, and &amp;lt;Normal&amp;gt;&amp;lt;/Normal&amp;gt; tags are for “ng” files. Here they are:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And that’s how their channels look in Photoshop:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-8.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why there are so many of them? More grass plates mean more variation in the overall feel and color of the grass, and thus it looks more real, which is exactly what we’re after (unless you really want to make an awful type of graphics intentionally of course!) If the whole field were made up of only one type of grass texture it would be way too repetitive, boring and too uniform of course.&lt;br /&gt;
Now you can say, hey, but didn’t we use the Alpha channel for Metalness in all “cm” type files?! Don’t worry, your grass won’t be metallic. Yes, though the “CM” abbreviation stands for Color and Metalness in the above files, remember that for Grass Plates only (ONLY), we use Alpha channel NOT for Metalness but for Alpha Mask, to cut out th Grass’ silhouette. Pretty simple right? But for all “NG” (normal/metalness) type of files everything stays the same – you have RGB channels for Normals and Alpha channel for Glossiness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Grass color==&lt;br /&gt;
Now that we know how our Grass is made, let’s make a simple color change again - from Green to Blue. So open all 7 (seven) Grass Plate files (“Grass_01_cm.dds”, “Grass_02_cm.dds”.. etc) in Photoshop, and for each of the files, add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like)&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then let’s re-save it as “GrassBlue_01_cm.dds” in the same folder (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Grass). Please note that it’s different from the folder where you put your textures for the Voxel Surface materials. Repeat the same procedure for the rest of the &amp;quot;cm&amp;quot; textures (“GrassBlue_02_cm.dds” etc.) Then we go back into the code of VoxelMaterials.sbc and change the names of all 7 grass textures “Grass_01_cm.dds” etc. to “GrassBlue_01_cm.dds” which we’ve just created. You should end up with the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart the game, or just reload the save and Voila. You have this crazy blue-colored grass. I wouldn’t step on it barefoot, to be honest. You never know who may live in the blue grass. You never know :)&lt;br /&gt;
[[File:Voxels 6-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=3374</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=3374"/>
		<updated>2017-05-05T12:53:07Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Reverted edits by Lukas (talk) to last revision by CptTwinkie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
[[Official Content/Voxel Materials modding|Voxel Material modding]]&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
LodStart=&amp;quot;-1&amp;quot; means that the items will be visible all the time. Will not go into details about settings of this Item Group, since it more of the same.&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This is not necessary if you just modded existing vanilla environment and have not changed its SubtypeID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:New_Component_Modding_Guide&amp;diff=3372</id>
		<title>Keen:New Component Modding Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:New_Component_Modding_Guide&amp;diff=3372"/>
		<updated>2017-05-03T13:13:29Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* MyCraftingComponentBlock */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello engineers,&lt;br /&gt;
&lt;br /&gt;
With 0.4.14 we introduce a multitude of new entity components, as well as an upgrade to the subpart animation system to be more generic and easy to use.&lt;br /&gt;
==New Entity Components==&lt;br /&gt;
===MyEntityFXComponent===&lt;br /&gt;
The Entity FX component provides light, particle and sound effects to a block. See Data/CubeBlocks/Props/TorchStand.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EntityFXComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_EntityFXComponent&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;TorchStand&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
    &amp;lt;Effects&amp;gt;&lt;br /&gt;
      &amp;lt;Effect StartEvent=&amp;quot;On&amp;quot; StopEvent=&amp;quot;Off&amp;quot; Dummy=&amp;quot;detector_fire&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;EffectId Type=&amp;quot;MyObjectBuilder_EffectDefinition&amp;quot; Subtype=&amp;quot;Torch&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Effect&amp;gt;&lt;br /&gt;
    &amp;lt;/Effects&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The Effects contains a list of effects, as well as which events toggles them on and off and which dummy they respond to. Finally, they refer to the effect as defined in Data/FX/Effects.sbc.&lt;br /&gt;
===MotionEventsComponent===&lt;br /&gt;
The MotionEventsComponent is a simple component that can fire events on the entity depending on how fast it is moving. Look at Data/CubeBlocks/Miscellaneous/Projectiles.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_MotionEventsComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_MotionEventsComponent&amp;quot; Subtype=&amp;quot;CatapultProjectile&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;VelocityEvent Speed=&amp;quot;20&amp;quot; Threshold=&amp;quot;Below&amp;quot; Name=&amp;quot;MovingSlow&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;VelocityEvent Speed=&amp;quot;20&amp;quot; Threshold=&amp;quot;Above&amp;quot; Name=&amp;quot;MovingFast&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Each velocity event checks if the speed goes from either above to below a speed, or from below to above a speed, and then fires the event in Name on the object.&lt;br /&gt;
===MyCraftingComponentBlock===&lt;br /&gt;
The CraftingComponentBlock component adds crafting functionality to a block that relies on the presence of fuel. This is used for the bonfire and the furnace. See Data/CubeBlocks/Production/Bonfire.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_CraftingComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;CraftingComponent&amp;quot; Subtype=&amp;quot;BonFire&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;CraftingCategories&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;Meals&amp;lt;/Category&amp;gt;&lt;br /&gt;
    &amp;lt;/CraftingCategories&amp;gt;&lt;br /&gt;
    &amp;lt;CraftingInventory&amp;gt;BonfireInventory&amp;lt;/CraftingInventory&amp;gt;&lt;br /&gt;
    &amp;lt;ProductionQueueSize&amp;gt;4&amp;lt;/ProductionQueueSize&amp;gt;&lt;br /&gt;
    &amp;lt;CraftingSpeedMultiplier&amp;gt;1&amp;lt;/CraftingSpeedMultiplier&amp;gt;&lt;br /&gt;
    &amp;lt;ConstrainInventory&amp;gt;true&amp;lt;/ConstrainInventory&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
CarftingCategories lists the categories of crafting recipes that can be crafted. CraftingInventory references an inventory component of the bonfire that is used for crafting. (Any block can have multiple inventories, this sets which one is used for crafting). ProductionQueueSize sets how long can crafting queue get. CraftingSpeedMultiplier can modify speed that recipes are being built with. This way you can make faster crafting stations. ConstrainInventory set to true will only allow items in its inventory, that are used for crafting by that block, or produced by this block.&lt;br /&gt;
&lt;br /&gt;
===StockpileComponent===&lt;br /&gt;
The StockpileComponent component adds the ability to display the inventory items in the world on to the entity per subpart points. This component requires the CubeBlockSubpartComponent to be present. Look at Data/CubeBlocks/Storage/WoodenShelf.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_StockpileComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_StockpileComponent&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;WoodenShelf&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
    &amp;lt;SubpartNameFormat&amp;gt;Inventory_Slot_{0:00}&amp;lt;/SubpartNameFormat&amp;gt;&lt;br /&gt;
    &amp;lt;MaxNumberOfSubparts&amp;gt;3&amp;lt;/MaxNumberOfSubparts&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The SubpartNameFormat specifies the numerated subpart names that are used for the system, and MaxNumberOfSubparts specifies the limit of visible subparts to try and assign contents to.&lt;br /&gt;
===CrankComponent===&lt;br /&gt;
The CrankComponent simply specifies the sound and angular speed and torque properties of a handcrank object. Look at Data/CubeBlocks/Mechanical/TurnWheel.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_CrankComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;CrankComponent&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;TurnCrossSmall&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
    &amp;lt;AngularImpulse&amp;gt;25&amp;lt;/AngularImpulse&amp;gt;&lt;br /&gt;
    &amp;lt;AngularVelocityLimit&amp;gt;4&amp;lt;/AngularVelocityLimit&amp;gt;&lt;br /&gt;
    &amp;lt;ActionSound&amp;gt;GearWheel&amp;lt;/ActionSound&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
AngularImpulse specifies the physical strength of the rotation, AngularVelocityLimit limits the rotation speed and ActionSound specifies the sound played while rotating.&lt;br /&gt;
===LockableRopeComponent===&lt;br /&gt;
The LockableRopeComponent specifies the lockable rope drum properties for when you want to make an object that behaves exactly like the lockable rope drum. Look at Data/CubeBlocks/Mechanical/RopeDrum.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_LockableRopeComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_LockableRopeComponent&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;LockableDrumSmall&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
    &amp;lt;MinRopeLength&amp;gt;0.7&amp;lt;/MinRopeLength&amp;gt;&lt;br /&gt;
    &amp;lt;MaxRopeLength&amp;gt;70&amp;lt;/MaxRopeLength&amp;gt;&lt;br /&gt;
    &amp;lt;DefaultMaxRopeLength&amp;gt;40&amp;lt;/DefaultMaxRopeLength&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
MinRopeLength and MaxRopeLength specify how long a rope can be, and DefaultMaxRopeLength specifies the default rope length when the drum is fully unwinded.&lt;br /&gt;
===TorsionSpringComponent===&lt;br /&gt;
The TorsionSpringComponent component specifies torsion spring properties. Look at Data/CubeBlocks/Mechanical/TorsionSpring.sbc for an example.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TorsionSpringComponentDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_TorsionSpringComponent&amp;quot; Subtype=&amp;quot;RopePowerSmallCogWheel1&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;MaxAngularImpulse&amp;gt;800&amp;lt;/MaxAngularImpulse&amp;gt;&lt;br /&gt;
    &amp;lt;MaxAngle&amp;gt;135&amp;lt;/MaxAngle&amp;gt;&lt;br /&gt;
    &amp;lt;MaxFrictionTorque&amp;gt;30&amp;lt;/MaxFrictionTorque&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
MaxAngularImpulse specifies the maximum strength the block can provide, the MaxAngle is the maximum angle it rotates and MaxFrictionTorque is the maximum torque friction.&lt;br /&gt;
==New event system==&lt;br /&gt;
We changed the way the components interact with each other. This system provides a more elegant approach to handling events so that we do not need as many entity components to create specific effects without requiring programming.&lt;br /&gt;
&lt;br /&gt;
Some examples exist in the definitions, for example, the CatapultProjectile, in Data/CubeBlocks/Miscellaneous/Projectiles.sbc. The MotionEvent component generates some events, and the EntityFXComponent listens to these events and plays an effect.&lt;br /&gt;
&lt;br /&gt;
More components will be converted to integrate with this system in the future to allow, for example, the crafting blocks to trigger animations. This way you can see the SpinningWheel spin while it’s being operated, etc.&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2730</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2730"/>
		<updated>2017-03-16T14:47:41Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
[[Official Content/Voxel Materials modding|Voxel Material modding]]&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
LodStart=&amp;quot;-1&amp;quot; means that the items will be visible all the time. Will not go into details about settings of this Item Group, since it more of the same.&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This is not necessary if you just modded existing vanilla environment and have not changed its SubtypeID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2256</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2256"/>
		<updated>2017-03-13T16:41:12Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Definition elements explained point by point: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
LodStart=&amp;quot;-1&amp;quot; means that the items will be visible all the time. Will not go into details about settings of this Item Group, since it more of the same.&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This is not necessary if you just modded existing vanilla environment and have not changed its SubtypeID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2255</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2255"/>
		<updated>2017-03-13T16:40:30Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Definition elements explained point by point: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
LodStart=&amp;quot;-1&amp;quot; means that the items will be visible all the time. Will not go into settings of this Item Group, since it more of the same.&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This is not necessary if you just modded existing vanilla environment and have not changed its SubtypeID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2254</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2254"/>
		<updated>2017-03-13T16:34:50Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Assign environment to a planet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
There are 2 more item Groups. I will not go into details, since it is not&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This is not necessary if you just modded existing vanilla environment and have not changed its SubtypeID&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2253</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2253"/>
		<updated>2017-03-13T16:34:29Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Assign environment to a planet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
There are 2 more item Groups. I will not go into details, since it is not&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
Note: This is not necessary if you just modded existing vanilla environment and have not changed its SubtypeID&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2252</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2252"/>
		<updated>2017-03-13T16:33:12Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Assign environment to a planet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
There are 2 more item Groups. I will not go into details, since it is not&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Last thing is to assign your brand new procedural environment to a planet where it is supposed to appear. Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet by adding following line to the planet definition with name of your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;NAMEOFYOURENVIRONMENTDEFINITION&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2251</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2251"/>
		<updated>2017-03-13T16:30:24Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Biomes definitions modding - trees, plants and bots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear and definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc in case you are adding a brand new planet.&lt;br /&gt;
&lt;br /&gt;
====First make/modify environment:====&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
=====Procedural World Environment definition=====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
=====Definition elements explained point by point:=====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
There are 2 more item Groups. I will not go into details, since it is not&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Environment items=====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
=====EnvironmentItemTypesDefinition=====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
====Assign environment to a planet====&lt;br /&gt;
Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=2248</id>
		<title>Keen:Planet Modding/Voxel Materials</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Voxel_Materials&amp;diff=2248"/>
		<updated>2017-03-13T16:23:08Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Lukas moved page Official Content/Modding of Voxel Materials to Official Content/Voxel Materials modding without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello and welcome to the Modding of Voxel Materials guide for young Padawans. Feeling creative about changing the look of voxel materials? You think you’re really good, huh? Well, you’re in the right place, then. Be prepared for a great journey saving the world by changing the look of the voxel worlds around you. Let’s just assume that you want to change the color of this beautiful green grass which grows on every EarthLike planet in the SE Universe! And let’s assume you want to change it to a crazy blue color. Why? Because we CAN, and you Can too! Call NOW and get your free training program PLUS an amazing set of kitchen knives... wait... I meant something completely different...&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 1-1.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source Files==&lt;br /&gt;
Various files will be used as examples in this guide.&amp;lt;br/&amp;gt;&lt;br /&gt;
They can be downloaded here: http://www.medievalengineerswiki.com/uploaded_files/Voxel_material_modding_files.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Voxel material definitions==&lt;br /&gt;
Ok, so to start - all voxel materials definitions are stored in the VoxelMaterials.sbc file. Find it and open it in MS Visual Studio or any other advanced text editor. Search for the following line in the code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;SubtypeId&amp;gt;Grass&amp;lt;/SubtypeId&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s where all the fun begins! So “Grass” is the name of the voxel material we’re looking for. It’s exactly how it is called in the game, and it’s exactly that green grass you see on the screenshot. Now let’s just make a quick overview of those code lines that define how particular voxel materials look and behave so you can brag about your programming skills to your girlfriend.&lt;br /&gt;
&lt;br /&gt;
Every voxel material starts with the &amp;lt;VoxelMaterial&amp;gt; tag and ends with &amp;lt;/VoxelMaterial&amp;gt; tag. You can refer to the “Understanding voxel material definitions” picture for a brief breakdown of the most important code definitions describing the look of a voxel material.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 2-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So first things first, you have to know that the grass you see in a screenshot consists of the Grass Voxel Material (Ground) and a set of different Grass Textures “growing” out of it and scattered randomly on it. So you will be creating/tweaking the textures for the both, because normally you don’t want blue grass to grow on a green surface, right? You do? Shut up, marine! You’re in the army now, son. Just do what you’ve been told to do, and we’ll do the thinking! Let’s start with the Surface definitions first and then continue on to the Grass itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Voxel Material (ground) is made of==&lt;br /&gt;
Basically, the following three lines define how our base Voxel Material’s surface will look, or to be more precise - which textures it will use to define this look.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here’s what these code lines do:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ColorMetalXZnY&amp;gt;Textures\Voxels\Grass_cm.dds&amp;lt;/ColorMetalXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Color+Metalness texture goes here. The letters “cm” in the “Grass_cm.dds” file stand for Color and Metalness. Color (or a diffuse/albedo map) is a standard RGB channel and Metalness is placed in the Alpha channel. You can go completely crazy in RGB colors. Do whatever you want. Metalness is a Black and White map only (normally NO grey halftones) which represents areas that are Metal only. You wouldn’t want to have metalness in your grass, would you? So that’s why it’s empty now (black).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;NormalGlossXZnY&amp;gt;Textures\Voxels\Grass_ng.dds&amp;lt;/NormalGlossXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your Normals+Glossiness texture goes here. The letters “ng” in the “Grass_ng.dds” file stand for Normal and Glossiness. Normal map is a standard RGB channels and the Glossiness map is placed in Alpha channel. As you can see here, the normal map resides on all RGB channels and we have subtle glossy areas (Black means NO Glossiness. White: 100% glossiness) scattered all around the grass surface.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ExtXZnY&amp;gt;Textures\Voxels\Green_add.dds&amp;lt;/ExtXZnY&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Your AO+ Emissivity+Dirt texture goes here. The letters “add” in the ”Grass_add.dds” file stand for Ambient Occlusion map, Emissivity map and Dirt map. Everything’s simple: AO goes to the Red channel, Emissivity goes in the Green channel and Dirt map goes to the Blue channel. In this particular example we see that currently we have a very subtle AO map (White areas mean no AO), no emissivity at all - because we don’t want our grass to glow in the dark (Black means no emissivity) and it has no dirt (White means NO Dirt).&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just open the first “Grass_cm.dds” texture in Photoshop and add a Hue/Saturation adjustment layer on top. Tick Colorize and make the color crazy Blue.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now just re-save this file as “GrassBlue_cm.dds” in the correct folder: (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Voxels). And of course we have to change the name in the VoxelMaterials.sbc file’s definitions, too, so the Engine knows which file to use instead of the old (green) one:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Important note: &lt;br /&gt;
All textures must be saved in DDS format, DXT5, Interpolated Alpha format with “Generate MIP maps” ON.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you load the game now to see what happened to the grass, you will see that we’ve changed the color of the Grass Voxel Material (surface) only, while the Grass Plates which grow on it remain green. What the..?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-8.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That’s because we didn’t change the Grass textures yet. We’ll do this in a minute, no worries.&lt;br /&gt;
&lt;br /&gt;
Also, you may notice that if you move far enough from the surface, suddenly, instead of blue color – the old green starts to fade in. But didn’t we change it?! Time to panic right?&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 3-9.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wrong! Those green textures that you see in the far distance are actually Far1 and Far2 textures, with Far3 Color at its farthest end. I said calm down, son, this is an order! We will talk about it in a minute! Don’t worry, we got you covered!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Far textures==&lt;br /&gt;
Now that we got acquainted with “cm”, “ng” and “add” files, and know what they’re doing, it is time to speak of Far textures and their meaning in our lives. Briefly - the beautiful green grass field seen from the height of human eyes and the same field seen from the outer space will not look the same, obviously. While standing on it, you’re able to see all the details, even individual grass blades and flowers here and there, but when you’re in outer space and looking down on it from orbit - the base green color will mostly remain, but it’s color pattern and relief will change significantly. So it’s apparent that we have to substitute the base grass material seen from eye-height for one that might look like it&#039;s seen from outer space. Also, we have to “tell” the render engine at which particular distances it should load our Far Textures, and how big in scale they should be to represent the desired look. Here’s a picture so you can have an idea of how it currently looks.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-1.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, Far1 and Far2 textures are represented by the same naming convention - “cm”, “ng” and “add” files. The Far3 Color, as Captain Obvious states, is defined by the RGB Color values only. It’s because when you too far away from the surface - having a simple color is more than enough.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So please open the Far1 color+metalness texture file “EarthGreenGrass_Far1_cm.dds” in Photoshop, and add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like). Do the same with Far2 color+metalness texture file “EarthGreenGrass_Far2_cm.dds”. Now you have completely blue Far1 and Farf2 textures. That’s exactly what we want. Finally, it’s time to change the Far3 Color which will be loaded at extremely far distances and which is still green. But we will change it in a sec.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To choose the correct Far3 color to seamlessly blend with the Far2 Texture, you must first get rid of anything like fog or normal map effects that might get in the way and reduce the accuracy of color adjustments. So it’s better to choose your Far3 color with only the Base Color channel turned on (see the picture). To do so, hit F12 -&amp;gt; Render button –&amp;gt; tick the Render Debug checkbox –&amp;gt; tick the Base color in a newly opened Render Debug window.&lt;br /&gt;
&lt;br /&gt;
Then hit F12 and then click the “Game” button. Tick the “Voxel Materials” checkbox and the Voxel Materials debug window will pop up on the right side with the drop down list where you can select any existing voxel materials in your world and adjust them.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-4.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Holding “Alt” (you need to keep holding “Alt” while you operate in this window), select “Grass” material from the dropdown list and start adjusting the color with these three RGB sliders. We can get a good result with R-0, G-5 and B-25, as this color blends perfectly with other Far textures. But first we have to convert these RGB values to XYZ values before we paste them into the code.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find your X,Y and Z values simply divide each of your RGB values by 255. By dividing 0/255, 5/255 and 25/255 you get X-0, Y-0.02 and Z-0.10 respectively. Cool! Now just update the old XYZ values with these new ones in the code and load the game! You should see something similar to this.&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 4-6.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, the Voxel Materials debug window is convenient for interactive in-game adjustment of Far Textures’ Distance and Scale values. You can adjust the corresponding Far1 and Far2 Distance and Scale sliders, and you can set Far 3 RGB colors and see changes immediately, which is a lot better than guessing the correct numbers in the code. After you find the desired values for everything related to Far textures, you just copy those values to the definitions in the code. Very convenient, isn’t it?&lt;br /&gt;
&lt;br /&gt;
Now about Distance and Scale definitions in the code. So, the following lines in the code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Distance&amp;gt;30&amp;lt;/Far1Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far2Distance&amp;gt;500&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;Far3Distance&amp;gt;5000&amp;lt;/Far2Distance&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
literally mean that the Far1 texture is seen at distances greater than 30 meters, the Far2 texture is seen on a distances greater than 500 meters, and finally the Far3 color is seen at distances greater than 5000 meters. It’s that simple. The following lines:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Far1Scale&amp;gt;200&amp;lt;/Far1Scale&amp;gt;&lt;br /&gt;
&amp;lt;Far2Scale&amp;gt;1000&amp;lt;/Far2Scale&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
define the scale (in meters) for the Far 1 and Far2 textures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Understanding what Grass is made of (Grass Plates)==&lt;br /&gt;
Below you can see all the grass textures our green grass consists of. It consists of 7 (seven) different grass plates (each with it’s own set of “cm” and “ng” files). Note that &amp;lt;Color&amp;gt;&amp;lt;/Color&amp;gt; tags are for “cm” files, and &amp;lt;Normal&amp;gt;&amp;lt;/Normal&amp;gt; tags are for “ng” files. Here they are:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And that’s how their channels look in Photoshop:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-3.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-4.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-5.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-6.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-7.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 5-8.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why there are so many of them? More grass plates mean more variation in the overall feel and color of the grass, and thus it looks more real, which is exactly what we’re after (unless you really want to make an awful type of graphics intentionally of course!) If the whole field were made up of only one type of grass texture it would be way too repetitive, boring and too uniform of course.&lt;br /&gt;
Now you can say, hey, but didn’t we use the Alpha channel for Metalness in all “cm” type files?! Don’t worry, your grass won’t be metallic. Yes, though the “CM” abbreviation stands for Color and Metalness in the above files, remember that for Grass Plates only (ONLY), we use Alpha channel NOT for Metalness but for Alpha Mask, to cut out th Grass’ silhouette. Pretty simple right? But for all “NG” (normal/metalness) type of files everything stays the same – you have RGB channels for Normals and Alpha channel for Glossiness.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Changing the Grass color==&lt;br /&gt;
Now that we know how our Grass is made, let’s make a simple color change again - from Green to Blue. So open all 7 (seven) Grass Plate files (“Grass_01_cm.dds”, “Grass_02_cm.dds”.. etc) in Photoshop, and for each of the files, add a simple Hue/Saturation adjustment layer on top. Change the Hue/ Saturation values so it looks bluish enough (or any other color you like)&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-1.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and then let’s re-save it as “GrassBlue_01_cm.dds” in the same folder (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Grass). Please note that it’s different from the folder where you put your textures for the Voxel Surface materials. Repeat the same procedure for the rest of the &amp;quot;cm&amp;quot; textures (“GrassBlue_02_cm.dds” etc.) Then we go back into the code of VoxelMaterials.sbc and change the names of all 7 grass textures “Grass_01_cm.dds” etc. to “GrassBlue_01_cm.dds” which we’ve just created. You should end up with the following:&lt;br /&gt;
&lt;br /&gt;
[[File:Voxels 6-2.jpg|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Restart the game, or just reload the save and Voila. You have this crazy blue-colored grass. I wouldn’t step on it barefoot, to be honest. You never know who may live in the blue grass. You never know :)&lt;br /&gt;
[[File:Voxels 6-3.jpg|center|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2247</id>
		<title>Keen:AI Bots</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2247"/>
		<updated>2017-03-13T16:20:38Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Creating definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creating behavior==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
This tutorial presents how to create simple behavior for barbarian step by step. The only requirement for this tutorial is to get Medieval Engineers mod SDK which can be found in Steam library under Tool section. For curious readers, tutorial about behavior trees and the behavior tree tool can be found under this address.&lt;br /&gt;
&lt;br /&gt;
===Jumping barbarian behavior===&lt;br /&gt;
In order to create a new behavior, we will need to open the behavior tree tool. It can be accessed from ME mod SDK which you can find in the Tool section on Steam. &lt;br /&gt;
&lt;br /&gt;
[[File:ModSDK.png]]&lt;br /&gt;
&lt;br /&gt;
When you double click Medieval Engineers - Mod SDK, it will open the root folder with tools. In order to open behavior tree tool you need to go to Tools folder and then to VRageEditor folder. In VRageEditor folder, start &#039;&#039;&#039;BehaviorTree.bat&#039;&#039;&#039; which will open the behavior tree tool.&lt;br /&gt;
&lt;br /&gt;
[[File:BehaviorTreeBat.png]]&lt;br /&gt;
&lt;br /&gt;
The first step is to create a new behavior tree. To do this, click the &amp;quot;New tree&amp;quot; button in the upper left corner of the application. A new window with two fields will pop up in which you can specify the name and the kind of behavior you want to create. In this tutorial we are going to make jumping barbarian behavior, so let&#039;s call our new behavior &#039;&#039;&#039;JumpingBarbarianBehavior&#039;&#039;&#039; and set the &#039;&#039;Behavior&#039;&#039; field to &#039;&#039;&#039;Barbarian&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:CreateNewTree.png]]&lt;br /&gt;
&lt;br /&gt;
When you click the &#039;&#039;&amp;quot;Create&amp;quot;&#039;&#039; button, the window will be closed and the behavior tree graph area control with the grey background will appear in the behavior tree tool. In this control we will add new nodes and create our AI. On the creation, the control automatically adds the Root node which is the main node of a behavior tree. The orange color of the node signalizes that the node is selected. You can select node by clicking on it with the left mouse button.&lt;br /&gt;
&lt;br /&gt;
[[File:Selection.png]]&lt;br /&gt;
&lt;br /&gt;
Our first and only child of the root node will be selector node. To do it, let&#039;s select the root node and click on the &amp;quot;Add node&amp;quot; button in the upper menu. From the pop-up menu pick Selector value and click the Ok button. If you did the steps correctly, a selector node should be added next to the root node. There should be also connection (a black arrow) between two nodes. If it is not a case, you can create a new connection between nodes by clicking and dragging a mouse cursor from a node&#039;s black dot to the another node&#039;s black dot. If you want to remove a connection between two nodes, you can double click the arrow. &lt;br /&gt;
&lt;br /&gt;
[[File:NodeConnecting.png]]&lt;br /&gt;
&lt;br /&gt;
The root node can only have one child node (in our case selector node). A selector node can have any number of child nodes. We decided to pick selector as the first node because of its property of finishing the run on the first child which returns &#039;&#039;&#039;SUCCESS&#039;&#039;&#039; or &#039;&#039;&#039;RUNNING&#039;&#039;&#039; states. You can find more about it in the tutorial mentioned at the beginning of this tutorial.&lt;br /&gt;
Let&#039;s add two new nodes to the selector node. The first one will be a sequence node and the latter will be an action node. You can tell the application to automatically reorganize the layout of the nodes by clicking the &amp;quot;Refresh layout&amp;quot; button in the upper menu.&lt;br /&gt;
&lt;br /&gt;
[[File:SelectorNode.png]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s change the action of our newly added action node. Double click the first value field in the action node (by default, in barbarian behavior, it has &amp;quot;Attack&amp;quot; value set), and in the pop-up window change the value of the field to &amp;quot;Idle&amp;quot;. At this point it would be great to change names of selector and sequence nodes to more meaningful ones. Let&#039;s call them &#039;&#039;&#039;MainSelector&#039;&#039;&#039; and &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; respectively. You can change the name of these nodes by double clicking their value fields (by default they have values &#039;&#039;&#039;Selector&#039;&#039;&#039; and &#039;&#039;&#039;Sequence&#039;&#039;&#039;). Changing names of selectors and sequences does not affect how a behavior works. It is simply a cosmetic change that increases the readability of a behavior.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpingSequence.png]]&lt;br /&gt;
&lt;br /&gt;
The next step is to design our jumping sequence. What we want our bot to achieve is to find a player character in some radius, get to the found character and jump next to him. Barbarian behavior exposes a set of actions that can help us with making it happen. The very first action that we are going to add to the jumping sequence is going to be &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039;. It has two parameters:&lt;br /&gt;
#&#039;&#039;radius&#039;&#039; - which specifies in what radius the action should look for a player character,&lt;br /&gt;
#&#039;&#039;output&#039;&#039; player character - in this field you can specify under what name the found player character will be stored in the memory. This name can be used in different actions as an input parameter (if type is supported of course).&lt;br /&gt;
In our case we want to look for a player in radius of 30 meters and we will save it under &amp;quot;Player&amp;quot; name in the memory.&lt;br /&gt;
The second node in the jumping sequence is going to be &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; action node. &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; has input parameter which is the name of some target stored in the memory. In our case it is found character from &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039; action. Therefore, provide it with the &amp;quot;Player&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpSequenceActions.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After setting the target, we have to get to the character. To do this, we will add a selector node with two child action nodes to the jumping sequence. Let&#039;s name the selector node &#039;&#039;&#039;GetToTarget&#039;&#039;&#039;. The first action of the &#039;&#039;&#039;GetToTarge&#039;&#039;&#039; selector should be &#039;&#039;&amp;quot;IsAtTargetPosition&amp;quot;&#039;&#039; action that takes as a parameter the tolerable area radius around the target. The second action is &#039;&#039;&amp;quot;GotoTarget&amp;quot;&#039;&#039; which makes the character move towards the target. GetToTarget selector ensures that we will get to our target.&lt;br /&gt;
The last child node of the jumping sequence is a decorator node. There can be two types of decorators: a timer decorator (it activates after the specified amount of time passes) and a counter decorator (it activates after the specified call count has been reached). We are going to pick the timer decorator node by changing first value of a decorator node to &#039;&#039;&amp;quot;TimerLogic&amp;quot;&#039;&#039;. In the second value, let&#039;s choose &#039;&#039;&#039;RUNNING&#039;&#039;&#039; which stands for the default value that decorator returns. The last one specifies value dependent on the decorator type. In the case of a timer decorator, it is time in milliseconds after which the decorator will run its child node. Let&#039;s provide it with the value of 1500 ms. You can find more about decorators and related concepts under this link. As a decorator can only have one child, we are going attach &amp;quot;Jump&amp;quot; action node to it.&lt;br /&gt;
As the final modification to our behavior tree, let&#039;s mark the &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; node as a memorable (by clicking on the &#039;&#039;&amp;quot;Is memorable&amp;quot;&#039;&#039; box). It means that while doing the jumping sequence we want to focus only on the node that was processed last time. Below you can see the final state of the behavior tree:&lt;br /&gt;
&lt;br /&gt;
[[File:EntireTreeView.png]]&lt;br /&gt;
&lt;br /&gt;
Now you can safely export the behavior tree to a file. Click the &#039;&#039;&amp;quot;Export tree&amp;quot;&#039;&#039; button in the upper menu and select which behavior you want to export. The next step is to specify a file to which you want to save selected behaviors. In the next tutorial I will present you how to create a mod with our jumping barbarian!&lt;br /&gt;
&lt;br /&gt;
==Creating bot==&lt;br /&gt;
===Introduction===&lt;br /&gt;
In the previous tutorial we have created jumping barbarian behavior. Now we are going add it to the game. The bot will appear in the g-screen menu under Bots tab, so you will be able to spawn him at any location.&lt;br /&gt;
&lt;br /&gt;
===Creating definition===&lt;br /&gt;
In order to make our bot available in the game, we have to define a bot definition. Let&#039;s create a new file &#039;&#039;MyBots.sbc&#039;&#039; in which we will define our previously created behavior.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Definitions xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Bots&amp;gt;&lt;br /&gt;
    &amp;lt;Bot xsi:type=&amp;quot;MyObjectBuilder_HumanoidBotDefinition&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_HumanoidBot&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;JumpingBarbarian&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;DisplayName&amp;gt;Jumping Barbarian&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
      &amp;lt;Icon&amp;gt;Textures\GUI\Icons\SpawnBarbarian.dds&amp;lt;/Icon&amp;gt;&lt;br /&gt;
      &amp;lt;BotModel&amp;gt;Medieval_barbarian&amp;lt;/BotModel&amp;gt;&lt;br /&gt;
      &amp;lt;BotBehaviorTree Subtype=&amp;quot;JumpingBarbarianBehavior&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;BehaviorType&amp;gt;Barbarian&amp;lt;/BehaviorType&amp;gt;&lt;br /&gt;
      &amp;lt;TargetType&amp;gt;Humanoid&amp;lt;/TargetType&amp;gt;&lt;br /&gt;
      &amp;lt;StartingItem Subtype=&amp;quot;Mace&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Public&amp;gt;true&amp;lt;/Public&amp;gt;&lt;br /&gt;
      &amp;lt;AvailableInSurvival&amp;gt;false&amp;lt;/AvailableInSurvival&amp;gt;&lt;br /&gt;
      &amp;lt;InventoryContentGenerated&amp;gt;true&amp;lt;/InventoryContentGenerated&amp;gt;&lt;br /&gt;
      &amp;lt;InventoryContainerTypeId&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;ContainerTypeDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;BarbarianBagContent&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/InventoryContainerTypeId&amp;gt;&lt;br /&gt;
      &amp;lt;FactionTag&amp;gt;BARB&amp;lt;/FactionTag&amp;gt;&lt;br /&gt;
    &amp;lt;/Bot&amp;gt;&lt;br /&gt;
  &amp;lt;/Bots&amp;gt;&lt;br /&gt;
&amp;lt;/Definitions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The definition above will tell the game what kind of bot we want to create. The bot is going to use jumping behavior. The next step is to a create toolbar item for the g-screen menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Definitions xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;CategoryClasses&amp;gt;&lt;br /&gt;
    &amp;lt;Category&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;GuiBlockCategoryDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId/&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;DisplayName&amp;gt;DisplayName_Category_Bots&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Bots&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Public&amp;gt;true&amp;lt;/Public&amp;gt;&lt;br /&gt;
      &amp;lt;ItemIds&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;BotDefinition/JumpingBarbarian&amp;lt;/string&amp;gt;&lt;br /&gt;
      &amp;lt;/ItemIds&amp;gt;&lt;br /&gt;
    &amp;lt;/Category&amp;gt;&lt;br /&gt;
  &amp;lt;/CategoryClasses&amp;gt;&lt;br /&gt;
&amp;lt;/Definitions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s create a new folder &#039;&#039;&#039;JumpingBehavior&#039;&#039;&#039; and create &#039;&#039;&#039;Data&#039;&#039;&#039; subfolder inside of it. Then, move all three files (&#039;&#039;JumpingBehavior.sbc&#039;&#039;, &#039;&#039;MyBots.sbc&#039;&#039; and &#039;&#039;Categories.sbc&#039;&#039;) to &#039;&#039;&#039;Data&#039;&#039;&#039; folder. Another step is to copy our JumpingBehavior folder to &#039;&#039;Roaming/MedievalEngineers/Mods&#039;&#039; folder. Now you can open the game and add our mod. As stated before, you will find the jumping barbarian under &#039;&#039;&#039;Bots&#039;&#039;&#039; tab in g-screen menu. Enjoy!&lt;br /&gt;
&lt;br /&gt;
Link:&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=413831474&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2246</id>
		<title>Keen:AI Bots</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2246"/>
		<updated>2017-03-13T16:18:58Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Creating definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creating behavior==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
This tutorial presents how to create simple behavior for barbarian step by step. The only requirement for this tutorial is to get Medieval Engineers mod SDK which can be found in Steam library under Tool section. For curious readers, tutorial about behavior trees and the behavior tree tool can be found under this address.&lt;br /&gt;
&lt;br /&gt;
===Jumping barbarian behavior===&lt;br /&gt;
In order to create a new behavior, we will need to open the behavior tree tool. It can be accessed from ME mod SDK which you can find in the Tool section on Steam. &lt;br /&gt;
&lt;br /&gt;
[[File:ModSDK.png]]&lt;br /&gt;
&lt;br /&gt;
When you double click Medieval Engineers - Mod SDK, it will open the root folder with tools. In order to open behavior tree tool you need to go to Tools folder and then to VRageEditor folder. In VRageEditor folder, start &#039;&#039;&#039;BehaviorTree.bat&#039;&#039;&#039; which will open the behavior tree tool.&lt;br /&gt;
&lt;br /&gt;
[[File:BehaviorTreeBat.png]]&lt;br /&gt;
&lt;br /&gt;
The first step is to create a new behavior tree. To do this, click the &amp;quot;New tree&amp;quot; button in the upper left corner of the application. A new window with two fields will pop up in which you can specify the name and the kind of behavior you want to create. In this tutorial we are going to make jumping barbarian behavior, so let&#039;s call our new behavior &#039;&#039;&#039;JumpingBarbarianBehavior&#039;&#039;&#039; and set the &#039;&#039;Behavior&#039;&#039; field to &#039;&#039;&#039;Barbarian&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:CreateNewTree.png]]&lt;br /&gt;
&lt;br /&gt;
When you click the &#039;&#039;&amp;quot;Create&amp;quot;&#039;&#039; button, the window will be closed and the behavior tree graph area control with the grey background will appear in the behavior tree tool. In this control we will add new nodes and create our AI. On the creation, the control automatically adds the Root node which is the main node of a behavior tree. The orange color of the node signalizes that the node is selected. You can select node by clicking on it with the left mouse button.&lt;br /&gt;
&lt;br /&gt;
[[File:Selection.png]]&lt;br /&gt;
&lt;br /&gt;
Our first and only child of the root node will be selector node. To do it, let&#039;s select the root node and click on the &amp;quot;Add node&amp;quot; button in the upper menu. From the pop-up menu pick Selector value and click the Ok button. If you did the steps correctly, a selector node should be added next to the root node. There should be also connection (a black arrow) between two nodes. If it is not a case, you can create a new connection between nodes by clicking and dragging a mouse cursor from a node&#039;s black dot to the another node&#039;s black dot. If you want to remove a connection between two nodes, you can double click the arrow. &lt;br /&gt;
&lt;br /&gt;
[[File:NodeConnecting.png]]&lt;br /&gt;
&lt;br /&gt;
The root node can only have one child node (in our case selector node). A selector node can have any number of child nodes. We decided to pick selector as the first node because of its property of finishing the run on the first child which returns &#039;&#039;&#039;SUCCESS&#039;&#039;&#039; or &#039;&#039;&#039;RUNNING&#039;&#039;&#039; states. You can find more about it in the tutorial mentioned at the beginning of this tutorial.&lt;br /&gt;
Let&#039;s add two new nodes to the selector node. The first one will be a sequence node and the latter will be an action node. You can tell the application to automatically reorganize the layout of the nodes by clicking the &amp;quot;Refresh layout&amp;quot; button in the upper menu.&lt;br /&gt;
&lt;br /&gt;
[[File:SelectorNode.png]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s change the action of our newly added action node. Double click the first value field in the action node (by default, in barbarian behavior, it has &amp;quot;Attack&amp;quot; value set), and in the pop-up window change the value of the field to &amp;quot;Idle&amp;quot;. At this point it would be great to change names of selector and sequence nodes to more meaningful ones. Let&#039;s call them &#039;&#039;&#039;MainSelector&#039;&#039;&#039; and &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; respectively. You can change the name of these nodes by double clicking their value fields (by default they have values &#039;&#039;&#039;Selector&#039;&#039;&#039; and &#039;&#039;&#039;Sequence&#039;&#039;&#039;). Changing names of selectors and sequences does not affect how a behavior works. It is simply a cosmetic change that increases the readability of a behavior.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpingSequence.png]]&lt;br /&gt;
&lt;br /&gt;
The next step is to design our jumping sequence. What we want our bot to achieve is to find a player character in some radius, get to the found character and jump next to him. Barbarian behavior exposes a set of actions that can help us with making it happen. The very first action that we are going to add to the jumping sequence is going to be &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039;. It has two parameters:&lt;br /&gt;
#&#039;&#039;radius&#039;&#039; - which specifies in what radius the action should look for a player character,&lt;br /&gt;
#&#039;&#039;output&#039;&#039; player character - in this field you can specify under what name the found player character will be stored in the memory. This name can be used in different actions as an input parameter (if type is supported of course).&lt;br /&gt;
In our case we want to look for a player in radius of 30 meters and we will save it under &amp;quot;Player&amp;quot; name in the memory.&lt;br /&gt;
The second node in the jumping sequence is going to be &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; action node. &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; has input parameter which is the name of some target stored in the memory. In our case it is found character from &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039; action. Therefore, provide it with the &amp;quot;Player&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpSequenceActions.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After setting the target, we have to get to the character. To do this, we will add a selector node with two child action nodes to the jumping sequence. Let&#039;s name the selector node &#039;&#039;&#039;GetToTarget&#039;&#039;&#039;. The first action of the &#039;&#039;&#039;GetToTarge&#039;&#039;&#039; selector should be &#039;&#039;&amp;quot;IsAtTargetPosition&amp;quot;&#039;&#039; action that takes as a parameter the tolerable area radius around the target. The second action is &#039;&#039;&amp;quot;GotoTarget&amp;quot;&#039;&#039; which makes the character move towards the target. GetToTarget selector ensures that we will get to our target.&lt;br /&gt;
The last child node of the jumping sequence is a decorator node. There can be two types of decorators: a timer decorator (it activates after the specified amount of time passes) and a counter decorator (it activates after the specified call count has been reached). We are going to pick the timer decorator node by changing first value of a decorator node to &#039;&#039;&amp;quot;TimerLogic&amp;quot;&#039;&#039;. In the second value, let&#039;s choose &#039;&#039;&#039;RUNNING&#039;&#039;&#039; which stands for the default value that decorator returns. The last one specifies value dependent on the decorator type. In the case of a timer decorator, it is time in milliseconds after which the decorator will run its child node. Let&#039;s provide it with the value of 1500 ms. You can find more about decorators and related concepts under this link. As a decorator can only have one child, we are going attach &amp;quot;Jump&amp;quot; action node to it.&lt;br /&gt;
As the final modification to our behavior tree, let&#039;s mark the &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; node as a memorable (by clicking on the &#039;&#039;&amp;quot;Is memorable&amp;quot;&#039;&#039; box). It means that while doing the jumping sequence we want to focus only on the node that was processed last time. Below you can see the final state of the behavior tree:&lt;br /&gt;
&lt;br /&gt;
[[File:EntireTreeView.png]]&lt;br /&gt;
&lt;br /&gt;
Now you can safely export the behavior tree to a file. Click the &#039;&#039;&amp;quot;Export tree&amp;quot;&#039;&#039; button in the upper menu and select which behavior you want to export. The next step is to specify a file to which you want to save selected behaviors. In the next tutorial I will present you how to create a mod with our jumping barbarian!&lt;br /&gt;
&lt;br /&gt;
==Creating bot==&lt;br /&gt;
===Introduction===&lt;br /&gt;
In the previous tutorial we have created jumping barbarian behavior. Now we are going add it to the game. The bot will appear in the g-screen menu under Bots tab, so you will be able to spawn him at any location.&lt;br /&gt;
&lt;br /&gt;
===Creating definition===&lt;br /&gt;
In order to make our bot available in the game, we have to define a bot definition. Let&#039;s create a new file &#039;&#039;MyBots.sbc&#039;&#039; in which we will define our previously created behavior.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Definitions xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Bots&amp;gt;&lt;br /&gt;
    &amp;lt;Bot xsi:type=&amp;quot;MyObjectBuilder_HumanoidBotDefinition&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_HumanoidBot&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;NormalBarbarian&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;DisplayName&amp;gt;DisplayName_Bots_Barbarian&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
      &amp;lt;Icon&amp;gt;Textures\GUI\Icons\SpawnBarbarian.dds&amp;lt;/Icon&amp;gt;&lt;br /&gt;
      &amp;lt;BotModel&amp;gt;Medieval_barbarian&amp;lt;/BotModel&amp;gt;&lt;br /&gt;
      &amp;lt;BotBehaviorTree Subtype=&amp;quot;BarbarianBehavior&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;BehaviorType&amp;gt;Barbarian&amp;lt;/BehaviorType&amp;gt;&lt;br /&gt;
      &amp;lt;TargetType&amp;gt;Humanoid&amp;lt;/TargetType&amp;gt;&lt;br /&gt;
      &amp;lt;StartingItem Subtype=&amp;quot;Mace&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Public&amp;gt;true&amp;lt;/Public&amp;gt;&lt;br /&gt;
      &amp;lt;AvailableInSurvival&amp;gt;false&amp;lt;/AvailableInSurvival&amp;gt;&lt;br /&gt;
      &amp;lt;InventoryContentGenerated&amp;gt;true&amp;lt;/InventoryContentGenerated&amp;gt;&lt;br /&gt;
      &amp;lt;InventoryContainerTypeId&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;ContainerTypeDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;BarbarianBagContent&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/InventoryContainerTypeId&amp;gt;&lt;br /&gt;
      &amp;lt;FactionTag&amp;gt;BARB&amp;lt;/FactionTag&amp;gt;&lt;br /&gt;
    &amp;lt;/Bot&amp;gt;&lt;br /&gt;
  &amp;lt;/Bots&amp;gt;&lt;br /&gt;
&amp;lt;/Definitions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The definition above will tell the game what kind of bot we want to create. The bot is going to use jumping behavior. The next step is to a create toolbar item for the g-screen menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Definitions xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;CategoryClasses&amp;gt;&lt;br /&gt;
    &amp;lt;Category&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;GuiBlockCategoryDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId/&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;DisplayName&amp;gt;DisplayName_Category_Bots&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Bots&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Public&amp;gt;true&amp;lt;/Public&amp;gt;&lt;br /&gt;
      &amp;lt;ItemIds&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;BotDefinition/JumpingBarbarian&amp;lt;/string&amp;gt;&lt;br /&gt;
      &amp;lt;/ItemIds&amp;gt;&lt;br /&gt;
    &amp;lt;/Category&amp;gt;&lt;br /&gt;
  &amp;lt;/CategoryClasses&amp;gt;&lt;br /&gt;
&amp;lt;/Definitions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s create a new folder &#039;&#039;&#039;JumpingBehavior&#039;&#039;&#039; and create &#039;&#039;&#039;Data&#039;&#039;&#039; subfolder inside of it. Then, move all three files (&#039;&#039;JumpingBehavior.sbc&#039;&#039;, &#039;&#039;MyBots.sbc&#039;&#039; and &#039;&#039;Categories.sbc&#039;&#039;) to &#039;&#039;&#039;Data&#039;&#039;&#039; folder. Another step is to copy our JumpingBehavior folder to &#039;&#039;Roaming/MedievalEngineers/Mods&#039;&#039; folder. Now you can open the game and add our mod. As stated before, you will find the jumping barbarian under &#039;&#039;&#039;Bots&#039;&#039;&#039; tab in g-screen menu. Enjoy!&lt;br /&gt;
&lt;br /&gt;
Link:&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=413831474&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2245</id>
		<title>Keen:AI Bots</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2245"/>
		<updated>2017-03-13T16:17:30Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creating behavior==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
This tutorial presents how to create simple behavior for barbarian step by step. The only requirement for this tutorial is to get Medieval Engineers mod SDK which can be found in Steam library under Tool section. For curious readers, tutorial about behavior trees and the behavior tree tool can be found under this address.&lt;br /&gt;
&lt;br /&gt;
===Jumping barbarian behavior===&lt;br /&gt;
In order to create a new behavior, we will need to open the behavior tree tool. It can be accessed from ME mod SDK which you can find in the Tool section on Steam. &lt;br /&gt;
&lt;br /&gt;
[[File:ModSDK.png]]&lt;br /&gt;
&lt;br /&gt;
When you double click Medieval Engineers - Mod SDK, it will open the root folder with tools. In order to open behavior tree tool you need to go to Tools folder and then to VRageEditor folder. In VRageEditor folder, start &#039;&#039;&#039;BehaviorTree.bat&#039;&#039;&#039; which will open the behavior tree tool.&lt;br /&gt;
&lt;br /&gt;
[[File:BehaviorTreeBat.png]]&lt;br /&gt;
&lt;br /&gt;
The first step is to create a new behavior tree. To do this, click the &amp;quot;New tree&amp;quot; button in the upper left corner of the application. A new window with two fields will pop up in which you can specify the name and the kind of behavior you want to create. In this tutorial we are going to make jumping barbarian behavior, so let&#039;s call our new behavior &#039;&#039;&#039;JumpingBarbarianBehavior&#039;&#039;&#039; and set the &#039;&#039;Behavior&#039;&#039; field to &#039;&#039;&#039;Barbarian&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:CreateNewTree.png]]&lt;br /&gt;
&lt;br /&gt;
When you click the &#039;&#039;&amp;quot;Create&amp;quot;&#039;&#039; button, the window will be closed and the behavior tree graph area control with the grey background will appear in the behavior tree tool. In this control we will add new nodes and create our AI. On the creation, the control automatically adds the Root node which is the main node of a behavior tree. The orange color of the node signalizes that the node is selected. You can select node by clicking on it with the left mouse button.&lt;br /&gt;
&lt;br /&gt;
[[File:Selection.png]]&lt;br /&gt;
&lt;br /&gt;
Our first and only child of the root node will be selector node. To do it, let&#039;s select the root node and click on the &amp;quot;Add node&amp;quot; button in the upper menu. From the pop-up menu pick Selector value and click the Ok button. If you did the steps correctly, a selector node should be added next to the root node. There should be also connection (a black arrow) between two nodes. If it is not a case, you can create a new connection between nodes by clicking and dragging a mouse cursor from a node&#039;s black dot to the another node&#039;s black dot. If you want to remove a connection between two nodes, you can double click the arrow. &lt;br /&gt;
&lt;br /&gt;
[[File:NodeConnecting.png]]&lt;br /&gt;
&lt;br /&gt;
The root node can only have one child node (in our case selector node). A selector node can have any number of child nodes. We decided to pick selector as the first node because of its property of finishing the run on the first child which returns &#039;&#039;&#039;SUCCESS&#039;&#039;&#039; or &#039;&#039;&#039;RUNNING&#039;&#039;&#039; states. You can find more about it in the tutorial mentioned at the beginning of this tutorial.&lt;br /&gt;
Let&#039;s add two new nodes to the selector node. The first one will be a sequence node and the latter will be an action node. You can tell the application to automatically reorganize the layout of the nodes by clicking the &amp;quot;Refresh layout&amp;quot; button in the upper menu.&lt;br /&gt;
&lt;br /&gt;
[[File:SelectorNode.png]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s change the action of our newly added action node. Double click the first value field in the action node (by default, in barbarian behavior, it has &amp;quot;Attack&amp;quot; value set), and in the pop-up window change the value of the field to &amp;quot;Idle&amp;quot;. At this point it would be great to change names of selector and sequence nodes to more meaningful ones. Let&#039;s call them &#039;&#039;&#039;MainSelector&#039;&#039;&#039; and &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; respectively. You can change the name of these nodes by double clicking their value fields (by default they have values &#039;&#039;&#039;Selector&#039;&#039;&#039; and &#039;&#039;&#039;Sequence&#039;&#039;&#039;). Changing names of selectors and sequences does not affect how a behavior works. It is simply a cosmetic change that increases the readability of a behavior.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpingSequence.png]]&lt;br /&gt;
&lt;br /&gt;
The next step is to design our jumping sequence. What we want our bot to achieve is to find a player character in some radius, get to the found character and jump next to him. Barbarian behavior exposes a set of actions that can help us with making it happen. The very first action that we are going to add to the jumping sequence is going to be &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039;. It has two parameters:&lt;br /&gt;
#&#039;&#039;radius&#039;&#039; - which specifies in what radius the action should look for a player character,&lt;br /&gt;
#&#039;&#039;output&#039;&#039; player character - in this field you can specify under what name the found player character will be stored in the memory. This name can be used in different actions as an input parameter (if type is supported of course).&lt;br /&gt;
In our case we want to look for a player in radius of 30 meters and we will save it under &amp;quot;Player&amp;quot; name in the memory.&lt;br /&gt;
The second node in the jumping sequence is going to be &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; action node. &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; has input parameter which is the name of some target stored in the memory. In our case it is found character from &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039; action. Therefore, provide it with the &amp;quot;Player&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpSequenceActions.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After setting the target, we have to get to the character. To do this, we will add a selector node with two child action nodes to the jumping sequence. Let&#039;s name the selector node &#039;&#039;&#039;GetToTarget&#039;&#039;&#039;. The first action of the &#039;&#039;&#039;GetToTarge&#039;&#039;&#039; selector should be &#039;&#039;&amp;quot;IsAtTargetPosition&amp;quot;&#039;&#039; action that takes as a parameter the tolerable area radius around the target. The second action is &#039;&#039;&amp;quot;GotoTarget&amp;quot;&#039;&#039; which makes the character move towards the target. GetToTarget selector ensures that we will get to our target.&lt;br /&gt;
The last child node of the jumping sequence is a decorator node. There can be two types of decorators: a timer decorator (it activates after the specified amount of time passes) and a counter decorator (it activates after the specified call count has been reached). We are going to pick the timer decorator node by changing first value of a decorator node to &#039;&#039;&amp;quot;TimerLogic&amp;quot;&#039;&#039;. In the second value, let&#039;s choose &#039;&#039;&#039;RUNNING&#039;&#039;&#039; which stands for the default value that decorator returns. The last one specifies value dependent on the decorator type. In the case of a timer decorator, it is time in milliseconds after which the decorator will run its child node. Let&#039;s provide it with the value of 1500 ms. You can find more about decorators and related concepts under this link. As a decorator can only have one child, we are going attach &amp;quot;Jump&amp;quot; action node to it.&lt;br /&gt;
As the final modification to our behavior tree, let&#039;s mark the &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; node as a memorable (by clicking on the &#039;&#039;&amp;quot;Is memorable&amp;quot;&#039;&#039; box). It means that while doing the jumping sequence we want to focus only on the node that was processed last time. Below you can see the final state of the behavior tree:&lt;br /&gt;
&lt;br /&gt;
[[File:EntireTreeView.png]]&lt;br /&gt;
&lt;br /&gt;
Now you can safely export the behavior tree to a file. Click the &#039;&#039;&amp;quot;Export tree&amp;quot;&#039;&#039; button in the upper menu and select which behavior you want to export. The next step is to specify a file to which you want to save selected behaviors. In the next tutorial I will present you how to create a mod with our jumping barbarian!&lt;br /&gt;
&lt;br /&gt;
==Creating bot==&lt;br /&gt;
===Introduction===&lt;br /&gt;
In the previous tutorial we have created jumping barbarian behavior. Now we are going add it to the game. The bot will appear in the g-screen menu under Bots tab, so you will be able to spawn him at any location.&lt;br /&gt;
&lt;br /&gt;
===Creating definition===&lt;br /&gt;
In order to make our bot available in the game, we have to define a bot definition. Let&#039;s create a new file &#039;&#039;MyBots.sbc&#039;&#039; in which we will define our previously created behavior.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Definitions xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Bots&amp;gt;&lt;br /&gt;
    &amp;lt;Bot xsi:type=&amp;quot;MyObjectBuilder_HumanoidBotDefinition&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_HumanoidBot&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;NormalBarbarian&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;DisplayName&amp;gt;DisplayName_Bots_Barbarian&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
      &amp;lt;Icon&amp;gt;Textures\GUI\Icons\SpawnBarbarian.dds&amp;lt;/Icon&amp;gt;&lt;br /&gt;
      &amp;lt;BotModel&amp;gt;Medieval_barbarian&amp;lt;/BotModel&amp;gt;&lt;br /&gt;
      &amp;lt;BotBehaviorTree Subtype=&amp;quot;BarbarianBehavior&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;BehaviorType&amp;gt;Barbarian&amp;lt;/BehaviorType&amp;gt;&lt;br /&gt;
      &amp;lt;TargetType&amp;gt;Humanoid&amp;lt;/TargetType&amp;gt;&lt;br /&gt;
      &amp;lt;StartingItem Subtype=&amp;quot;Mace&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Public&amp;gt;true&amp;lt;/Public&amp;gt;&lt;br /&gt;
      &amp;lt;AvailableInSurvival&amp;gt;false&amp;lt;/AvailableInSurvival&amp;gt;&lt;br /&gt;
      &amp;lt;InventoryContentGenerated&amp;gt;true&amp;lt;/InventoryContentGenerated&amp;gt;&lt;br /&gt;
      &amp;lt;InventoryContainerTypeId&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;ContainerTypeDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;BarbarianBagContent&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/InventoryContainerTypeId&amp;gt;&lt;br /&gt;
      &amp;lt;FactionTag&amp;gt;BARB&amp;lt;/FactionTag&amp;gt;&lt;br /&gt;
    &amp;lt;/Bot&amp;gt;&lt;br /&gt;
  &amp;lt;/Bots&amp;gt;&lt;br /&gt;
&amp;lt;/Definitions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The definition above will tell the game what kind of bot we want to create. The bot is going to use jumping behavior. The next step is to a create toolbar item for the g-screen menu.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;  encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Definitions xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;CategoryClasses&amp;gt;&lt;br /&gt;
    &amp;lt;Category&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;GuiBlockCategoryDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId/&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;DisplayName&amp;gt;DisplayName_Category_Bots&amp;lt;/DisplayName&amp;gt;&lt;br /&gt;
      &amp;lt;Name&amp;gt;Bots&amp;lt;/Name&amp;gt;&lt;br /&gt;
      &amp;lt;Public&amp;gt;true&amp;lt;/Public&amp;gt;&lt;br /&gt;
      &amp;lt;ItemIds&amp;gt;&lt;br /&gt;
        &amp;lt;string&amp;gt;BotDefinition/JumpingBarbarian&amp;lt;/string&amp;gt;&lt;br /&gt;
      &amp;lt;/ItemIds&amp;gt;&lt;br /&gt;
    &amp;lt;/Category&amp;gt;&lt;br /&gt;
  &amp;lt;/CategoryClasses&amp;gt;&lt;br /&gt;
&amp;lt;/Definitions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now let&#039;s create a new folder &#039;&#039;&#039;JumpingBehavior&#039;&#039;&#039; and create &#039;&#039;&#039;Data&#039;&#039;&#039; subfolder inside of it. Then, move all three files (&#039;&#039;JumpingBehavior.sbc&#039;&#039;, &#039;&#039;MyBots.sbc&#039;&#039; and &#039;&#039;Categories.sbc&#039;&#039;) to &#039;&#039;&#039;Data&#039;&#039;&#039; folder. Another step is to copy our JumpingBehavior folder to &#039;&#039;Roaming/MedievalEngineers/Mods&#039;&#039; folder. Now you can open the game and add our mod. As stated before, you will find the jumping barbarian under &#039;&#039;&#039;Bots&#039;&#039;&#039; tab in g-screen menu. Enjoy!&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2126</id>
		<title>Keen:AI Bots</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:AI_Bots&amp;diff=2126"/>
		<updated>2017-03-13T15:59:00Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Created page with &amp;quot;==Creating behavior==  ===Introduction=== This tutorial presents how to create simple behavior for barbarian step by step. The only requirement for this tutorial is to get Med...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creating behavior==&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
This tutorial presents how to create simple behavior for barbarian step by step. The only requirement for this tutorial is to get Medieval Engineers mod SDK which can be found in Steam library under Tool section. For curious readers, tutorial about behavior trees and the behavior tree tool can be found under this address.&lt;br /&gt;
&lt;br /&gt;
===Jumping barbarian behavior===&lt;br /&gt;
In order to create a new behavior, we will need to open the behavior tree tool. It can be accessed from ME mod SDK which you can find in the Tool section on Steam. &lt;br /&gt;
&lt;br /&gt;
[[File:ModSDK.png]]&lt;br /&gt;
&lt;br /&gt;
When you double click Medieval Engineers - Mod SDK, it will open the root folder with tools. In order to open behavior tree tool you need to go to Tools folder and then to VRageEditor folder. In VRageEditor folder, start &#039;&#039;&#039;BehaviorTree.bat&#039;&#039;&#039; which will open the behavior tree tool.&lt;br /&gt;
&lt;br /&gt;
[[File:BehaviorTreeBat.png]]&lt;br /&gt;
&lt;br /&gt;
The first step is to create a new behavior tree. To do this, click the &amp;quot;New tree&amp;quot; button in the upper left corner of the application. A new window with two fields will pop up in which you can specify the name and the kind of behavior you want to create. In this tutorial we are going to make jumping barbarian behavior, so let&#039;s call our new behavior &#039;&#039;&#039;JumpingBarbarianBehavior&#039;&#039;&#039; and set the &#039;&#039;Behavior&#039;&#039; field to &#039;&#039;&#039;Barbarian&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:CreateNewTree.png]]&lt;br /&gt;
&lt;br /&gt;
When you click the &#039;&#039;&amp;quot;Create&amp;quot;&#039;&#039; button, the window will be closed and the behavior tree graph area control with the grey background will appear in the behavior tree tool. In this control we will add new nodes and create our AI. On the creation, the control automatically adds the Root node which is the main node of a behavior tree. The orange color of the node signalizes that the node is selected. You can select node by clicking on it with the left mouse button.&lt;br /&gt;
&lt;br /&gt;
[[File:Selection.png]]&lt;br /&gt;
&lt;br /&gt;
Our first and only child of the root node will be selector node. To do it, let&#039;s select the root node and click on the &amp;quot;Add node&amp;quot; button in the upper menu. From the pop-up menu pick Selector value and click the Ok button. If you did the steps correctly, a selector node should be added next to the root node. There should be also connection (a black arrow) between two nodes. If it is not a case, you can create a new connection between nodes by clicking and dragging a mouse cursor from a node&#039;s black dot to the another node&#039;s black dot. If you want to remove a connection between two nodes, you can double click the arrow. &lt;br /&gt;
&lt;br /&gt;
[[File:NodeConnecting.png]]&lt;br /&gt;
&lt;br /&gt;
The root node can only have one child node (in our case selector node). A selector node can have any number of child nodes. We decided to pick selector as the first node because of its property of finishing the run on the first child which returns &#039;&#039;&#039;SUCCESS&#039;&#039;&#039; or &#039;&#039;&#039;RUNNING&#039;&#039;&#039; states. You can find more about it in the tutorial mentioned at the beginning of this tutorial.&lt;br /&gt;
Let&#039;s add two new nodes to the selector node. The first one will be a sequence node and the latter will be an action node. You can tell the application to automatically reorganize the layout of the nodes by clicking the &amp;quot;Refresh layout&amp;quot; button in the upper menu.&lt;br /&gt;
&lt;br /&gt;
[[File:SelectorNode.png]]&lt;br /&gt;
&lt;br /&gt;
Let&#039;s change the action of our newly added action node. Double click the first value field in the action node (by default, in barbarian behavior, it has &amp;quot;Attack&amp;quot; value set), and in the pop-up window change the value of the field to &amp;quot;Idle&amp;quot;. At this point it would be great to change names of selector and sequence nodes to more meaningful ones. Let&#039;s call them &#039;&#039;&#039;MainSelector&#039;&#039;&#039; and &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; respectively. You can change the name of these nodes by double clicking their value fields (by default they have values &#039;&#039;&#039;Selector&#039;&#039;&#039; and &#039;&#039;&#039;Sequence&#039;&#039;&#039;). Changing names of selectors and sequences does not affect how a behavior works. It is simply a cosmetic change that increases the readability of a behavior.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpingSequence.png]]&lt;br /&gt;
&lt;br /&gt;
The next step is to design our jumping sequence. What we want our bot to achieve is to find a player character in some radius, get to the found character and jump next to him. Barbarian behavior exposes a set of actions that can help us with making it happen. The very first action that we are going to add to the jumping sequence is going to be &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039;. It has two parameters:&lt;br /&gt;
#&#039;&#039;radius&#039;&#039; - which specifies in what radius the action should look for a player character,&lt;br /&gt;
#&#039;&#039;output&#039;&#039; player character - in this field you can specify under what name the found player character will be stored in the memory. This name can be used in different actions as an input parameter (if type is supported of course).&lt;br /&gt;
In our case we want to look for a player in radius of 30 meters and we will save it under &amp;quot;Player&amp;quot; name in the memory.&lt;br /&gt;
The second node in the jumping sequence is going to be &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; action node. &#039;&#039;&amp;quot;SetTarget&amp;quot;&#039;&#039; has input parameter which is the name of some target stored in the memory. In our case it is found character from &#039;&#039;&amp;quot;FindCharacterInRadius&amp;quot;&#039;&#039; action. Therefore, provide it with the &amp;quot;Player&amp;quot; value.&lt;br /&gt;
&lt;br /&gt;
[[File:JumpSequenceActions.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After setting the target, we have to get to the character. To do this, we will add a selector node with two child action nodes to the jumping sequence. Let&#039;s name the selector node &#039;&#039;&#039;GetToTarget&#039;&#039;&#039;. The first action of the &#039;&#039;&#039;GetToTarge&#039;&#039;&#039; selector should be &#039;&#039;&amp;quot;IsAtTargetPosition&amp;quot;&#039;&#039; action that takes as a parameter the tolerable area radius around the target. The second action is &#039;&#039;&amp;quot;GotoTarget&amp;quot;&#039;&#039; which makes the character move towards the target. GetToTarget selector ensures that we will get to our target.&lt;br /&gt;
The last child node of the jumping sequence is a decorator node. There can be two types of decorators: a timer decorator (it activates after the specified amount of time passes) and a counter decorator (it activates after the specified call count has been reached). We are going to pick the timer decorator node by changing first value of a decorator node to &#039;&#039;&amp;quot;TimerLogic&amp;quot;&#039;&#039;. In the second value, let&#039;s choose &#039;&#039;&#039;RUNNING&#039;&#039;&#039; which stands for the default value that decorator returns. The last one specifies value dependent on the decorator type. In the case of a timer decorator, it is time in milliseconds after which the decorator will run its child node. Let&#039;s provide it with the value of 1500 ms. You can find more about decorators and related concepts under this link. As a decorator can only have one child, we are going attach &amp;quot;Jump&amp;quot; action node to it.&lt;br /&gt;
As the final modification to our behavior tree, let&#039;s mark the &#039;&#039;&#039;JumpingSequence&#039;&#039;&#039; node as a memorable (by clicking on the &#039;&#039;&amp;quot;Is memorable&amp;quot;&#039;&#039; box). It means that while doing the jumping sequence we want to focus only on the node that was processed last time. Below you can see the final state of the behavior tree:&lt;br /&gt;
&lt;br /&gt;
[[File:EntireTreeView.png]]&lt;br /&gt;
&lt;br /&gt;
Now you can safely export the behavior tree to a file. Click the &#039;&#039;&amp;quot;Export tree&amp;quot;&#039;&#039; button in the upper menu and select which behavior you want to export. The next step is to specify a file to which you want to save selected behaviors. In the next tutorial I will present you how to create a mod with our jumping barbarian!&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:EntireTreeView.png&amp;diff=2125</id>
		<title>File:EntireTreeView.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:EntireTreeView.png&amp;diff=2125"/>
		<updated>2017-03-13T15:58:36Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tree View&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:JumpSequenceActions.png&amp;diff=2124</id>
		<title>File:JumpSequenceActions.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:JumpSequenceActions.png&amp;diff=2124"/>
		<updated>2017-03-13T15:56:41Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Actions of the jumping sequence&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:JumpingSequence.png&amp;diff=2123</id>
		<title>File:JumpingSequence.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:JumpingSequence.png&amp;diff=2123"/>
		<updated>2017-03-13T15:55:01Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Adding a jumping sequence&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:SelectorNode.png&amp;diff=2112</id>
		<title>File:SelectorNode.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:SelectorNode.png&amp;diff=2112"/>
		<updated>2017-03-13T15:53:19Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Selector Node&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:NodeConnecting.png&amp;diff=2111</id>
		<title>File:NodeConnecting.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:NodeConnecting.png&amp;diff=2111"/>
		<updated>2017-03-13T15:52:25Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to connect nodes&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:Selection.png&amp;diff=2110</id>
		<title>File:Selection.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:Selection.png&amp;diff=2110"/>
		<updated>2017-03-13T15:51:37Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How Selection highlight works&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:CreateNewTree.png&amp;diff=2047</id>
		<title>File:CreateNewTree.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:CreateNewTree.png&amp;diff=2047"/>
		<updated>2017-03-13T15:44:08Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows how to  create a new behavior tree&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:BehaviorTreeBat.png&amp;diff=2046</id>
		<title>File:BehaviorTreeBat.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:BehaviorTreeBat.png&amp;diff=2046"/>
		<updated>2017-03-13T15:40:57Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows what to start to activate behavior tool&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=File:ModSDK.png&amp;diff=2045</id>
		<title>File:ModSDK.png</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=File:ModSDK.png&amp;diff=2045"/>
		<updated>2017-03-13T15:38:52Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Shows where to find ME mod SDK&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2044</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=2044"/>
		<updated>2017-03-13T15:33:55Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Biomes definitions modding - trees, plants and bots */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear. Then you need to write definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc&lt;br /&gt;
First make/modify environment:&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
Assign environment to a planet &lt;br /&gt;
Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
====Procedural World Environment definition====&lt;br /&gt;
This definition defines where will the environmental items spawn and with which density. (note: bots are also considered environmental item). Best way to explain how procedural environment is working is to imagine that it puts spots on entire surface of a planet. And when you start defining trees, bots and bushes, the spots get “reserved” by these categories based on how many of those should appear in the world according to your mod.&lt;br /&gt;
Spots are always different for each single planet.&lt;br /&gt;
In order to mod the procedural environment, mod our “Earth Environment” definition. Or create your own but if you do, don’t forget to also mod PlanetGeneratorDefinition, so that planet has your new procedura environment assigned to it.&lt;br /&gt;
&lt;br /&gt;
====Definition elements explained point by point:====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_ProceduralWorldEnvironment&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This part of definition is called ID. It says what type of definition this is &amp;lt;TypeID&amp;gt; and unique name of that definition &amp;lt;SubtypeID&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;MaxSyncLod&amp;gt;1&amp;lt;/MaxSyncLod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This line defines how far away from player are the environmental items updating. This is important feature for optimization.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;SectorSize&amp;gt;40&amp;lt;/SectorSize&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is size of the environmental sector. It is a different sector than the claimable areas by players. It sets size of one environmental sector. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsPerSqMeter&amp;gt;0.17&amp;lt;/ItemsPerSqMeter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The line sets overall maximum density of all environmental items. To return to analogy i used in the introduction, this number increases the amount of spots on the planet that are reserved for all environmental items. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ScanningMethod&amp;gt;Random&amp;lt;/ScanningMethod&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ItemTypes Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This sets which types of environmental items are used in this procedural environment definition. This guide explains what are Environmental item types in the very next section.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.017&amp;quot; Name=&amp;quot;Bots&amp;quot; LodStart=&amp;quot;1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
      &amp;lt;Mapping&amp;gt;&lt;br /&gt;
        &amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt;&lt;br /&gt;
        &amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Deer&amp;quot; Density=&amp;quot;0.9&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Item Type=&amp;quot;Bot&amp;quot; Subtype=&amp;quot;Barbarian&amp;quot; Density=&amp;quot;0.1&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Mapping&amp;gt;&lt;br /&gt;
    &amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
Item group is used to organize and better manage mappings. Mappings are definitions that actually add the environment items in the world. It is important to set Density correctly. Density (Density=&amp;quot;.017&amp;quot;) sets how many of the procedurally generated spots on the planet will be assigned to environmental items from this group. The name (Name=&amp;quot;Bots&amp;quot;) is only for naming purposes within definition and has no impact on the game. LodStart=&amp;quot;1&amp;quot; and LodEnd=&amp;quot;1&amp;quot; control how far from the player will the items appear.&lt;br /&gt;
&amp;lt;Biome&amp;gt;60&amp;lt;/Biome&amp;gt; This section means that Items within this mapping will only appear on spaces that are painted with green channel value 60 on the material map.&lt;br /&gt;
&amp;lt;Material&amp;gt;Woods&amp;lt;/Material&amp;gt; This means that the environmental items will only appear in the woods.&lt;br /&gt;
&amp;lt;Height Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;/&amp;gt; Sets in which altitude should these environmental items appear. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;1&amp;quot;)&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which latitude do the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;/&amp;gt; Sets at which longitude the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;-180&amp;quot; Max&amp;quot;180&amp;quot;)&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;/&amp;gt; Sets at which slopes the environment items spawn. If this parameter is missing, items spawn in full range (Min=&amp;quot;0&amp;quot; Max&amp;quot;90&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.085&amp;quot; Name=&amp;quot;Trees&amp;quot; LodStart=&amp;quot;-1&amp;quot; LodEnd=&amp;quot;1&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
    &amp;lt;ItemGroup Density=&amp;quot;.36&amp;quot; Name=&amp;quot;Small Items&amp;quot; LodStart=&amp;quot;0&amp;quot; LodEnd=&amp;quot;0&amp;quot;&amp;gt;...&amp;lt;/ItemGroup&amp;gt;&lt;br /&gt;
There are 2 more item Groups. I will not go into details, since it is not&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Environment items====&lt;br /&gt;
We learned how to assign environments to planets and how to mod environments themselves by changing densities and environment items. But we still don&#039;t know how to make the environment items themselves. Guides for those can be found on following links.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to mod trees:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bushes and plants:&lt;br /&gt;
&lt;br /&gt;
If you want to mod bots:&lt;br /&gt;
&lt;br /&gt;
====EnvironmentItemTypesDefinition====&lt;br /&gt;
Here you define various types of items. Currently we have these types: Tree, Gatherable, Farmable, Static and Bot. Before you add any item, you must make sure it fits within these types of environment items or you created a new type for them.&lt;br /&gt;
  &amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Id Type=&amp;quot;MyObjectBuilder_EnvironmentItemTypesDefinition&amp;quot; Subtype=&amp;quot;Default&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Gatherable&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Farmable&amp;quot;&amp;gt;... &amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Static&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Bot&amp;quot;&amp;gt;...&amp;lt;/Item&amp;gt;&lt;br /&gt;
  &amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EnvironmentItemTypes&lt;br /&gt;
    &amp;lt;Item Name=&amp;quot;Tree&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
      &amp;lt;Provider Type=&amp;quot;MyObjectBuilder_ProceduralEnvironmentModuleDefinition&amp;quot; Subtype=&amp;quot;Growable&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Gatherable&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Proxy Type=&amp;quot;MyObjectBuilder_EnvironmentModuleProxyDefinition&amp;quot; Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Item&amp;gt;&lt;br /&gt;
Available proxy and providers:&lt;br /&gt;
Proxy Subtype=&amp;quot;Gatherable&amp;quot;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Gatherable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Proxy Subtype=&amp;quot;Cuttable&amp;quot; /&amp;gt;&lt;br /&gt;
This line adds ability to all environmental items of this type to use action “Cuttable”. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
&amp;lt;ProxyActivationLod&amp;gt;0&amp;lt;/ProxyActivationLod&amp;gt;&lt;br /&gt;
This line says from which lod is the game logic attached to the environmental item. (when set on 0 only trees very close to you become “gatherable” and “cuttable”). This way we don’t use game logic on environmental items that couldn’t be used anyway and game is better optimized thanks to that.&lt;br /&gt;
Provider Subtype=&amp;quot;Growable”&lt;br /&gt;
This line adds ability to all environmental items of this type to grow. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Farmable”&lt;br /&gt;
This line adds ability to all environmental items of this type to be farmable. Keep in mind that the tree itself has to be setup properly in order for this to work.&lt;br /&gt;
Provider Subtype=&amp;quot;Static”&lt;br /&gt;
This line adds basically adds items that do nothing. They are just visual props. Like some of our fern bushes.&lt;br /&gt;
Provider Subtype=&amp;quot;BotSpawner”&lt;br /&gt;
It is important that all environmental item types that will contain some bots have botspawner&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1994</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1994"/>
		<updated>2017-03-13T14:51:48Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Lukas moved page Official Content/ Fast Travel to Official Content/Fast Travel without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
==Generate fast travel map automatically based on terrain shape==&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;RiseThreshold&amp;gt;&#039;&#039;&#039; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;HeightThreshold&amp;gt;&#039;&#039;&#039; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
==Creating fast travel texture override==&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
==Development reachability==&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1989</id>
		<title>Keen:Planet Modding/Area Permissions</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1989"/>
		<updated>2017-03-13T13:42:35Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Protected &amp;quot;Official Content/Areas Permissions&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1988</id>
		<title>Keen:Planet Modding/Area Permissions</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1988"/>
		<updated>2017-03-13T13:42:03Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Lukas moved page Official Content/ Areas Permissions to Official Content/Areas Permissions without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/In-game_map&amp;diff=1982</id>
		<title>Keen:Planet Modding/In-game map</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/In-game_map&amp;diff=1982"/>
		<updated>2017-03-13T11:29:15Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
==Layers description==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Background generator (trees, mountains, roads,...)==&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Map Coloring==&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
==Sprites==&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/In-game_map&amp;diff=1981</id>
		<title>Keen:Planet Modding/In-game map</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/In-game_map&amp;diff=1981"/>
		<updated>2017-03-13T11:28:18Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Sprites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
==Layers description==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Background generator (trees, mountains, roads,...)==&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Map Coloring==&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
==Sprites==&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/In-game_map&amp;diff=1980</id>
		<title>Keen:Planet Modding/In-game map</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/In-game_map&amp;diff=1980"/>
		<updated>2017-03-13T11:28:00Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Created page with &amp;quot;==In-game map modding== Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default fo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
==Layers description==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Background generator (trees, mountains, roads,...)==&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Map Coloring==&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Indestructible_Buildings&amp;diff=1979</id>
		<title>Keen:Planet Modding/Indestructible Buildings</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Indestructible_Buildings&amp;diff=1979"/>
		<updated>2017-03-13T11:25:07Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Created page with &amp;quot;==Indestructible buildings introduction== There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some yo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Indestructible buildings introduction==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
==Making indestructible cubegrids in existing safe==&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=1978</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=1978"/>
		<updated>2017-03-13T11:23:00Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Indestructible grids */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear. Then you need to write definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc&lt;br /&gt;
First make/modify environment:&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
Assign environment to a planet &lt;br /&gt;
Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
==Indestructible grids==&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Compass&amp;diff=1976</id>
		<title>Keen:Planet Modding/Compass</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Compass&amp;diff=1976"/>
		<updated>2017-03-13T11:21:17Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Compass modding introduction==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explanation of compass definitions line by line==&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
==Explanation of Waypoint/Tag definition==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Compass&amp;diff=1975</id>
		<title>Keen:Planet Modding/Compass</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Compass&amp;diff=1975"/>
		<updated>2017-03-13T11:20:42Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Explanation of compass definition line by line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definitions line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Compass&amp;diff=1974</id>
		<title>Keen:Planet Modding/Compass</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Compass&amp;diff=1974"/>
		<updated>2017-03-13T11:20:04Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Created page with &amp;quot;==Compass modding== It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1972</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1972"/>
		<updated>2017-03-13T11:15:10Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Area borders highlight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
==Generate fast travel map automatically based on terrain shape==&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;RiseThreshold&amp;gt;&#039;&#039;&#039; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;HeightThreshold&amp;gt;&#039;&#039;&#039; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
==Creating fast travel texture override==&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
==Development reachability==&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1971</id>
		<title>Keen:Planet Modding/Area Permissions</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1971"/>
		<updated>2017-03-13T11:14:51Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* List of available Groupnames: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1970</id>
		<title>Keen:Planet Modding/Area Permissions</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Area_Permissions&amp;diff=1970"/>
		<updated>2017-03-13T11:13:53Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Created page with &amp;quot;==Permissions modding - what is/isn’t allowed to do in claimed areas== Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we ch...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1969</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1969"/>
		<updated>2017-03-13T11:12:54Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
==Generate fast travel map automatically based on terrain shape==&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;RiseThreshold&amp;gt;&#039;&#039;&#039; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;HeightThreshold&amp;gt;&#039;&#039;&#039; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
==Creating fast travel texture override==&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
==Development reachability==&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1968</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1968"/>
		<updated>2017-03-13T11:11:34Z</updated>

		<summary type="html">&lt;p&gt;Lukas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;RiseThreshold&amp;gt;&#039;&#039;&#039; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;HeightThreshold&amp;gt;&#039;&#039;&#039; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=1967</id>
		<title>Keen:Planet Modding - Full Guide</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding_-_Full_Guide&amp;diff=1967"/>
		<updated>2017-03-13T11:04:48Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Area borders highlight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Hello fellow Medieval Engineers!&lt;br /&gt;
I would like to present you with a guide that will help you understand how we created planets at Keen Software House and how to mod your own into the game.&lt;br /&gt;
Feel free to use/alter company owned files for your Medieval Engineers mods.&lt;br /&gt;
&lt;br /&gt;
So let&#039;s get to modding!&lt;br /&gt;
&lt;br /&gt;
==Recommended Software==&lt;br /&gt;
# Microsoft Visual Studio - or Notepad++ (Link[notepad-plus-plus.org]) - for opening files with .sbc extension where we have definitions for every feature in the game.&lt;br /&gt;
# Adobe Photoshop - for editing material and heightmap textures&lt;br /&gt;
# World Machine Professional - for heightmap easier creation (much more realistic looking terrain, without manual work)&lt;br /&gt;
&lt;br /&gt;
(Basic Edition is also available, but the max resolution output is limited to 512x512 pixels)&lt;br /&gt;
http://www.world-machine.com&lt;br /&gt;
&lt;br /&gt;
===Advice===&lt;br /&gt;
We would like to mention one thing before you get into modding planets:&lt;br /&gt;
For your own sake we recommend you to load either PlanetTemplate or EarthLikeModExample and test/edit all the things there, so you get to know the system and how everything works. &lt;br /&gt;
&lt;br /&gt;
After that you can create your own from scratch. This is entirely up to you.&lt;br /&gt;
&lt;br /&gt;
==General modding principles - how to make any mod==&lt;br /&gt;
I will explain again basic principles of how mods are applied.&lt;br /&gt;
&lt;br /&gt;
All of our vanilla source files are all saved in a folder called content in your *game folder. If no mods are assigned to a world that you are loading, game uses only files from this content folder but if there are mods, game loads also files from mod adding more content or potentially rewriting vanilla content based on content of the mod’s folder. Mod is nothing else but a folder with another files.&lt;br /&gt;
Mod files are stored in mods folder on your computer , and if you are using them for the first time, they are downloaded from workshop first time you try to load/connect to a world with those mods.  &lt;br /&gt;
Mod folder: C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Mods&lt;br /&gt;
===Opening mod and examining mods content===&lt;br /&gt;
When you open Mods folder, you will see mods as files with .sbm extension. But they are really just folders and to examine them, all you have to do is rewrite the extension from .sbm to .rar and then you can open them with rar and examine content.&lt;br /&gt;
Mods are not listed with their names, but with their steam id number. To find specific mod, you have to go to the mods workshop page&lt;br /&gt;
&lt;br /&gt;
Examining other mods similar to your idea is a fast way to learn.&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;By default this is SteamLibrary\steamapps\common\MedievalEngineers\Content. You can also get there if you go to steam library(same place where you start the game), right-click Medieval Engineers, select properties, local files and finally click on “browse local files”. &lt;br /&gt;
==Materials modding==&lt;br /&gt;
In case you are thinking about making your own trees and voxel materials, we have some good news for you!&lt;br /&gt;
&lt;br /&gt;
There are two separate guides that you can follow to make your own stuff. &lt;br /&gt;
&lt;br /&gt;
General modding guide - get started&lt;br /&gt;
&lt;br /&gt;
===Voxel material modding===&lt;br /&gt;
http://steamcommunity.com/sharedfiles/filedetails/?id=568406623&lt;br /&gt;
&lt;br /&gt;
==Planet Size==&lt;br /&gt;
Planet size is defined in a scenarios.sbc. Every time you click on create new world in the game it uses scenario definition to create a new safe file. Although this scenario definition is not moddable, you can still use it to create a world and share the world itself on the workshop.&lt;br /&gt;
&lt;br /&gt;
First go to where you have Medieval Engineers source files and find Data folder (SteamLibrary\steamapps\common\MedievalEngineers\Content\Data\Scenarios.sbx)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All planet related files overview and where to find them==&lt;br /&gt;
To summarize how planet modding in ME works, we can say this:&lt;br /&gt;
We use 2 types of textures and then we define how the game should interpret those textures in definitions. One texture is heightmap that is used just for generating terrain shape, another one is used to place everything else on the planet (ores, trees and plants, bots).&lt;br /&gt;
[[File:Diagram.png|1024px|center]]&lt;br /&gt;
&lt;br /&gt;
==Material Texture modding==&lt;br /&gt;
Material texture is used to store information about location of various planet surface features.  These features are surface materials, biomes (trees, bots, plants,..etc) and where you can find ore. Each one of these uses one color channel. Surface materials use red channel. Biomes use green. Ores are in blue channel.&lt;br /&gt;
We use 6 material textures (2048x2048) for each planet. You can find all our material textures here: Content\Data\PlanetDataFiles.&lt;br /&gt;
Each planet has its own folder. The folder has to have the same name as the planet.&lt;br /&gt;
&lt;br /&gt;
[[File:MaterialMapBreakdown.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Illustration of how are the material textures connected to each other:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
====The process of material texture creation is really simple. You have two options:====&lt;br /&gt;
=====Copy an existing map to your folder and overwrite the green channel and edit them to your liking=====&lt;br /&gt;
This is highly recommended to avoid errors!&lt;br /&gt;
=====Create a new: step by step in Photoshop=====&lt;br /&gt;
#Set both width and height to 2048 pixels &lt;br /&gt;
#(for smaller planets this can also be 1024 or less, but all textures need to have the same resolution! Even the heightmap)&lt;br /&gt;
#Set resolution - Pixels/Inch to 72.&lt;br /&gt;
#Set colour mode to RGB Colour - 8bit&lt;br /&gt;
#Now start painting with the pencil tool on each RGB Channel separately. &lt;br /&gt;
#Never on all three at once! (It will F. up everything - trust me).&lt;br /&gt;
&lt;br /&gt;
===Surface voxel material definitions modding - grass, sand, snow===&lt;br /&gt;
&lt;br /&gt;
[[File:RedChannel.jpg|22px|frameless]]&lt;br /&gt;
&lt;br /&gt;
Surface “voxel materials” refers to what you know as grass, soil, stone.. We use red channel of the material texture to set where all the terrain appears. Then you need to write definitions in the Content\Data\PlanetGenerator.sbc to tell game which voxel should appear at specific red channel value.&lt;br /&gt;
Example of the definition of road:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ComplexMaterials&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Road&amp;quot; Value=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;90&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
    &amp;lt;/ComplexMaterials&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example of corresponding material texture with road:&lt;br /&gt;
&lt;br /&gt;
[[File:RoadMaterialTextureExample.png|512px]]&lt;br /&gt;
&lt;br /&gt;
====Complex materials====&lt;br /&gt;
Complex materials definition allows to paint the map with a set of “voxel coloring rules”. Meaning that one color value in red channel can color terrain with different voxels based on rules like slope, longitude or latitude and height. (So with our road example)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      &amp;lt;MaterialGroup Name=&amp;quot;Forest_Grass&amp;quot; Value=&amp;quot;120&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Soil&amp;quot; Depth=&amp;quot;5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;25&amp;quot; Max=&amp;quot;45&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
        &amp;lt;Rule&amp;gt;&lt;br /&gt;
          &amp;lt;Layers&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Rocks_grass&amp;quot; Depth=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Layer Material=&amp;quot;Stone&amp;quot; Depth=&amp;quot;100&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/Layers&amp;gt;&lt;br /&gt;
          &amp;lt;Slope Min=&amp;quot;45&amp;quot; Max=&amp;quot;55&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Rule&amp;gt;&lt;br /&gt;
      &amp;lt;/MaterialGroup&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition says what voxels should be generated in spots, that are painted with red channel value of 120.&lt;br /&gt;
The rules in this definition will lead to following:&lt;br /&gt;
Flat lands (up to 20 degrees slope) will have Wood grass 1 m thick, soil will be right under the WoodGrass up to 5 m depth and there will be stone underneath the soil.&lt;br /&gt;
In places with medium slope, there is Grass instead of WoodGrass. And in slopes from 45 to 55 there is rocks grass 2 m thick with stone right away under it.&lt;br /&gt;
With this technology, we can make the color react on its own to terrain bumps or even position on planet. This saves lots of meticulous painting with heightmap.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Layer Material=&amp;quot;Woods_grass&amp;quot; Depth=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
Material refers to voxelmaterial definition. (You can find it in Content\Data\VoxelMaterials.sbc). Depth means how deep should the material go under ground.&lt;br /&gt;
&amp;lt;Slope Min=&amp;quot;0&amp;quot; Max=&amp;quot;25&amp;quot;/&amp;gt;&lt;br /&gt;
Slope of the terrain in degrees.&lt;br /&gt;
&amp;lt;Latitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Latitude in degrees. 0 degree is an equator.&lt;br /&gt;
&amp;lt;Longitude Min=&amp;quot;-180&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
Longitude in degrees. 0 is in the middle of front planetary texture. (Fareon Kingdom)&lt;br /&gt;
&lt;br /&gt;
===Biomes definitions modding - trees, plants and bots=== &lt;br /&gt;
[[File:GreenChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Biomes refers to everything that is spawned on top of the planet. We use green channel of the material texture to set where all the terrain features appear. Then you need to write definitions in the Content\Data\Environment\ProceduralEnvironments.sbc to tell game which environment item should appear at specific green channel value. Also you need to assign Environment to planet in the Content\Data\PlanetGenerator.sbc&lt;br /&gt;
First make/modify environment:&lt;br /&gt;
Go to Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
Assign environment to a planet &lt;br /&gt;
Go to Content\Data\PlanetGenerator.sbc and find definition of the planet you want your environment to be on. Then assign the environment to the planet this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Environment&amp;gt;&lt;br /&gt;
      &amp;lt;TypeId&amp;gt;MyObjectBuilder_ProceduralWorldEnvironment&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
      &amp;lt;SubtypeId&amp;gt;Earth Environment&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
    &amp;lt;/Environment&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
SutypeId refers to the name of the environment from:&lt;br /&gt;
Content\Data\Environment\ProceduralEnvironments.sbc&lt;br /&gt;
&lt;br /&gt;
===Ores definitions modding===&lt;br /&gt;
[[File:BlueChannel.jpg|frameless|22px]]&lt;br /&gt;
&lt;br /&gt;
Ores are placed using blue channel of the material texture to set where should ore deposits appear. When your ore deposits are painted on the material map, you need to define what ores will be there. Go to Content\Data\Environment\ProceduralEnvironments.sbc to tell game which ore should appear at specific blue channel value. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;OreMappings&amp;gt;&lt;br /&gt;
  &amp;lt;Ore Value=&amp;quot;130&amp;quot; Type=&amp;quot;IronOre_RichYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b7340a&amp;quot; ColorInfluence=&amp;quot;15 &amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;110&amp;quot; Type=&amp;quot;IronOre_PoorYield&amp;quot; Start=&amp;quot;2&amp;quot; Depth=&amp;quot;5&amp;quot; TargetColor=&amp;quot;#a76a41&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OreMappings&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The section you need to use is Ore Mappings.&lt;br /&gt;
 &amp;lt;Ore Value=&amp;quot;120&amp;quot; Type=&amp;quot;IronOre_RegularYield&amp;quot; Start=&amp;quot;3&amp;quot; Depth=&amp;quot;7&amp;quot; TargetColor=&amp;quot;#b75e0a&amp;quot; ColorInfluence=&amp;quot;15&amp;quot; /&amp;gt;&lt;br /&gt;
Value refers to blue channel value on material texture.&lt;br /&gt;
Type refers to name of a voxel material from Content\Data\VoxelMaterials.sbc. &lt;br /&gt;
Start is depth at which the ore deposit starts. Depth is how deep under ground it goes.&lt;br /&gt;
TargetColor is color that will be used to color surface above the ore.&lt;br /&gt;
ColorInfluence sets strenght of coloring.&lt;br /&gt;
&lt;br /&gt;
==Working with RGB==&lt;br /&gt;
Ok, Steam won&#039;t let me share that link to a small RGB Photoshop tutorial with you, so just go to photoshopessentials.com and search for RGB and it&#039;s the first link.&lt;br /&gt;
&lt;br /&gt;
This is a simple tutorial to explain you what we mean when we say Grayscale ID, which can also be called the RGB values &lt;br /&gt;
(each channel only has one number per shade of that color ranging from 0 to 255).&lt;br /&gt;
&lt;br /&gt;
Here I have loaded a Biome map texture front_mat texture which is used on the Vanilla EarthLike planet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:RGBChannels.jpg|frameless]]These are the RGB channels as you can see them in Photoshop.&lt;br /&gt;
&lt;br /&gt;
NOTE: Edit each RGB channel separately!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Always use the pencil tool to paint pixels. &lt;br /&gt;
The brush tool has a falloff that has different values and you will not have control over those!&lt;br /&gt;
[[File:Color Picker.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
You can see if the numbers are correct on the top right of the screen if you have your workspace set to Essentials.&lt;br /&gt;
&lt;br /&gt;
Here you will enter the values you want to paint. &lt;br /&gt;
Make sure you check them before saving, sometimes Photoshop can move the number +-1 (personal experience).&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t matter if the numbers match, just as long as you have the correct value (ID) in the correct channel!&lt;br /&gt;
&lt;br /&gt;
==Height-maps modding - terrain shape, roads==&lt;br /&gt;
As mentioned in 2. Required software, we used the program World Machine to create our heightmaps and then we did some minor tweaks by hand (like putting in lakes and desert areas)&lt;br /&gt;
&lt;br /&gt;
First, to explain how our planet heightmaps work:&lt;br /&gt;
We have 6 textures that connect together (image below). Our standard resolution for a big 120km planet is 2048x2048. But you can use a lower one if you want to. &lt;br /&gt;
&lt;br /&gt;
To create your own heightmap, the best action would be to find a heightmap here:&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\PlanetDataFiles&lt;br /&gt;
&lt;br /&gt;
Then you can open the texture and place yours/paint yours on a new layer, flatten the image and save it as a .PNG&lt;br /&gt;
&lt;br /&gt;
There are other options for you also!&lt;br /&gt;
You can visit[terrain.party] this site and download a heightmap from a real place on Earth. You can even set the size of the map (maximum is 60 km). And then you can edit it further in Photoshop.&lt;br /&gt;
You can try painting it yourself in Photoshop (or any other similar software, like Gimp).&lt;br /&gt;
You can also just try Googling for heightmaps and try which one suits you the best (keep in mind the resolution must be 512,1024, 2048!)&lt;br /&gt;
However you get your heightmap, always keep in mind how each texture of the heightmap is connected, so the seams need to fit together. Bad texture connection is very visible in the game.&lt;br /&gt;
Here is an image of how the textures are connected:&lt;br /&gt;
&lt;br /&gt;
[[File:Planet Material Texture Order.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
===Roads===&lt;br /&gt;
We created roads using World Machine tools. You can find guide how to do that in between World Machine tutorials.&lt;br /&gt;
&lt;br /&gt;
==Atmosphere==&lt;br /&gt;
[[File:View Image.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Here, you will find everything you ever wanted to know about Atmosphere Settings in Space Engineers but were afraid to ask, my dear friend. So without any further ado. Let’s start with the “Atmosphere” settings window which you access in-game by hitting F12 -&amp;gt; Render Button -&amp;gt; Atmosphere checkbox. The new Atmosphere settings window opens immediately on the right side of the screen, showing a bunch of tricky sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
If your pants are still dry, and if by any chance you’re still reading this, let us assure you that everything is pretty simple and not so scary as it may seem when you first open it. So let’s start with the brief and really quick explanation of what every slider or group of sliders are meant for. Lastly, remember that to alter any setting in this Window you have to hold “Alt” on your keyboard.&lt;br /&gt;
&lt;br /&gt;
Enable Atmosphere (checkbox) – Well, as Captain Obvious immediately states to us – it just enables or disables Atmosphere on a planet and nothing more.&lt;br /&gt;
&lt;br /&gt;
Time of Day (slider) – Controls rotation of the Sun around a Planet. You’re given the Power to decide which time of day it is now. Cool isn’t it?&lt;br /&gt;
&lt;br /&gt;
Pick Planet (Button) – In situations when you have more than one planet in your world, you may want to alter the settings of each planet’s atmosphere individually. So this button enables you to immediately pick the current atmosphere values of the planet you’re currently on. For example, fly to the Moon, press “Pick planet” button and you will get corresponding atmosphere values of that planet to play with. Fly back to Earth or any alien planet, and do the same to alter atmosphere settings of these planets. Yay!&lt;br /&gt;
&lt;br /&gt;
Rayleigh Scattering R,G and B (sliders) – Group of three sliders which control the main, overall color of the Atmosphere. It’s that atmosphere color which is going to be seen from outer space and on the ground too! If you want to make your atmosphere alien green or purple – these are the correct set of sliders to play with. Each slider controls corresponding R,G or B (0-255) values. Pretty straightforward.&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere Settings.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Mie Scattering R, G and B (sliders) – Group of three sliders to control the color of the Sun glow. It would be weird to have Green atmosphere and Red sun glow right? You would normally want to set it to yellow or something light green or so. But it’s your choice you can make any color you want. But please note that in order to have noticeable results you have to actually HAVE that glow around your sun. This setting is called “Mie Height” and it has to be set to a fairly high value otherwise it wouldn’t be too prominent. We will talk about this “Mie Height” setting in a minute. No worries.&lt;br /&gt;
&lt;br /&gt;
The following three sliders are complementary and play well together. It means you have to find a good balance setting them which is quite easy:&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Surface (slider) – Controls the thickness of the atmospheric layer when you’re on or near planet’s Surface. For example. You normally want atmosphere layer to be fairly thick to cover high points of the planet’s surface like mountains and high hills while you’re on the ground because you have actual high picks in your surface geometry which you have to cover. Otherwise you would see black space when you’re on the high mountain. But technically, when you’re leaving the planet’s atmosphere all of these high peaks and mountains are starting to slowly collapse vertically forming a smooth spherical shape of the planet, if they wouldn’t - we would have planets looking like a spiky balls with mountain peaks sticking out in all directions. That’s why when all the high peaks are collapsed to the ground to form a perfect sphere - we are left with abnormally thick and wrong looking atmospheric layer thickness when observed from the outer space. How to fix this?! That’s where “Rayleigh Height Space” slider comes into play, as it controls the thickness of the atmospheric layer seen from outer space.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Height Space (slider) – Controls the thickness of atmospheric layer when you observing the planet from outer space. Like it was said earlier, settings for atmosphere thickness when you’re on the Surface and when you’re in an outer Space can’t be same and normally you want to make it much thinner when it is seen from outer space like it’s in real world. Refer to the following Pic to get better understanding.&lt;br /&gt;
&lt;br /&gt;
Rayleigh Transition (slider) – Ok, so now that we have set the width of the planetary atmosphere for both - when we’re on the Surface and when we’re observing it from outer space, it is time to decide at which distance to switch between two, right? So that’s exactly what this slider does – sets the exact value at which distance that transition must happen. You can play around with this value to find the best setting, just remember that the main goal is to have this transition as smooth as possible, fortunately it’s super easy to achieve. Just make sure that while you’re on the ground and standing on a highest point you still see some atmosphere color (like Blue color in earthlike planets) ,and just about when you start to see the whole planet on your way to the outer space, switch it to the thinner (Rayleigh Height Space) version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mie Height (slider) – Controls the size of the outer glow effect of the Sun. Like it was said earlier, when you’re setting your color of the Glow effect via “Mie Scattering RGB” sliders, this particular setting (Mie Height) must be set to a fairly high value otherwise you won’t see it as there won’t be any glow. Look, you can’t change the color of a non-existing thing, soldier. Dismissed!&lt;br /&gt;
&lt;br /&gt;
Sun size (slider) – Controls the size of the Sun.. What else did you expect from it?!&lt;br /&gt;
&lt;br /&gt;
Sea Floor modifier (slider) – Defines the lowest (starting) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer starts. It depends on your planet’s relief, your lowest and highest peaks. Adjust individually for each planet. You’ll “feel” the right value immediately.&lt;br /&gt;
&lt;br /&gt;
Atmosphere Top Modifier (slider) – Defines the highest (ending) edge of the atmosphere. Sometimes it is needed to set how low (or how high) actual atmospheric layer stops. It depends on your planet’s relief. Adjust individually for each planet. You’ll “feel” the right value immediately. But normally you want this value to be set pretty high.&lt;br /&gt;
&lt;br /&gt;
Intensity (slider) – Actually it should be called “Fog Intensity” as it’s exactly what it’s responsible for but I hope it will be changed by some coder guys eventually J. Controls the amount or intensity of the fog while you’re on or near the planet’s surface (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Fog Intensity (slider) – And this, should be actually called “Fog Distance”. It controls the distance fog actually covers. The higher this value – more objects in front of view are covered with fog. (doesn’t do anything when you’re in outer space).&lt;br /&gt;
&lt;br /&gt;
Restore (Button) – Ok, just in case you screw everything up, you always have a chance to revert all the changes you’ve made by clicking this Restore button, soldier! Very convenient isn’t it?!&lt;br /&gt;
&lt;br /&gt;
==Atmosphere 2/2==&lt;br /&gt;
Ok, now that we got acquainted with all Atmosphere settings and know how they work, it is time for us to actually change a few settings to alter the look of our Atmosphere! Now the fun part begins. Let’s say that we want to change the color of Earthlike planet’s atmosphere from its natural Blue color to the Green one, so it looks more “alienish”. Please note, that all atmosphere settings are stored in “PlanetGeneratorDefinitions.sbc” file and they are NOT replaced even when you change these values in game and make a save. If you want to change those values you have to change them directly in the code of the “PlanetGeneratorDefinitions.sbc” file only! The system reads those atmosphere values from this file every time you’re loading your worlds. &lt;br /&gt;
&lt;br /&gt;
But how for God’s sake would you know which values are correct and really desirable to put them in the code? This is really simple. You just adjust your atmosphere settings to your liking right in the game, and when you’re done and happy with it, you just copy those values into the code (you can screen grab the in-game view with Atmosphere Settings window or just write them down manually, not a big deal) But to paste those values in the code, you have to know WHERE to paste it, right? You don’t just randomly paste numbers into the code, do you? You may hurt yourself!&lt;br /&gt;
&lt;br /&gt;
So please open “PlanetGeneratorDefinitions.sbc” file in any decent text editor and find the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt;EarthLike&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It’s a name or identifier of a planet, and since it’s named Earthlike, we know for sure that below are the definitions related to Earthlike planet. Cool! Now just scroll down to the part where you will see a commented (inactive) line of code which goes like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Atmosphere settings --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or alternatively, just Ctrl+F to find the following line. You must see something similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
So here as you can see everything is pretty self-explanatory. Except a few lines that are just named differently in the code. If you want your atmosphere to “remember” the settings you have made you have to enter those values here to the corresponding lines. The following schematic pic shows dependencies between the code lines and the slider names in Atmosphere Settings window quite clearly:&lt;br /&gt;
(Click to enlarge)&lt;br /&gt;
&lt;br /&gt;
[[File:In-game Atmosphere Debug Input.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now let’s just change the blue color of the atmosphere to orange. As you remember, group of three RGB sliders named “Rayleigh Scattering” are responsible for changing the main color of the Atmosphere. So why wait?&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-Like Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Spectacular right? Now, let’s change the sun glow color “Mie Scattering RGB” to an orange tint too. It could stay the same yellow of course but let’s change it so you could have an idea. Remember to press “Alt” on your keyboard while you’re dragging those sliders.&lt;br /&gt;
&lt;br /&gt;
[[File:Another Red Atmosphere.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Ok, now it’s more orange but we have to increase the glow effect a bit to see it more prominently. And as we remember, the glow size control is “Mie Height” slider. Crank it up from 30 to 50.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good, the glow effect became more prominent. Looking nice isn’t it? Of course, you can continue adjusting it and come up with really crazy results, but if you’re ok with what we already have, then just write down all the values that you currently have in your Atmosphere Settings window on the right or screenshot them and paste into any image editor for your reference. And back in the code editor, just enter those values into corresponding tags in the code and save it:&lt;br /&gt;
&lt;br /&gt;
[[File:CloseUp Atmosphere definition.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
That’s it! From now on, every time you load up your world with Earthlike planet in it, or spawn Earthlike planet, the atmosphere on it will be exactly the way you adjusted it via Atmosphere Settings! The God himself must have been using something like this we suppose..&lt;br /&gt;
&lt;br /&gt;
[[File:Mars-like Atmosphere Final.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Clouds==&lt;br /&gt;
The first thing that should (probably) come in to your mind when you finally learn how to tweak Atmosphere settings, is probably how to change the look of the Clouds! Because, normally, when you change the color of the atmosphere you would like the clouds color to be relatively close to the Atmosphere color. In our Atmosphere guide (if you read it) we were sharing some knowledge about changing the look of the Atmosphere. We made it orange which is kind of cool all on its own, but what really draws our attention and not in a very good way – is the color of the clouds. As you can see they’re white which is looking wrong isn’t it? In an orange atmosphere environment you would expect orange or yellow clouds right? So that’s what we’ll be doing in a minute – changing the look of our cloud layer and getting to know their under-the-hoods.&lt;br /&gt;
&lt;br /&gt;
Like with Atmosphere settings, the Clouds setting are stored in the same “PlanetGeneratorDefinitions.sbc” file located in KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Data and are individual for each planet. Usually we base our code lines so the Cloud definitions come right after Atmosphere definitions which makes it very convenient to search for. Just open your “PlanetGeneratorDefinitions.sbc” file in any decent advanced text editor and search for this commented (inactive) line of code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Earthlike Planet&#039;s Clouds settings--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: you can download the DDS files from here[mirror.keenswh.com]&lt;br /&gt;
&lt;br /&gt;
[[File:Cloud Layers Definition.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
That’s where all the cloud settings for particular planet are stored. The following picture is a brief breakdown of cloud definitions:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Basically, the structure of placing clouds on any planet is as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;&lt;br /&gt;
   Blah Blah Blah Beautiful Clouds Blah Blah Blah&lt;br /&gt;
   &amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So, as you can see everything is super easy. Simply put, &amp;lt;CloudLayers&amp;gt; tags are meant for global separation of Cloud definitions from other code definitions and are here just to define where the code for the clouds start, while &amp;lt;CloudLayer&amp;gt; tags (again, don’t mistake with CloudLayers) are the actual cloud layers and each pair of these tags (&amp;lt;CloudLayer&amp;gt;…&amp;lt;/CloudLayer&amp;gt;) define the look and behavior of each cloud layer. As Captain Obvious states - The more &amp;lt;CloudLayer&amp;gt; pairs you have.. umm - the more cloud layers you will have!&lt;br /&gt;
&lt;br /&gt;
For example. You can have more than one Cloud layer, to simulate even more complex cloud patterns than you initially had in your texture file! And that’s when &amp;lt;InitialRotation&amp;gt; and &amp;lt;RotationAxis&amp;gt; tags come into play. You can assign values to these tags for each Cloud layer individually thus having the cloud spheres to be initially rotated and spinning on different angles creating more interesting and natural cloud patterns. So you basically just stack them this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;CloudLayers&amp;gt;&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;CloudLayer&amp;gt;LAYERPROPERTIES&amp;lt;/CloudLayer&amp;gt;&lt;br /&gt;
&amp;lt;/CloudLayers&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it! Now you have three Cloud Layers! And of course you can do it for the Far and the Near cloud layers as well.&lt;br /&gt;
&lt;br /&gt;
Your main cloud color texture must be 4096x2048px RGB file saved in DDS format without alpha as “CloudName_cm.dds file” and it must contain only the color information of your clouds. For Alphamask file please create a separate file of the same 4096x2048px dimensions containing only Alpha mask, make it a greyscale file, save as DDS luminance format and name it “CloudName_Alphamask.dds”. Back in the code, in &amp;lt;texture&amp;gt; tags you just write “Cloudname.dds”, no worries - the engine will identify required “cm” and “alphamask” files itself, just make sure both files are in the correct folder. (KeenSWH\Sandbox\Sources\SpaceEngineers\Content\Textures\Models\Environment\Sky).&lt;br /&gt;
&lt;br /&gt;
As you know, clouds that are seen from the outer space and the clouds that you see through your window don’t look the same because of the huge differences in scales in both cases. That’s why we have two types of clouds on each planet. First one (commented as “Far layer” in the code) – the clouds that you see from the outer space. They usually look like NASA satellite orbital photo shots.&lt;br /&gt;
&lt;br /&gt;
[[File:Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
And the Second one (commented as “Near layer” in the code) – the clouds that are seen when you’re on the ground or close to it. These should look like a significantly zoomed version of the first ones - more detailed, wispy and more individual. Like the ones you used to see in the sky every day. Refer to the picture.&lt;br /&gt;
&lt;br /&gt;
[[File:LargeClouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Now, how to actually separate these two types of cloud layers and to make them come in layers – one after the other. This is very simple too. The maximum overall Altitude (height) of our atmosphere layer is 2. So we have to set up our cloud layers in a tricky way, so that when we’re in outer space - we would see the “Far layer” clouds ONLY, and as we’re getting lower (approaching the ground), on a particular altitude (height) smoothly switch to the “Near layer” clouds and have the “Far layer” clouds hidden. Sounds crazy but it will become clear if you look at the following pic:&lt;br /&gt;
&lt;br /&gt;
[[File:CloudLayerDiagram.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
As you can see things are really self-explanatory here too. By setting the Start and End values in &amp;lt;FadeOutRelativeAltitude..&amp;gt; you basically create a vector, the starting point of which is infinity which means anything below this start point will be constant value, thus – making it possible to set the Far layer to be seen from outer space (values greater than 2), and preventing Near cloud layer from being seen - because it is set to fade out on 1.6. And vice versa – when you’re on the ground, you won’t see Far layer clouds layer because it faded out on much higher distance of 1.4. Not so hard right? Of course you can alter and tweak those values to your liking depending on the planets height maps/relief to get the desired transition between Far and Near cloud layers.&lt;br /&gt;
&lt;br /&gt;
So now that we’re empowered with this knowledge, the only thing we’re left to do is to actually change the color of the clouds from white to yellow color so our clouds look more natural in an orange Atmosphere environment. As we remember, our clouds are consisting of two texture files – a file containing color information (usually just a plain color) and a file with an alpha mask only. We already know that the “Far layer” clouds (the ones seen from space) use “EarthFarClouds_cm.dds” texture file and the “Near layer” clouds use “Landsky_texture_cm.dds”. How we know that? It’s written in &amp;lt;texture&amp;gt; &amp;lt;/texture&amp;gt; definitions, remember?&lt;br /&gt;
&lt;br /&gt;
[[File:CloudTextureRoute.jpg|512px]]&lt;br /&gt;
&lt;br /&gt;
Great! So now just open “EarthFarClouds_cm.dds” and the “Landsky_texture_cm.dds” and fill both files with plain yellow color and save them!&lt;br /&gt;
&lt;br /&gt;
[[File:YellowCloud Texture.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
Start the game and spawn an Earthlike planet and voila! You got perfect yellow clouds!&lt;br /&gt;
&lt;br /&gt;
[[File:Scenery With Yellow Clouds.jpg|1024px]]&lt;br /&gt;
&lt;br /&gt;
==Planet ambient sounds modding - day/night biome sounds==&lt;br /&gt;
&lt;br /&gt;
Sound rules are in the Content\Data\PlanetGeneratorDefinitions.sbc file. Here you can set different sounds based on player’s location or daytime on the planet.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         &amp;lt;SoundRule&amp;gt;&lt;br /&gt;
            &amp;lt;Height Min=&amp;quot;0&amp;quot; Max=&amp;quot;0.5&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;Latitude Min=&amp;quot;55&amp;quot; Max=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;SunAngleFromZenith Min=&amp;quot;0&amp;quot; Max=&amp;quot;180&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;EnvironmentSound&amp;gt;AmbIcelandDay&amp;lt;/EnvironmentSound&amp;gt;&lt;br /&gt;
          &amp;lt;/SoundRule&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Height stands for where you want the sound to play at the height of the heightmap (0-7200m). It is always +12% of the planet&#039;s diameter. 0 is from the the lowest start of the surface to 1.0 which is 100% of the surface (maximum height).&lt;br /&gt;
Latitude means angle from the equator. Therefore 0 to 20 will mean that this sound will mostly play in the desert area, 20-50 is mostly the green forest area, and so on.&lt;br /&gt;
SunAngleFromZenith NEEDS MORE INFO!!!&lt;br /&gt;
EnvironmentSound this is the name of the sound you want to use. &lt;br /&gt;
&lt;br /&gt;
You can find all available sounds in Audio.sbc (location shown below) Here you will also put your own ambient sound with your own custom name.&lt;br /&gt;
&lt;br /&gt;
How to implement custom ambient sound&lt;br /&gt;
&lt;br /&gt;
All Ambient sounds are stored here:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Audio\ARC\AMB\&lt;br /&gt;
&lt;br /&gt;
If you want your own sounds, they should be a loop sound, and on average should not be bigger than +-5 MB. &lt;br /&gt;
The supported format is: .xwm but .wav can also work, even though its file size is usually a lot bigger (not recommended).&lt;br /&gt;
&lt;br /&gt;
Once your audio is done, implement it here in this file: &lt;br /&gt;
&lt;br /&gt;
C:\Program Files (x86)\Steam\steamapps\common\SpaceEngineers\Content\Data\Audio.sbc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Sound&amp;gt;&lt;br /&gt;
      &amp;lt;Id&amp;gt;&lt;br /&gt;
        &amp;lt;TypeId&amp;gt;MyObjectBuilder_AudioDefinition&amp;lt;/TypeId&amp;gt;&lt;br /&gt;
        &amp;lt;SubtypeId&amp;gt;AmbAlienForestDay&amp;lt;/SubtypeId&amp;gt;&lt;br /&gt;
      &amp;lt;/Id&amp;gt;&lt;br /&gt;
      &amp;lt;Category&amp;gt;AMB&amp;lt;/Category&amp;gt;&lt;br /&gt;
      &amp;lt;MaxDistance&amp;gt;100&amp;lt;/MaxDistance&amp;gt;&lt;br /&gt;
      &amp;lt;Volume&amp;gt;0.2&amp;lt;/Volume&amp;gt;&lt;br /&gt;
      &amp;lt;Loopable&amp;gt;true&amp;lt;/Loopable&amp;gt;&lt;br /&gt;
      &amp;lt;Waves&amp;gt;&lt;br /&gt;
        &amp;lt;Wave Type=&amp;quot;D2&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;Loop&amp;gt;ARC\AMB\AmbAlienForestDayLoop2d.xwm&amp;lt;/Loop&amp;gt;&lt;br /&gt;
        &amp;lt;/Wave&amp;gt;&lt;br /&gt;
      &amp;lt;/Waves&amp;gt;&lt;br /&gt;
      &amp;lt;/Sound&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here edit only what is highlighted, otherwise I cannot guarantee that it will work properly!&lt;br /&gt;
&amp;lt;SubtypeId&amp;gt; This is how you will name your AMB sound, keeping in mind upper and lower case letters. Do not use _ or other special characters!&lt;br /&gt;
&amp;lt;Volume&amp;gt; This is self explanatory I hope.&lt;br /&gt;
&amp;lt;Loop&amp;gt; Here you just need to lead the definition to your file. ARC/AMB/ is the default location, so do not change that. &lt;br /&gt;
But if you want, you can make another folder in AMB for your custom ambient sounds for better organisation.&lt;br /&gt;
&lt;br /&gt;
==In-game map modding==&lt;br /&gt;
Maps in Medieval Engineers are generated based on terrain and buildings on it. This means that they will work for any modded planet in their default form. That being said, the way map is generated is also fully moddable.&lt;br /&gt;
&lt;br /&gt;
We definitions for map are located in Content\Data\Screens\MapDefinition.sbc. To mod maps you will have to alter/add definitions in this file, all vanilla textures for maps can be found in Content\Textures\GUI\Map. Feel free to use/alter any of them for creation of mods for Medieval Engineers.&lt;br /&gt;
Map content modding (Friend/foe display, tax notifications,...&lt;br /&gt;
In Medieval Engineers there are 2 view modes of map. Kingdom view which is showing entire kingdom and region view which is zoomed part of a kingdom map. Region is 1kmx1km large on 10 km diameter planet. Both views display different elements.&lt;br /&gt;
What is shown in these views depends on what layers it contains&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Id Type=&amp;quot;MyObjectBuilder_PlanetMapDefinition&amp;quot; Subtype=&amp;quot;Main&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BackgroundGenerator Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot;        Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
BackgroundGenerator refers to a definition of background texture that serves as a background on top of which all the map elements are placed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;RegionView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/RegionView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in region view. List and description of all layers is in next section of this document.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  &amp;lt;KingdomView&amp;gt;&lt;br /&gt;
    &amp;lt;Layers&amp;gt;...&amp;lt;/Layers&amp;gt;&lt;br /&gt;
  &amp;lt;/KingdomView&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The three dots in middle represent layers of elements that show in kingdom view.  List and description of all layers is in next  section of this document.&lt;br /&gt;
(I did not Kingdom view in its expanded form because it would take up too much space.)&lt;br /&gt;
&lt;br /&gt;
===Layers description===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_MapBackgroundLayer&amp;quot; /&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer draws the background. As generated based on chosen background definition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaDevelopmentLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;10&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\SmallGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;30&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\MediumGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;Threshold BlockCount=&amp;quot;60&amp;quot; Sprite=&amp;quot;Textures\GUI\Map\LargeGrid.png&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays icons based on amount of blocks there is in an area. You can set the block thresholds, or mod the textures. It is also possible to add more thresholds. 80x80 px, png.&lt;br /&gt;
&lt;br /&gt;
[[File:Smallest Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:Medium Settlement.png|150px|frameless]]&lt;br /&gt;
[[File:LargestSettlement.png|150px|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for region, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;AlliedBgColor Hex=&amp;quot;#806464FF&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;PlayerBgColor Hex=&amp;quot;#8064FF64&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;EnemyBgColor Hex=&amp;quot;#80DC6415&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer defines color overlay over map areas based on ownership. You can mod which color is used for allies, your own areas or for enemies&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_AreaUpkeepLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;TaxIcon&amp;gt;Textures\GUI\Map\TaxIcon.png&amp;lt;/TaxIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer displays tax icon on areas that belong to you and require tax payment soon. Texture is 80x80 pixels, png.&lt;br /&gt;
[[File:Taxes.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapPositionLayer&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;LocalPlayerImage&amp;gt;Textures\GUI\Map\PlayerPosition.png&amp;lt;/LocalPlayerImage&amp;gt;&lt;br /&gt;
    &amp;lt;OtherPlayersImage&amp;gt;Textures\GUI\Map\AllyPosition.png&amp;lt;/OtherPlayersImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
PlanetMapPositionLayer displays player icon above area where they are. &lt;br /&gt;
[[File:Ally.png|frameless]]&lt;br /&gt;
[[File:Player.png|frameless]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_ActionTrackingLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;ActionImage&amp;gt;Textures\GUI\Map\Action.png&amp;lt;/ActionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Shows icon over an area on map with fighting / destruction.&lt;br /&gt;
[[File:AttackedArea.png|frameless]]&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_CurrentMapSelectionLayer&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;SelectionImage&amp;gt;Textures\GUI\Map\MapSelection.dds&amp;lt;/SelectionImage&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is highlight of a region, that player selected with his mouse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_PlanetMapGridLayer&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;GridColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;228&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer sets which color is the grid drawn.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_KingdomFastTravelLayer&amp;quot; Name=&amp;quot;FastTravel&amp;quot; Visible=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;UnreachableColor R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;ReachableColor R=&amp;quot;100&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;100&amp;quot; A=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByTerrainColor R=&amp;quot;0&amp;quot; G=&amp;quot;0&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;224&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;BlockedByPlayerColor R=&amp;quot;240&amp;quot; G=&amp;quot;192&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;128&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This layer shows fast travel overlay for kingdom, when fast travel button is pressed. You can define which colors are used for displaying accessibility.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Layer xsi:type=&amp;quot;MyObjectBuilder_RegionOwnershipLayer&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerIcon&amp;gt;Textures\GUI\Map\PlayerLandIcon.png&amp;lt;/PlayerIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyIcon&amp;gt;Textures\GUI\Map\AllyLandIcon.png&amp;lt;/AllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;EnemyIcon&amp;gt;Textures\GUI\Map\EnemyLandIcon.png&amp;lt;/EnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerAllyIcon&amp;gt;Textures\GUI\Map\PlayerAllyLandIcon.png&amp;lt;/PlayerAllyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;PlayerEnemyIcon&amp;gt;Textures\GUI\Map\PlayerEnemyLandIcon.png&amp;lt;/PlayerEnemyIcon&amp;gt;&lt;br /&gt;
  &amp;lt;AllyEnemyIcon&amp;gt;Textures\GUI\Map\AllyEnemyLandIcon.png&amp;lt;/AllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;PlayerAllyEnemyIcon&amp;gt;Textures\GUI\Map\PlayerAllyEnemyLandIcon.png&amp;lt;/PlayerAllyEnemyIcon&amp;gt;&lt;br /&gt;
&amp;lt;/Layer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
RegionOwnershipLayer generates textures used to express ownership on regional map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Background generator (trees, mountains, roads,...)===&lt;br /&gt;
Map background is where all the trees, mountains, hills are drawn. It is also capable of coloring map based on what is in planet’s material map (this is how we make roads for example).&lt;br /&gt;
All settings for map background are in MedievalMapBackgroundDefinition. The definition also in Content\Data\Screens\MapDefinition.sbc. I will go through various parts of the definition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Id Type=&amp;quot;MyObjectBuilder_MedievalMapBackgroundDefinition&amp;quot; Subtype=&amp;quot;FundinhoDoMapinha&amp;quot;/&amp;gt;&lt;br /&gt;
Type of the definition says that this map background definition. Subtype is name of this specific background definition. If create your own background with unique subtype&lt;br /&gt;
Make sure you create your own background with unique subtype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DrawHeightmap&amp;gt;false&amp;lt;/DrawHeightmap&amp;gt;&lt;br /&gt;
When set on “true” planet’s heightmap is drawn under the map.&lt;br /&gt;
&amp;lt;Resolution&amp;gt;4096&amp;lt;/Resolution&amp;gt;&amp;lt;&lt;br /&gt;
Sets resolution of the generated in-game map. &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Features&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
      &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Feature&amp;gt;&lt;br /&gt;
    &amp;lt;/Features&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
    &amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Map Coloring===&lt;br /&gt;
You can use colors in material or biome map of a planet to appear on the game map. (roads for example). You define map coloring in a node called ”Features”. The coloring uses colors from planet material texture. You can learn more about material texture in biomes modding and surface material modding.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Material=&amp;quot;67&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;75&amp;quot; G=&amp;quot;30&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting roads on map with dark brown color. In Color you define which color will be the in-game map colored. Material=”67” decides where will be the color applied and refers to a red channel value on planet material texture. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Feature Biome=&amp;quot;60&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Color R=&amp;quot;130&amp;quot; G=&amp;quot;100&amp;quot; B=&amp;quot;42&amp;quot; A=&amp;quot;80&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/Feature&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This specific feature is used for painting forests on map with opaque brown. In Color you define which color will be the in-game map colored. Biome=”60” decides where will be the color applied and refers to a green channel value on planet material texture.&lt;br /&gt;
&lt;br /&gt;
===Sprites===&lt;br /&gt;
Medieval Engineers map can also place sprites on map based on terrain shape. All the sprites are on one texture&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;SpriteSheet Texture=&amp;quot;Textures\GUI\Map\BackgroundSprites.png&amp;quot; BaseSize=&amp;quot;64&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;SpriteCount&amp;gt;100&amp;lt;/SpriteCount&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Sprite Name=&amp;quot;ForestSparse&amp;quot; X=&amp;quot;0&amp;quot; Y=&amp;quot;320&amp;quot; Width=&amp;quot;64&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;HeightSprite AltitudeDiff=&amp;quot;.09&amp;quot; Altitude=&amp;quot;.20&amp;quot; Priority=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;HillSmall&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/HeightSprite&amp;gt;&lt;br /&gt;
      &amp;lt;BiomeSprite Biome=&amp;quot;60&amp;quot; Density=&amp;quot;.1&amp;quot; Priority=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Sprite&amp;gt;ForestSparse&amp;lt;/Sprite&amp;gt;&lt;br /&gt;
      &amp;lt;/BiomeSprite&amp;gt;&lt;br /&gt;
&amp;lt;/SpriteSheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:AtlasCoordinateUsage.png|512px]]&lt;br /&gt;
&lt;br /&gt;
Note: Illustrates how sprite is defined on our spritesheet. Example sprite:&lt;br /&gt;
&amp;lt;Sprite Name=&amp;quot;HillSmall&amp;quot; X=&amp;quot;768&amp;quot; Y=&amp;quot;192&amp;quot; Width=&amp;quot;127&amp;quot; Height=&amp;quot;64&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Voxel color overlay modding==&lt;br /&gt;
We have a cool tech that enables us to color-shift color of almost any item in the game. Currently we are using it for trees(adds small color variations to the same model of a tree) and voxels above iron deposits.&lt;br /&gt;
==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
==Permissions modding - what is/isn’t allowed to do in claimed areas==&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;br /&gt;
&lt;br /&gt;
==Compass modding==&lt;br /&gt;
It is possible to mod visual look of an in-game compass. All definitions of compass are stored in Content\Data\GUI\CompassDefinition.sbc. Our textures for compass are in Content\Textures\GUI\Compass folder if you want to check out how they look or use them in your mod.&lt;br /&gt;
===Creating compass texture atlas and setting coordinates for its elements===&lt;br /&gt;
Just like with map sprites, we save main compass elements on a single texture, then define parts of it using pixel coordinates. First setup origin point, then add width and height of the rectangle&lt;br /&gt;
Example texture coordinates for top part of the compass:&lt;br /&gt;
[[File:CompassTextureCoordinates.png|1024px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explanation of compass definition line by line===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Texture&amp;gt;Textures/GUI/Compass/compass.png&amp;lt;/Texture&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to a texture atlas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;KingdomIcon&amp;gt;Textures/GUI/Compass/Icon-Kingdom.png&amp;lt;/KingdomIcon&amp;gt; &amp;lt;/pre&amp;gt;&lt;br /&gt;
Route to icon symbolizing a kingdom.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Padding&amp;gt;7&amp;lt;/Padding&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Padding is added vertically between the top and bottom textures and the edges of the contents of the compass.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;TopCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the top part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BottomCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;0&amp;quot; Width=&amp;quot;0&amp;quot; Height=&amp;quot;0&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the bottom part.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;BackgroundCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;64&amp;quot; Width=&amp;quot;512&amp;quot; Height=&amp;quot;64&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the background.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ArrowCrop X=&amp;quot;0&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the little marker used for elements that are drawn and have no icon.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;MarkerCrop X=&amp;quot;32&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;32&amp;quot; Height=&amp;quot;32&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the interval bars drawn every few degrees.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowCrop X=&amp;quot;64&amp;quot; Y=&amp;quot;128&amp;quot; Width=&amp;quot;80&amp;quot; Height=&amp;quot;32&amp;quot; Left=&amp;quot;8&amp;quot; Right=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;ShadowPadding Left=&amp;quot;12&amp;quot; Top=&amp;quot;8&amp;quot; Right=&amp;quot;12&amp;quot; Bottom=&amp;quot;8&amp;quot;/&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Rectangle in the texture that contains the text shadows. Shadow is 3-Sliced, meaning the texture is split in three parts:	[left|middle|right]&lt;br /&gt;
The sizes of left and right define the cropping lines that split the texture into three. The Sides are then always kep proportional as the texture is scaled.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VisibleRange&amp;gt;200&amp;lt;/VisibleRange&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Visible range in degrees. &lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Width&amp;gt;700&amp;lt;/Width&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Width in reference resolution pixels.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;FontSize&amp;gt;1.1&amp;lt;/FontSize&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Scale of the font based on default.&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VerticalOffset&amp;gt;0.065&amp;lt;/VerticalOffset&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Vertical offset from the top of the screen. 0 = top of the screen, 1 is the bottom. Compass is centered around this position.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;TagStyle Tag=&amp;quot;ClaimArea&amp;quot; Style=&amp;quot;Bellow&amp;quot; MaxCharacters=&amp;quot;15&amp;quot; Ellipsis=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Cardinal&amp;quot; Style=&amp;quot;Above&amp;quot; MaxCharacters=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;TagStyle Tag=&amp;quot;Kingdom&amp;quot; Style=&amp;quot;Bellow&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/TagStyles&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This section adds tags that are visible on compass and in which style. Currently we have 3 types of tags. Claim area - shows your claimed area on the compass, Kingdom tag shows kingdoms and Cardinal tag shows cardinal points (North, South,...). Each tag’s visual appearance is defined in tag/waypoint definition. Styles defines where should the text appear. Available styles: Center, IconOnly, NotShown, Bellow, Above.&lt;br /&gt;
&lt;br /&gt;
===Explanation of Waypoint/Tag definition===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_WaypointDefinition&amp;quot; Subtype=&amp;quot;Kingdom&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;IconPath&amp;gt;Textures/GUI/Compass/IconKeep.png&amp;lt;/IconPath&amp;gt;&lt;br /&gt;
	&amp;lt;Color R=&amp;quot;255&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;255&amp;quot; A=&amp;quot;255&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
IconPath contains path to the texture of kingdom icon. Color defines color of the text that is shown with the icon. (Example: Fareon, [[File:Kingdom Icon.png|thumb]])&lt;br /&gt;
===Compass texture vs in-game look comparison===&lt;br /&gt;
Texture:&lt;br /&gt;
&lt;br /&gt;
[[File:Compas Texture with Zones.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
In-game look:&lt;br /&gt;
&lt;br /&gt;
[[File:In-gameCompassZones.png|1024px]]&lt;br /&gt;
&amp;lt;NoWiki&amp;gt;*&amp;lt;/NoWiki&amp;gt;note that background crop and bottom crop are not used in vanilla (empty opaque texture)&lt;br /&gt;
&lt;br /&gt;
===Indestructible grids===&lt;br /&gt;
There is a way how to make some buildings in your save indestructible. We are using this feature for starting area buildings. Some you guys might make a good use of this feature in your pre-made worlds.&lt;br /&gt;
&lt;br /&gt;
Currently, only way how to do this is to make edits to an existing save file. So you can only use it for world modding.&lt;br /&gt;
===Making indestructible cubegrids in existing safe===&lt;br /&gt;
Goal is to open world’s safe file in a text editor, find your cubegrid in it and add this tag to it: &amp;lt;DestructibleBlocks&amp;gt;true&amp;lt;/DestructibleBlocks&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
#Find your save file. By default save files are stored in C:\Users\YOURUSERNAME\AppData\Roaming\MedievalEngineers\Saves&lt;br /&gt;
#Open folder with your save and find file called SANDBOX_0_0_0_.sbs. This file can be opened with any text editor you prefer.&lt;br /&gt;
#In the SANDBOX_0_0_0_.sbs search for the cubegrid name of the building you want to make indestructible. (use find/search function in your text editor, or you will grow old before you find it)&lt;br /&gt;
#Tip: To find out name of a cubegrid, create blueprint of the building. The name that the building saves as in your blueprint screen is the name of the cubegrid.&lt;br /&gt;
#You should find the name in tags called: &amp;lt;DisplayName&amp;gt;YOURCUBEGRIDNAME&amp;lt;/DisplayName&amp;gt; &lt;br /&gt;
#Under the name, add following tag with setting set to false: &amp;lt;DestructibleBlocks&amp;gt;false&amp;lt;/DestructibleBlocks&amp;gt;&lt;br /&gt;
#If you followed instruction, the indestructibility tag is now in node called &amp;lt;MyObjectBuilder_EntityBase&amp;gt; and not in any of its child nodes.&lt;br /&gt;
#Save the edited file.&lt;br /&gt;
#Load the save and test destructibility&lt;br /&gt;
#It worked! Enjoy&lt;br /&gt;
#It is still destructible. Go to point 1.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen_Modding_Guides]]&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1966</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1966"/>
		<updated>2017-03-13T11:02:53Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Generate automatically based on terrain shape */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;RiseThreshold&amp;gt;&#039;&#039;&#039; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;HeightThreshold&amp;gt;&#039;&#039;&#039; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1965</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1965"/>
		<updated>2017-03-13T11:00:39Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Generate automatically based on terrain shape */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1964</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1964"/>
		<updated>2017-03-13T11:00:00Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Generate automatically based on terrain shape */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
	&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideBackward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Back_ForbiddenAreas.png&amp;lt;/OverrideBackward&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideLeft&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Left_ForbiddenAreas.png&amp;lt;/OverrideLeft&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideRight&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Right_ForbiddenAreas.png&amp;lt;/OverrideRight&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideUp&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Up_ForbiddenAreas.png&amp;lt;/OverrideUp&amp;gt;&lt;br /&gt;
	&amp;lt;OverrideDown&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Down_ForbiddenAreas.png&amp;lt;/OverrideDown&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are used to override the generated fast travel map. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1963</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1963"/>
		<updated>2017-03-13T10:53:39Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* Area borders highlight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
&lt;br /&gt;
===Description of available actions to set permissions for:===&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui&lt;br /&gt;
&lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1962</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1962"/>
		<updated>2017-03-13T10:52:54Z</updated>

		<summary type="html">&lt;p&gt;Lukas: /* List of available Groupnames: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui &lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
&lt;br /&gt;
#Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
#roupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
#Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
#Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
	<entry>
		<id>https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1961</id>
		<title>Keen:Planet Modding/Fast Travel</title>
		<link rel="alternate" type="text/html" href="https://medievalengineerswiki.com/index.php?title=Keen:Planet_Modding/Fast_Travel&amp;diff=1961"/>
		<updated>2017-03-13T10:52:16Z</updated>

		<summary type="html">&lt;p&gt;Lukas: Created page with &amp;quot;==Fast travel settings modding== In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around. In t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fast travel settings modding==&lt;br /&gt;
In Medieval Engineers players can only fast travel through reachable terrain, blocked terrain has to be crossed on foot or walked around.&lt;br /&gt;
In this section of the guide we will show you how to mod which sectors are blocked.&lt;br /&gt;
There are 2 ways you can go about it:&lt;br /&gt;
===Generate automatically based on terrain shape===&lt;br /&gt;
Game is capable of creating fast travel map on its own based on height and terrain steepness. It is possible to mod thresholds for both height and steepness.&lt;br /&gt;
You will find the thresholds in Content\Data\Game\FastTravel.sbc. In a MyObjectBuilder_TerrainReachabilityProviderDefinition.&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt; - Sets min. terrain height change which will cause that area is unreachable.&lt;br /&gt;
&amp;lt;HeightThreshold&amp;gt; - Sets height of terrain after which area is unreachable, if it goes over this value. Range is 0 - 1. &lt;br /&gt;
&lt;br /&gt;
If there are texture overrides in the definition, you have to erase them in order for the parameters to take effect. Texture overrides are nodes that are called in this fashion: &amp;lt;OverrideNAMEOFFACE&amp;gt;. You will learn more about these overrides in the next part of Fast travel modding.&lt;br /&gt;
&lt;br /&gt;
===Creating fast travel texture override===&lt;br /&gt;
If you want to have full control over which areas are reachable and which are not regardless of terrain, you can create a simple texture on which you mark unreachable areas.&lt;br /&gt;
&lt;br /&gt;
The texture is 80x80 pixels, RGB 8 bit. Black pixels forbid entrance. &lt;br /&gt;
&lt;br /&gt;
When you have the texture, select route to it in the definition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Reachability definition example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Definition xsi:type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Id Type=&amp;quot;MyObjectBuilder_TerrainReachabilityProviderDefinition&amp;quot; Subtype=&amp;quot;Terra&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;RiseThreshold&amp;gt;.14&amp;lt;/RiseThreshold&amp;gt;&lt;br /&gt;
	&amp;lt;HeightThreshold&amp;gt;.6&amp;lt;/HeightThreshold&amp;gt;&lt;br /&gt;
		&amp;lt;OverrideForward&amp;gt;Data/PlanetDataFiles/EarthLike/FastTravelOverrides/Front_ForbiddenAreas.png&amp;lt;/OverrideForward&amp;gt;&lt;br /&gt;
&amp;lt;/Definition&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This definition would generate fast travel reachability everywhere, except for front planet face (Fareon kingdom) where fast travel reachability is created based on your texture.&lt;br /&gt;
&lt;br /&gt;
===Development reachability===&lt;br /&gt;
Claimable area size, border highlight, contested timer modding&lt;br /&gt;
Size of the area and highlight properties are moddable as well.&lt;br /&gt;
&lt;br /&gt;
===Area borders highlight===&lt;br /&gt;
&amp;lt;NeutralColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Set color of an unowned territory&lt;br /&gt;
&amp;lt;SelfColor R=&amp;quot;0&amp;quot; G=&amp;quot;255&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border owned by you&lt;br /&gt;
&amp;lt;AliedColor R=&amp;quot;65&amp;quot; G=&amp;quot;105&amp;quot; B=&amp;quot;225&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that belongs to allies &lt;br /&gt;
&amp;lt;EnemyColor R=&amp;quot;225&amp;quot; G=&amp;quot;32&amp;quot; B=&amp;quot;0&amp;quot; A=&amp;quot;64&amp;quot; /&amp;gt; - Sets color of area border that is hostile&lt;br /&gt;
&amp;lt;WallSettings Depth=&amp;quot;15&amp;quot; Rise=&amp;quot;3&amp;quot; SegmentCount&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - Changes shape of the border. Depth sets how deep is border submerged. Rise sets how tall is the border. &lt;br /&gt;
&amp;lt;Fade Start=&amp;quot;71&amp;quot; End=&amp;quot;115&amp;quot; /&amp;gt; - This sets at which point the border starts to fade. &lt;br /&gt;
Contested timer&lt;br /&gt;
When players claim area with claimblock, area goes to a “contested” phase for some amount of time, in this phase other players can still attempt to build their own claim block and claim the area. This time is moddable.&lt;br /&gt;
Content\Data\Game\SessionComponents.sbc contains definition called MyObjectBuilder_AreaOwnershipSystemDefinition. To mod this value, add this definition to your mod with changed value of &amp;lt;ContestedTimeInMinutes&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
Permissions modding - what is/isn’t allowed to do in claimed areas&lt;br /&gt;
Have you noticed you cannot mine voxels in claimed areas of your enemies? That is because of how we chose to define permission settings for safe area. And yes, this and much more is also moddable :).&lt;br /&gt;
This time there is no need create any textures, we will only need to edit one text file and add it to your mod.&lt;br /&gt;
You will find the file with permissions definitions in Data\Permissions.sbc&lt;br /&gt;
Descriptions of permission nodes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;Permission Name=&amp;quot;Build&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Owner&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Allies&amp;quot; Allowed=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Neutral&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;Usergroup Groupname=&amp;quot;Enemies&amp;quot; Allowed=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/Permission&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Permission definition sets which groups of players are allowed to perform an action. In this example, it is “Build” action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;Usergroup Groupname=”Owner” Allowed=”true”&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Groupname refers to group of players, for which we are setting the permission(in this example it is player who owns the area). Allowed parameter allows/disallows the action depending on if it is set to “true” or “false”.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Parameter sets which area permission set is used for player owned territories.&lt;br /&gt;
Description of available actions to set permissions for:&lt;br /&gt;
#Name=”Build” -&amp;gt; block placement permissions&lt;br /&gt;
#Name=”Repair” -&amp;gt; Repairing/building already placed blocks&lt;br /&gt;
#Name=”Deconstruct” -&amp;gt; Deconstructing&lt;br /&gt;
#Name=”QuickDeconstruct” -&amp;gt; Faster deconstruction&lt;br /&gt;
#Name=”VoxelEdit” -&amp;gt; Mining or shoveling&lt;br /&gt;
#Name=”Destroy” -&amp;gt; Damage with hand weapons&lt;br /&gt;
#Name=”Interaction” -&amp;gt; Chest opening, door opening&lt;br /&gt;
#Name=”ClaimBlockInteraction” -&amp;gt; ClaimblockGui &lt;br /&gt;
===List of available Groupnames:===&lt;br /&gt;
Groupname: “Owner” -&amp;gt; Player who owns area&lt;br /&gt;
Groupname: “Allies” -&amp;gt; Mostly faction members of owner of the area&lt;br /&gt;
Groupname: “Neutral” -&amp;gt; Random players, who are not in an enemy faction (mostly everyone without faction allegiance)&lt;br /&gt;
Groupname: “Enemies” -&amp;gt; Players in factions that are hostile to your faction&lt;/div&gt;</summary>
		<author><name>Lukas</name></author>
	</entry>
</feed>