1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
..
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
..
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
...
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
local T = starlit.translator
local lib = starlit.mod.lib
starlit.terrain = {}
local soilSounds = {
footstep = 'default-dirt-footstep';
dig = 'default-dig-crumbly';
dug = 'default-dug-node';
}
local sandSounds = {
footstep = {name='default-sand-footstep',gain=0.1};
dig = 'default-dig-crumbly';
dug = 'default-dug-node';
}
local grassSounds = {
footstep = 'default-grass-footstep';
dig = 'default-dig-crumbly';
dug = 'default-dug-node';
}
minetest.register_node('starlit:soil', {
description = T 'Soil';
tiles = {'default_dirt.png'};
groups = {dirt = 1};
drop = '';
sounds = soilSounds;
_starlit = {
kind = 'block';
elements = {};
};
})
minetest.register_node('starlit:sand', {
description = T 'Sand';
tiles = {'default_sand.png'};
groups = {dirt = 1};
drop = '';
sounds = sandSounds;
_starlit = {
kind = 'block';
fab = starlit.type.fab { element = { silicon = 25 } };
};
})
................................................................................
short_description = T 'Soil';
description = starlit.ui.tooltip {
title = T 'Soil';
desc = 'A handful of nutrient-packed soil, suitable for growing plants';
color = lib.color(0.3,0.2,0.1);
};
inventory_image = 'starlit-item-soil.png';
groups = {soil = 1};
_starlit = {
fab = starlit.type.fab { element = { carbon = 12 / 4 } };
};
})
function starlit.terrain.createGrass(def)
local drop = {
................................................................................
};
};
}
minetest.register_node(def.name, {
description = T 'Greengraze';
tiles = {
def.img .. '.png';
'default_dirt.png';
{
name = 'default_dirt.png^' .. def.img ..'_side.png';
tileable_vertical = false;
};
};
groups = {grass = 1, dirt = 1, sub_walk = 1};
drop = '';
sounds = grassSounds;
_starlit = {
fab = def.fab;
recover = def.recover;
recover_vary = def.recover_vary;
};
})
end
starlit.terrain.createGrass {
name = 'starlit:greengraze';
desc = T 'Greengraze';
img = 'default_grass';
fab = starlit.type.fab {
element = {
carbon = 12;
};
time = {
shred = 2.5;
};
................................................................................
tiles = m.tiles or
(m.tone and {
string.format('default_stone.png^[colorizehsl:%s:%s:%s',
m.tone.hue, m.tone.sat, m.tone.lum)
}) or {'default_stone.png'};
groups = grp;
drop = m.rocks or '';
_starlit = {
kind = 'block';
elements = m.elements;
fab = m.fab;
recover = m.recover;
recover_vary = m.recover_vary;
};
|
<
<
|
>
>
>
>
>
>
>
>
>
>
>
<
<
>
>
|
|
|
|
>
>
>
>
>
>
>
|
|
|
|
|
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
..
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
..
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
...
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
local T = starlit.translator
local lib = starlit.mod.lib
starlit.terrain = {}
local soilSounds = {
footstep = 'default-dirt-footstep';
dug = 'default-dug-node';
}
local sandSounds = {
footstep = {name='default-sand-footstep',gain=0.1};
dug = 'default-dug-node';
}
local grassSounds = {
footstep = 'default-grass-footstep';
dug = 'default-dug-node';
}
local hardSounds = {
footstep = 'default-hard-footstep';
dug = 'default-dug-node';
}
local soilDrop = {
max_items = 3;
items = {
{rarity = 2, items = {'starlit:soil_clump'}};
{rarity = 3, items = {'starlit:soil_clump'}};
{rarity = 4, items = {'starlit:soil_clump'}};
};
}
minetest.register_node('starlit:soil', {
description = T 'Soil';
tiles = {'starlit-terrain-soil.png'};
groups = {looseClump = 2, soil = 1};
drop = soilDrop;
sounds = soilSounds;
_starlit = {
kind = 'block';
elements = {};
};
})
minetest.register_node('starlit:sand', {
description = T 'Sand';
tiles = {'starlit-terrain-sand.png'};
groups = {looseClump = 1, sand = 1};
drop = '';
sounds = sandSounds;
_starlit = {
kind = 'block';
fab = starlit.type.fab { element = { silicon = 25 } };
};
})
................................................................................
short_description = T 'Soil';
description = starlit.ui.tooltip {
title = T 'Soil';
desc = 'A handful of nutrient-packed soil, suitable for growing plants';
color = lib.color(0.3,0.2,0.1);
};
inventory_image = 'starlit-item-soil.png';
groups = {looseClump = 2, soil = 1};
on_place = function(me, luser, point)
if me:get_count() < 3 then return end
if minetest.place_node(point.above, {name = 'starlit:soil'}, luser) then
me:take_item(3)
end
return me
end;
_starlit = {
fab = starlit.type.fab { element = { carbon = 12 / 4 } };
};
})
function starlit.terrain.createGrass(def)
local drop = {
................................................................................
};
};
}
minetest.register_node(def.name, {
description = T 'Greengraze';
tiles = {
def.img .. '.png';
'starlit-terrain-soil.png';
{
name = 'starlit-terrain-soil.png^' .. def.img ..'-overlay.png';
tileable_vertical = false;
};
};
groups = {looseClump = 2, grass = 1, soil = 1, sub_walk = 1};
drop = soilDrop;
sounds = grassSounds;
_starlit = {
fab = def.fab;
recover = def.recover;
recover_vary = def.recover_vary;
};
})
end
starlit.terrain.createGrass {
name = 'starlit:greengraze';
desc = T 'Greengraze';
img = 'starlit-terrain-greengraze';
fab = starlit.type.fab {
element = {
carbon = 12;
};
time = {
shred = 2.5;
};
................................................................................
tiles = m.tiles or
(m.tone and {
string.format('default_stone.png^[colorizehsl:%s:%s:%s',
m.tone.hue, m.tone.sat, m.tone.lum)
}) or {'default_stone.png'};
groups = grp;
drop = m.rocks or '';
sounds = hardSounds;
_starlit = {
kind = 'block';
elements = m.elements;
fab = m.fab;
recover = m.recover;
recover_vary = m.recover_vary;
};
|