starlit  Diff

Differences From Artifact [18098e5201]:

To Artifact [5c8125f149]:


   109    109   			def.img .. '.png';
   110    110   			'starlit-terrain-soil.png';
   111    111   			{
   112    112   				name = 'starlit-terrain-soil.png^' .. def.img ..'-overlay.png';
   113    113   				tileable_vertical = false;
   114    114   			};
   115    115   		};
   116         -		groups = {looseClump = 2, grass = 1, soil = 1, sub_walk = 1};
          116  +		groups = {looseClump = 2, grass = 1, soil = 1};
   117    117   		drop = soilDrop;
   118    118   		sounds = grassSounds;
   119    119   		_starlit = {
   120    120   			recover = def.recover;
   121    121   			recover_vary = def.recover_vary;
   122    122   		};
   123    123   	})
................................................................................
   183    183   		drowning = 40;
   184    184   		post_effect_color = {a=103, r=10, g=40, b=70};
   185    185   		groups = {water = 3, liquid = 3};
   186    186   	});
   187    187   end
   188    188   
   189    189   
   190         -starlit.world.mineral.foreach('starlit:mineral_generate', {}, function(name,m)
   191         -	local node = string.format('starlit:mineral_%s', name)
          190  +starlit.world.mineral.foreach('starlit:mineral-generate', {}, function(node,m)
   192    191   	local grp = {mineral = 1}
   193    192   	minetest.register_node(node, {
   194    193   		short_description = m.name;
   195    194   		description = starlit.ui.tooltip {
   196    195   			title = m.name;
   197    196   			desc = m.desc;
   198    197   			color = m.tone;
................................................................................
   219    218   			seed = seed*50 + string.byte(m.name, i)
   220    219   		end
   221    220   		minetest.register_ore {
   222    221   			ore = node;
   223    222   			ore_type = m.dist.kind;
   224    223   			wherein = m.dist.among;
   225    224   			clust_scarcity = m.dist.rare;
   226         -			y_max = m.dist.height[1], y_min = m.dist.height[2];
          225  +			clust_num_ores = m.dist.ores;
          226  +			clust_size = m.dist.clust;
          227  +			y_min = m.dist.height[1], y_max = m.dist.height[2];
   227    228   			column_height_min = m.dist.sheetCols and m.dist.sheetCols[1] or nil;
   228    229   			column_height_max = m.dist.sheetCols and m.dist.sheetCols[2] or nil;
   229    230   			noise_params = m.dist.noise or {
   230    231   				scale = 1;
   231         -				spread = vector.new(128,128,128);
          232  +				spread = vector.new(16,16,16);
   232    233   				seed = seed;
   233    234   				octaves = 2;
   234    235   			};
   235    236   		}
   236    237   	end
   237    238   end)
   238    239   
   239         -starlit.world.mineral.link('feldspar', {
          240  +starlit.world.mineral.link('starlit:mineral_feldspar', {
   240    241   	name = T 'Feldspar';
   241    242   	tiles = {'starlit-terrain-feldspar.png'};
   242    243   	excludeOre = true;
   243    244   	recover = starlit.type.fab {
   244    245   		time = { shred = 3; };
   245    246   		cost = { shredPower = 3; };
   246    247   	};
................................................................................
   251    252   				potassium = rng:int(0,2);
   252    253   				calcium   = rng:int(0,2);
   253    254   			}
   254    255   		};
   255    256   	end;
   256    257   })
   257    258   
   258         -starlit.world.mineral.link('granite', {
          259  +starlit.world.mineral.link('starlit:mineral_granite', {
   259    260   	name = T 'Granite';
   260    261   	tiles = {'starlit-terrain-granite.png'};
   261    262   	dist = {
   262    263   		kind = 'sheet';
   263         -		among = 'starlit:feldspar';
          264  +		among = 'starlit:mineral_feldspar';
   264    265   		height = {-200,30};
   265    266   		sheetCols = {1, 16};
   266    267   	};
   267    268   	recover = starlit.type.fab {
   268         -		time = { shred = 4; };
          269  +		time = { shred = 3.5; };
   269    270   		cost = { shredPower = 8; };
   270    271   	};
   271    272   	recover_vary = function(rng, ctx)
   272         -		-- print('vary!', rng:int(), rng:int(0,10))
   273    273   		return starlit.type.fab {
   274    274   			element = {
   275         -				aluminum  = rng:int(0,4);
   276         -				potassium = rng:int(0,2);
   277         -				calcium   = rng:int(0,2);
          275  +				iron      = rng:int(0,4);
          276  +				magnesium = rng:int(0,2);
          277  +				titanium  = rng:int(0,1);
   278    278   			}
   279    279   		};
   280    280   	end;
   281    281   })
          282  +
          283  +starlit.world.mineral.link('starlit:mineral_cuprite', {
          284  +	name = T 'Cuprite';
          285  +	dist = {
          286  +		kind = 'blob';
          287  +		among = 'starlit:mineral_feldspar';
          288  +		height = {-20,20};
          289  +		clust = 8;
          290  +		ores = 1;
          291  +		rare = 1000;
          292  +		color = lib.color(.5,.2,.1);
          293  +		noise = {
          294  +			scale = 1;
          295  +			spread = vector.new(5,5,5);
          296  +			seed = 0x1faf7e1;
          297  +			octaves = 1
          298  +		}
          299  +	};
          300  +	tiles = {'starlit-terrain-cuprite.png'};
          301  +	recover = starlit.type.fab {
          302  +		element = { copper = 10 };
          303  +		time = { shred = 3; };
          304  +		cost = { shredPower = 3; };
          305  +	};
          306  +})
   282    307   
   283    308   -- map generation
   284    309   
   285    310   minetest.register_alias('mapgen_stone', 'starlit:mineral_feldspar')
   286    311   minetest.register_alias('mapgen_water_source', 'starlit:liquid_water')
   287    312   minetest.register_alias('mapgen_river_water_source', 'starlit:liquid_water')
   288    313