Skip to content
Sokomine edited this page Nov 15, 2015 · 7 revisions

##1. Features

Diffrent village types are spawned:

  • For each village, a random village type (determines which buildings are used), replacements of materials, size, unique name and id are choosen.
  • The first village type will be set to mg_villages.FIRST_VILLAGE_TYPE.
  • Whenever you create a new world, you will spawn inside a village.
  • Lone houses outside of villages are also spawned, which is similar to the lone houses spawned by my older random_buildings mod.

The terrain around the village will be adjusted:

  • Works with (almost) any mapgen, even singlenode, as long as chunksize = 5 is set in your minetest.conf (the default value).
  • Griefings by mapgen's cave generator and mudflow are repaired automaticly.
  • Trees in and around the villages may be covered with snow. If moresnow is installed, normal (apple) and jungletrees get special leaves that look like autumn or winter. They yield normal saplings and cannot be grown manually yet.
    Tree in winter
  • If there used to be snow on the node before the flattening, it will be there afterwards as well. At least in combination with moresnow.
    Snow on roofs
  • Villages of type medieval are sourrounded by wheat fields and have additional dirt roads seperating the fields.
    Wheat fields
  • Villages of type taoki are sourrounded by cotton fields. Other village types may choose other plants to grow.
    Cotton fields
  • Farmland (soil) in and around villages does not use the normal nodes that come with farming. No costy ABMs run on it. That also means you have to replace the spawned soil with real one if you want to harvest the plants and grow seeds on the land. There may not always be enough water nearby in order to create wet soil. Most houses where built before the farming mod went from a range of 5 down to 3 for water.
    Soil
  • In order to get a well-looking village that looks as if it might actually have been founded where it is, the terrain around the village is adjusted in height so that the central village area is flat, and the village fits into the sourrounding scenery. The same - although on a smaller scale - applies to lone houses spawned. Special thanks goes to paramat for this code!
    Flattened terrain
  • A lot of effort is placed into finding the ground node and preserving the biome type while still providing fast code.
    Biomes
  • Trees on the sourrounding terrain that is to be flattened are replanted.
  • If a cliff is created, it will randomly get some stone with coal in order to look less uniform.
    Coal
  • Paramats highlandpools are integrated to a degree. They work fine and fast in most cases, but I've also observed peaks of four seconds for the generation of a single mapchunk. If you want it fast, better set mg_villages.CREATE_HIGHLANDPOOLS = false in mg_villages/config.lua for now.
    Highlandpools

Inside the villages:

  • Each village has its own set of replacements.
  • Most villages will focus on a main wood type and then use it whenever they need a tree trunk, wooden planks, wooden stairs and whatever else is particular to that type of wood (RealTest has a lot to offer in that regard). Trees of that type will grow in and around the village (that's where the villagers got their wood from).
    1 2 3
  • Special torches are used that look like and drop normal torches but do not melt snow.
    Torches
  • In order to avoid lava accidents, all buildings use a safe version of lava sources and flowing lava.
    Save lava
  • The gravel road nodes are a bit lower than normal nodes which makes roads look nicer. I saw the effect in the pixture game, liked it and copied the idea.
    Gravel road
  • Chests, shelves etc. are randomly filled with loot for players wandering through. The emphasis for the content of these chests lies on what is halfway realistic. People just won't save bricks for a house in their chest, but, lacking clothes, tools, perhaps some valuable ores, and in particular food may be found.
    Random content of a chest
Clone this wiki locally