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