14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
..
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
local grp = {
object = 1;
attached_node = 1;
}
if def.group then
for k,v in pairs(def.group((i/stages))) do grp[k]=v end
end
minetest.register_node(stID(i), {
short_description = def.name;
description = starlit.ui.tooltip {
title = def.name;
desc = def.desc;
color = def.color;
props = {
{title = 'Burn Remaining', desc=lib.math.timespec(stageTimeout * i), affinity=i > (stages/2) and 'good' or 'bad'};
................................................................................
};
tiles = def.tile((i/stages));
paramtype = 'light';
paramtype2 = 'wallmounted';
wallmounted_rotate_vertical = true;
light_source = math.floor(lib.math.lerp(i/stages, 0, def.glow));
on_construct = i ~= 0 and function(pos)
local t = minetest.get_node_timer(pos)
t:start(stageTimeout)
if def.ctor then def.ctor(pos, (i/stages)) end
end or nil;
on_destruct = def.dtor and function(pos)
def.dtor(pos, (i/stages))
end or nil;
on_timer = i ~= 0 and function(pos)
local me = minetest.get_node(pos)
minetest.swap_node(pos, {name=stID(i-1), param2=me.param2})
return i > 1
end or nil;
_starlit = (function()
local meta = {
mass = def.mass;
reverseEngineer = {
complexity = 1;
................................................................................
radiate = function(rp, pos)
return 15 * f
end;
};
} end;
}
minetest.register_node('starlit_tech:crate', {
short_description = 'Crate';
description = starlit.ui.tooltip {
title = 'Crate';
desc = 'A sturdy but lightweight aluminum storage crate.';
props = { {title='Mass', affinity='info', desc='100g'} };
};
drawtype = 'nodebox';
................................................................................
time = {
shred = 1;
shredPower = 3;
};
};
};
on_construct = function(pos)
local m = minetest.get_meta(pos)
local inv = m:get_inventory()
inv:set_size('starlit:contents', 12)
end;
on_rightclick = function(pos, node, luser)
if not luser then return end
local user = starlit.activeUsers[luser:get_player_name()]
user:openUI('starlit:box', 'index', {
|
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
..
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
...
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
local grp = {
object = 1;
attached_node = 1;
}
if def.group then
for k,v in pairs(def.group((i/stages))) do grp[k]=v end
end
core.register_node(stID(i), {
short_description = def.name;
description = starlit.ui.tooltip {
title = def.name;
desc = def.desc;
color = def.color;
props = {
{title = 'Burn Remaining', desc=lib.math.timespec(stageTimeout * i), affinity=i > (stages/2) and 'good' or 'bad'};
................................................................................
};
tiles = def.tile((i/stages));
paramtype = 'light';
paramtype2 = 'wallmounted';
wallmounted_rotate_vertical = true;
light_source = math.floor(lib.math.lerp(i/stages, 0, def.glow));
on_construct = i ~= 0 and function(pos)
local t = core.get_node_timer(pos)
t:start(stageTimeout)
if def.ctor then def.ctor(pos, (i/stages)) end
end or nil;
on_destruct = def.dtor and function(pos)
def.dtor(pos, (i/stages))
end or nil;
on_timer = i ~= 0 and function(pos)
local me = core.get_node(pos)
core.swap_node(pos, {name=stID(i-1), param2=me.param2})
return i > 1
end or nil;
_starlit = (function()
local meta = {
mass = def.mass;
reverseEngineer = {
complexity = 1;
................................................................................
radiate = function(rp, pos)
return 15 * f
end;
};
} end;
}
core.register_node('starlit_tech:crate', {
short_description = 'Crate';
description = starlit.ui.tooltip {
title = 'Crate';
desc = 'A sturdy but lightweight aluminum storage crate.';
props = { {title='Mass', affinity='info', desc='100g'} };
};
drawtype = 'nodebox';
................................................................................
time = {
shred = 1;
shredPower = 3;
};
};
};
on_construct = function(pos)
local m = core.get_meta(pos)
local inv = m:get_inventory()
inv:set_size('starlit:contents', 12)
end;
on_rightclick = function(pos, node, luser)
if not luser then return end
local user = starlit.activeUsers[luser:get_player_name()]
user:openUI('starlit:box', 'index', {
|