2014-08-04 13:18:20 -07:00
-- reserve namespace for the villages
mg_villages = { }
mg_villages.all_villages = { }
mg_villages.mg_generated_map = { }
mg_villages.anz_villages = 0 ;
mg_villages.modpath = minetest.get_modpath ( " mg_villages " ) ;
2015-01-04 18:15:53 -08:00
mg_villages.DEBUG_LEVEL_NONE = - 1 -- -1: disable all printed messages
mg_villages.DEBUG_LEVEL_NORMAL = 0 -- 0: print information about which village spawned where plus important errors
mg_villages.DEBUG_LEVEL_WARNING = 1 -- 1: warnings/errors which may not be particulary helpful for non-developers
mg_villages.DEBUG_LEVEL_INFO = 2 -- 2: print even less important warnings
mg_villages.DEBUG_LEVEL_TIMING = 3 -- 3: detailled performance information
mg_villages.print = function ( level , msg )
if ( level <= mg_villages.DEBUG_LEVEL ) then
print ( " [mg_villages] " .. msg ) ;
end
end
2014-08-04 13:18:20 -07:00
dofile ( mg_villages.modpath .. " /save_restore.lua " )
mg_villages.all_villages = save_restore.restore_data ( ' mg_all_villages.data ' ) ; -- read mg_villages.all_villages data saved for this world from previous runs
mg_villages.mg_generated_map = save_restore.restore_data ( ' mg_generated_map.data ' ) ;
2014-10-13 08:59:48 -07:00
dofile ( mg_villages.modpath .. " /config.lua " )
2014-08-04 13:18:20 -07:00
dofile ( mg_villages.modpath .. " /we.lua " )
dofile ( mg_villages.modpath .. " /rotate.lua " )
-- read size from schematics files directly
-- analyze_mts_file.lua uses handle_schematics.* namespace
dofile ( mg_villages.modpath .. " /analyze_mts_file.lua " )
2014-08-05 10:49:02 -07:00
-- adds a special gravel node which will neither fall nor be griefed by mapgen
dofile ( mg_villages.modpath .. " /nodes.lua " )
2014-11-13 13:07:45 -08:00
-- the default game no longer provides helpful tree growing code
dofile ( mg_villages.modpath .. " /trees.lua " )
2014-12-14 04:29:28 -08:00
-- replace some materials for entire villages randomly
dofile ( mg_villages.modpath .. " /replacements.lua " )
2014-12-12 21:51:00 -08:00
-- multiple diffrent village types with their own sets of houses are supported
-- The function mg_villages.add_village_type( village_type_name, village_type_data )
-- allows other mods to add new village types.
dofile ( mg_villages.modpath .. " /village_types.lua " )
2014-08-04 13:18:20 -07:00
-- Note: the "buildings" talbe is not in the mg_villages.* namespace
2014-12-12 21:51:00 -08:00
-- The function mg_villages.add_building( building_data ) allows other mods to add buildings.
2014-08-04 13:18:20 -07:00
dofile ( mg_villages.modpath .. " /buildings.lua " )
2014-12-12 21:51:00 -08:00
-- mg_villages.init_weights() has to be called AFTER all village types and buildings have
-- been added using the functions above
dofile ( mg_villages.modpath .. " /init_weights.lua " )
2014-09-20 08:53:20 -07:00
-- generate village names
dofile ( mg_villages.modpath .. " /name_gen.lua " ) ;
2014-10-07 15:23:29 -07:00
dofile ( mg_villages.modpath .. " /place_buildings.lua " )
2014-08-04 13:18:20 -07:00
dofile ( mg_villages.modpath .. " /villages.lua " )
-- adds a command that allows to teleport to a known village
dofile ( mg_villages.modpath .. " /chat_commands.lua " )
-- protect villages from griefing
dofile ( mg_villages.modpath .. " /protection.lua " )
-- create and show a map of the world
dofile ( mg_villages.modpath .. " /map_of_world.lua " )
2014-08-04 16:24:11 -07:00
2014-09-27 18:56:24 -07:00
dofile ( mg_villages.modpath .. " /fill_chest.lua " )
2014-11-08 14:01:13 -08:00
-- terrain blending for individual houses
dofile ( mg_villages.modpath .. " /terrain_blend.lua " )
2014-08-04 16:24:11 -07:00
-- the interface for the mapgen;
-- also takes care of spawning the player
dofile ( mg_villages.modpath .. " /mapgen.lua " )
2014-10-13 08:17:42 -07:00
dofile ( mg_villages.modpath .. " /spawn_player.lua " )