starlit  Diff

Differences From Artifact [e1d816e7a5]:

To Artifact [18098e5201]:


     1      1   local T = starlit.translator
     2      2   local lib = starlit.mod.lib
            3  +
            4  +local soilRec = starlit.type.fab {
            5  +	element = {
            6  +		carbon = 25;
            7  +	};
            8  +	time = { shred = 2.5; };
            9  +};
     3     10   
     4     11   starlit.terrain = {}
     5     12   local soilSounds = {
     6     13   	footstep = 'default-dirt-footstep';
     7     14   	dug = 'default-dug-node';
     8     15   }
     9     16   local sandSounds = {
................................................................................
    32     39   	tiles = {'starlit-terrain-soil.png'};
    33     40   	groups = {looseClump = 2, soil = 1};
    34     41   	drop = soilDrop;
    35     42   	sounds = soilSounds;
    36     43   	_starlit = {
    37     44   		kind = 'block';
    38     45   		elements = {};
           46  +		recover = soilRec;
    39     47   	};
    40     48   })
    41     49   
    42     50   
    43     51   minetest.register_node('starlit:sand', {
    44     52   	description = T 'Sand';
    45     53   	tiles = {'starlit-terrain-sand.png'};
................................................................................
    56     64   	description = T 'Lifesilt';
    57     65   	tiles = {'starlit-terrain-lifesilt.png'};
    58     66   	groups = {looseClump = 1, lifesilt = 1, falling_node = 1};
    59     67   	drop = '';
    60     68   	sounds = sandSounds;
    61     69   	_starlit = {
    62     70   		kind = 'block';
    63         -		fab = starlit.type.fab { element = { carbon = 8, silicon = 4 } };
           71  +		recover = starlit.type.fab { element = { carbon = 16, silicon = 16, rubidium = 4 } };
    64     72   	};
    65     73   })
    66     74   
    67     75   minetest.register_craftitem('starlit:soil_clump', {
    68     76   	short_description = T 'Soil';
    69     77   	description = starlit.ui.tooltip {
    70     78   		title = T 'Soil';
................................................................................
    77     85   		if me:get_count() < 3 then return end
    78     86   		if minetest.place_node(point.above, {name = 'starlit:soil'}, luser) then
    79     87   			me:take_item(3)
    80     88   		end
    81     89   		return me
    82     90   	end;
    83     91   	_starlit = {
    84         -		fab = starlit.type.fab { element = { carbon = 12 / 4 } };
           92  +		recover = starlit.type.fab { element = { carbon = 25 / 4 } };
    85     93   	};
    86     94   })
    87     95   
    88     96   function starlit.terrain.createGrass(def)
    89     97   	local drop = {
    90     98   		max_items = 4;
    91     99   		items = {
................................................................................
   105    113   				tileable_vertical = false;
   106    114   			};
   107    115   		};
   108    116   		groups = {looseClump = 2, grass = 1, soil = 1, sub_walk = 1};
   109    117   		drop = soilDrop;
   110    118   		sounds = grassSounds;
   111    119   		_starlit = {
   112         -			fab = def.fab;
   113    120   			recover = def.recover;
   114    121   			recover_vary = def.recover_vary;
   115    122   		};
   116    123   	})
   117    124   end
   118    125   
   119    126   
   120    127   starlit.terrain.createGrass {
   121    128   	name = 'starlit:greengraze';
   122    129   	desc = T 'Greengraze';
   123    130   	img = 'starlit-terrain-greengraze';
   124         -	fab = starlit.type.fab {
   125         -		element = { carbon = 12; };
   126         -		time = { shred = 2.5; };
   127         -	};
          131  +	recover = soilRec;
   128    132   }
   129    133   
   130    134   starlit.terrain.createGrass {
   131    135   	name = 'starlit:undergloam';
   132    136   	desc = T 'Undergloam';
   133    137   	-- fungal carpet
   134    138   	img = 'starlit-terrain-undergloam';
   135         -	fab = starlit.type.fab {
   136         -		element = {
   137         -			carbon = 12;
   138         -		};
   139         -		time = { shred = 2.5; };
   140         -	};
          139  +	recover = soilRec;
   141    140   }
   142    141   
   143    142   for _, w in pairs {false,true} do
   144    143   	minetest.register_node('starlit:liquid_water' .. (w and '_flowing' or ''), {
   145    144   		description = T 'Water';
   146    145   		drawtype = 'liquid';
   147    146   		waving = 3;
   148    147   		tiles = {
   149    148   			{
   150         -				name = "default_water_source_animated.png";
          149  +-- 				name = "default_water_source_animated.png";
          150  +				name = "starlit-water.png";
   151    151   				backface_culling = false;
   152    152   				animation = {
   153    153   					type = "vertical_frames";
   154    154   					aspect_w = 16;
   155    155   					aspect_h = 16;
   156    156   					length = 2.0;
   157    157   				};
   158    158   			};
   159    159   			{
   160         -				name = "default_water_source_animated.png";
          160  +-- 				name = "default_water_source_animated.png";
          161  +				name = "starlit-water.png";
   161    162   				backface_culling = true;
   162    163   				animation = {
   163    164   					type = "vertical_frames";
   164    165   					aspect_w = 16;
   165    166   					aspect_h = 16;
   166    167   					length = 2.0;
   167    168   				};