-
Notifications
You must be signed in to change notification settings - Fork 14
VillageTypes
##6. Village types
Real villages may vary a lot depending on which region and century they where built in. The style houses are built in also varies from player to player. Thus, groups of houses (blueprints, schematics) are grouped into village types. Each house may belong to more than one village type, but all the houses belonging to one village type ought to visually fit together.
###6.1 What a village type consists of
- Buildings which share a common style as to please the eye
- Replacements are applied to all houses in a village the same way (except for the fruit grown). This means for example: Each house in a village will use the same tree trunk type and the corresponding wooden planks, fences (if available), doors (again, if available) etc., will use the same replacement for cobble (i.e. desert stone brick) as each other house in the village, and so on. Houses in another villages share the same materials as well - but those materials will most likely be diffrent ones.
- The same type of plant that is grown in the immediate area sourrounding the village. In the case of medieval style villages, that's wheat; taoki-type villages grow cotton; others usually just let the grass grow.
- Some common parameters like minimum and maximum size, road type, road sizes etc.
- Requirements as to which mods need to be there so that the village can be placed.
###6.2 Village types without further dependencies
These are directly included in mg_villages and always available.
nore Nores experimental mg mapgen
is also where the original code for the village generation came from.
And also these houses here.
taoki from MirceaKitsune's Structure IO mod
###6.3 Village types depending on the cottages mod
The houses for these village types below have been built by me, Sokomine. They require my cottages mod in order to work. These village types are also directly included in mg_villages but will only be used if the cottages mod is installed.
medieval tries to rebuild (German) medieval villages
charachoal consists of the charachoal burner's hut and the fireplace where he burns the wood to coal
lumberjack has wooden homes for lumberjacks with piles of wood in front of some huts; may also contain a shop and a school
claytrader offers clay, brick and glass to those in need, thus preserving many beaches
logcabin very simple, poor huts; the bare minimum
tent is for new settlements in the wild
grasshut requires the dryplants mod to be installed, which can be found in the
grasses modpack, or in the
DreamBuilder Game.
The grasshuts where heavily inspired by Mossmanikin.
###6.4 Village type canadian
canadian by Mauvebic/LadyMacBest is taken from
some version of Mauvebics MM2 modpac.
The modpack is no longer available.
The houses in here are more suitable for a town instead of a village.
They're big and well-built.
It's a pity that the mod can no longer be found.
###6.5 Special types for lone houses
Lone houses outside villages may also spawn. The purpose of some of them may be obvious from their name:
tower,
chateau,
forge,
tavern,
well,
trader,
sawmill,
farm_tiny (the farmer has an additional job and too few land to live only on what he grows alone) and
farm_full (for full-time farmers who have their own horses and can live off their land).
The type single is a catch-all for types not covered above.
###6.6 Additional village types found in extra mods
These mods exist mostly in order to show you how easy it is to create a new village type. They also create nice villages using mostly default nodes.
gambit: village_gambit
adds a new village type named gambit.
It was built by the forum user of that name for the peaceful mobs by jojo1997.
See also this thread.
cornernote: village_towntest
uses the buildings from Cornernotes towntest mod
and adds the new village type cornernote.
modern houses have been built by BorisGrishenko. See
this forum thread.
ruins have been built by AgentNagel42. See
this forum thread.
sandcity has been built by me, Sokomine, and can be found in
village_sandcity.
That city is intended to be a home for those poor sandmobs that we all so often kill in passing.
Note also that it has space_between_buildings=-1
, letting the houses be together wall-by-wall, with no gap inbetween.
###6.7 Adding your own village type
It's easy to add your own new village type. Just call
mg_villages.add_village_type( name_of_village_type, table )
somewhere (i.e. inside your own mod).
table
has to be a table containing the following values:
min
, max
: (required) the radius of the village will be choosen randomly between these two values
space_between_buildings
: (default: 1) if set to 0, there is no gap at the sides of the buildings; if set to -1, the buildings will overlap
mods = {'mod_a','mod_b'}
(optional) a list of mods required for spawning that village type; if the mods are not installed, the village type will never be spawned
texture = 'default_stone_brick.png'
sets the texture that will be used in the map shown by the /vmap
chat command
replacement_function = my_replacement_function
: The function will be called like this: my_replacement_function( housetype, pr, replacements )
and is expected to
return a replacement list as e.g. minetest.place_schematic would take.
sapling_divisor
(default: 10) affects how many tree saplings will be placed around the village; the higher the fewer
plant_type
(default: default:grass_5)
is the node name of what the villagers planted around their village. Medieval ones use wheat, while taoki ones use cotton.
plant_frequency
(default: 3) the higher, the fewer plants there will be
name_prefix
: may contain a prefix that will be used if a lone house of that type is spawned (so that it can be distinguished from a full village)
force_ground
, force_underground
: set surface node and the nodes below that will be used in the village. Normally, the existing terrain types will be preserved.
See village_sandcity
for an example as to why and when you might wish to set this.
no_snow
: set to true if you never want your village type to be selected for one with artificial snow
roadsize_list = {2,3,4,5,6}
: in this example, the main road will be 6 nodes wide, then 5 nodes and so on
road_materials = {'default:cobble','default:gravel','default:stonebrick','default:coalblock'}
if you want more variety.
Note: Snow may cover your roads (it will never cover the default road gravel)
The buildings themshelves are added in a diffrent way. For information about that, please take a look at Buildings.