mirror of
				https://gitlab.com/gaelysam/mapgen_rivers.git
				synced 2025-11-04 10:05:30 +01:00 
			
		
		
		
	Replace table settings by the mod's Settings object (to be completed)
This commit is contained in:
		@@ -1,13 +1,14 @@
 | 
				
			|||||||
-- Recreate mod table if we are in a separate environment
 | 
					-- Recreate mod table if we are in a separate environment
 | 
				
			||||||
if not minetest.global_exists("mapgen_rivers") then
 | 
					if not minetest.global_exists("mapgen_rivers") then
 | 
				
			||||||
	mapgen_rivers = {use_mapgen_thread=true, thread='mapgen'}
 | 
						mapgen_rivers = {use_mapgen_thread=true, thread='mapgen'}
 | 
				
			||||||
 | 
						mapgen_rivers.settings = Settings(minetest.get_worldpath() .. '/mapgen_rivers.conf')
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if not mapgen_rivers.grid then
 | 
					if not mapgen_rivers.grid then
 | 
				
			||||||
	dofile(minetest.get_modpath(minetest.get_current_modname()) .. '/load_grid.lua')
 | 
						dofile(minetest.get_modpath(minetest.get_current_modname()) .. '/load_grid.lua')
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local settings = Settings(minetest.get_worldpath() .. '/mapgen_rivers.conf')
 | 
					local settings = mapgen_rivers.settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local sea_level = tonumber(settings:get('sea_level'))
 | 
					local sea_level = tonumber(settings:get('sea_level'))
 | 
				
			||||||
local elevation_chill = tonumber(settings:get('elevation_chill'))
 | 
					local elevation_chill = tonumber(settings:get('elevation_chill'))
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								polygons.lua
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								polygons.lua
									
									
									
									
									
								
							@@ -5,12 +5,14 @@ local function index(x, z)
 | 
				
			|||||||
	return z*X+x+1
 | 
						return z*X+x+1
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local blocksize = mapgen_rivers.settings.blocksize
 | 
					local settings = mapgen_rivers.settings
 | 
				
			||||||
local min_catchment = mapgen_rivers.settings.min_catchment
 | 
					
 | 
				
			||||||
local max_catchment = mapgen_rivers.settings.max_catchment
 | 
					local blocksize = tonumber(settings:get('blocksize'))
 | 
				
			||||||
 | 
					local min_catchment = tonumber(settings:get('min_catchment'))
 | 
				
			||||||
 | 
					local max_catchment = tonumber(settings:get('max_catchment'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local map_offset = {x=0, z=0}
 | 
					local map_offset = {x=0, z=0}
 | 
				
			||||||
if mapgen_rivers.settings.center then
 | 
					if settings:get_bool('center') then
 | 
				
			||||||
	map_offset.x = blocksize*X/2
 | 
						map_offset.x = blocksize*X/2
 | 
				
			||||||
	map_offset.z = blocksize*Z/2
 | 
						map_offset.z = blocksize*Z/2
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
@@ -18,8 +20,8 @@ end
 | 
				
			|||||||
-- Localize for performance
 | 
					-- Localize for performance
 | 
				
			||||||
local floor, ceil, min, max, abs = math.floor, math.ceil, math.min, math.max, math.abs
 | 
					local floor, ceil, min, max, abs = math.floor, math.ceil, math.min, math.max, math.abs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local min_catchment = mapgen_rivers.settings.min_catchment / (blocksize*blocksize)
 | 
					min_catchment = min_catchment / (blocksize*blocksize)
 | 
				
			||||||
local wpower = mapgen_rivers.settings.river_widening_power
 | 
					local wpower = settings:get('river_widening_power')
 | 
				
			||||||
local wfactor = 1/(2*blocksize * min_catchment^wpower)
 | 
					local wfactor = 1/(2*blocksize * min_catchment^wpower)
 | 
				
			||||||
local function river_width(flow)
 | 
					local function river_width(flow)
 | 
				
			||||||
	flow = abs(flow)
 | 
						flow = abs(flow)
 | 
				
			||||||
@@ -31,14 +33,14 @@ local function river_width(flow)
 | 
				
			|||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local noise_heat -- Need a large-scale noise here so no heat blend
 | 
					local noise_heat -- Need a large-scale noise here so no heat blend
 | 
				
			||||||
local elevation_chill = mapgen_rivers.settings.elevation_chill
 | 
					local elevation_chill = settings:get_bool('elevation_chill')
 | 
				
			||||||
local function get_temperature(x, y, z)
 | 
					local function get_temperature(x, y, z)
 | 
				
			||||||
	local pos = {x=x, y=z}
 | 
						local pos = {x=x, y=z}
 | 
				
			||||||
	return noise_heat:get2d(pos) - y*elevation_chill
 | 
						return noise_heat:get2d(pos) - y*elevation_chill
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local glaciers = mapgen_rivers.settings.glaciers
 | 
					local glaciers = settings:get_bool('glaciers')
 | 
				
			||||||
local glacier_factor = mapgen_rivers.settings.glacier_factor
 | 
					local glacier_factor = tonumber(settings:get('glacier_factor')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local init = false
 | 
					local init = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@ local mtsettings = minetest.settings
 | 
				
			|||||||
local mgrsettings = Settings(minetest.get_worldpath() .. '/mapgen_rivers.conf')
 | 
					local mgrsettings = Settings(minetest.get_worldpath() .. '/mapgen_rivers.conf')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mapgen_rivers.version = "1.0.2"
 | 
					mapgen_rivers.version = "1.0.2"
 | 
				
			||||||
 | 
					mapgen_rivers.settings = settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local previous_version_mt = mtsettings:get("mapgen_rivers_version") or "0.0"
 | 
					local previous_version_mt = mtsettings:get("mapgen_rivers_version") or "0.0"
 | 
				
			||||||
local previous_version_mgr = mgrsettings:get("version") or "0.0"
 | 
					local previous_version_mgr = mgrsettings:get("version") or "0.0"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user