Differences From
Artifact [e1d816e7a5]:
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 };