1
2
3
4
5
6
7
8
9
10
11
12
13
..
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
..
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
..
81
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
|
local T = starlit.translator
local lib = starlit.mod.lib
starlit.terrain = {}
local soilSounds = {}
local grassSounds = {}
minetest.register_node('starlit:soil', {
description = T 'Soil';
tiles = {'default_dirt.png'};
groups = {dirt = 1};
drop = '';
sounds = soilSounds;
................................................................................
minetest.register_node('starlit:sand', {
description = T 'Sand';
tiles = {'default_sand.png'};
groups = {dirt = 1};
drop = '';
sounds = soilSounds;
_starlit = {
kind = 'block';
fab = starlit.type.fab { element = { silicon = 25 } };
};
})
minetest.register_craftitem('starlit:soil_clump', {
short_description = T 'Soil';
................................................................................
groups = {soil = 1};
_starlit = {
fab = starlit.type.fab { element = { carbon = 12 / 4 } };
};
})
function starlit.terrain.createGrass(def)
local function grassfst(i)
local nextNode = def.name
if i >= 0 then
nextNode = nextNode .. '_walk_' .. tostring(i)
end
return {
onWalk = function(pos)
minetest.set_node_at(pos, def.name .. '_walk_2');
end;
onDecay = function(pos,delta)
minetest.set_node_at(pos, nextNode);
end;
onDestroy = function(pos) end;
fab = def.fab;
recover = def.recover;
recover_vary = def.recover_vary;
};
end
local drop = {
max_items = 4;
items = {
{
items = {'starlit:soil'}, rarity = 2;
tool_groups = { 'shovel', 'trowel' };
};
................................................................................
name = 'default_dirt.png^' .. def.img ..'_side.png';
tileable_vertical = false;
};
};
groups = {grass = 1, dirt = 1, sub_walk = 1};
drop = '';
sounds = grassSounds;
_starlit = grassfst(2);
})
for i=2,0,-1 do
local opacity = tostring((i/2.0) * 255)
minetest.register_node(def.name, {
description = def.desc;
tiles = {
def.img .. '.png^(default_footprint.png^[opacity:'..opacity..')';
'default_dirt.png';
{
name = 'default_dirt.png^' .. def.img ..'_side.png';
tileable_vertical = false;
};
};
groups = {grass = 1, sub_walk = 1, sub_decay = 5};
drop = '';
_starlit = grassfst(i-1);
sounds = grassSounds;
})
end
end
starlit.terrain.createGrass {
name = 'starlit:greengraze';
desc = T 'Greengraze';
img = 'default_grass';
|
|
>
>
>
>
>
>
>
>
>
|
>
>
>
>
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
<
|
<
<
<
<
<
<
>
>
|
<
<
<
<
<
|
<
|
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
..
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
..
54
55
56
57
58
59
60
61
62
63
64
65
66
67
..
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
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 = 'default-sand-footstep';
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;
................................................................................
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 } };
};
})
minetest.register_craftitem('starlit:soil_clump', {
short_description = T 'Soil';
................................................................................
groups = {soil = 1};
_starlit = {
fab = starlit.type.fab { element = { carbon = 12 / 4 } };
};
})
function starlit.terrain.createGrass(def)
local drop = {
max_items = 4;
items = {
{
items = {'starlit:soil'}, rarity = 2;
tool_groups = { 'shovel', 'trowel' };
};
................................................................................
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';
|