216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
...
311
312
313
314
315
316
317
318
319
320
321
322
323
324
...
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
|
node_box = {
type = 'connected';
disconnected = { -0.05, -0.35, -0.40; 0.05, -0.25, 0.40 };
connect_front = { -0.05, -0.35, -0.50; 0.05, -0.25, 0.05 };
connect_back = { -0.05, -0.35, -0.05; 0.05, -0.25, 0.50 };
connect_right = { -0.05, -0.35, -0.05; 0.50, -0.25, 0.05 };
connect_left = { -0.50, -0.35, -0.05; 0.05, -0.25, 0.05 };
connect_top = { -0.05, -0.25, -0.05; 0.05, 0.50, 0.05 };
connect_bottom = { -0.05, -0.50, -0.05; 0.05, -0.35, 0.05 };
};
connects_to = { 'group:sorcery_ley_device', 'default:mese' };
-- harcoding mese is kind of cheating -- figure out a
-- better way to do this for the longterm
paramtype = 'light';
-- paramtype2 = 'facedir';
................................................................................
sorcery_ley_device = 1;
sorcery_magitech = 1;
};
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('infotext','Condenser')
end;
_sorcery = {
ley = { mode = 'produce';
power = function(pos,time)
return sorcery.ley.field_to_current(sorcery.ley.estimate(pos).force, time);
end;
affinity = function(pos)
return sorcery.ley.estimate(pos).aff
................................................................................
local sum = vector.add(pos,p)
if not foundp(sum) then
checked[#checked + 1] = sum
local nodename = minetest.get_node(sum).name
if nodename == 'ignore' then
minetest.load_area(sum)
nodename = minetest.get_node(sum).name
print('**** ignorenode, loaded',nodename)
end
if minetest.get_item_group(nodename,'sorcery_ley_device') ~= 0
or sorcery.data.compat.ley[nodename] then
local d = sorcery.ley.sample(pos,1,nodename,{query={mode=true}})
assert(d.mode == 'signal'
or d.mode == 'consume'
or d.mode == 'produce')
|
|
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
...
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
...
380
381
382
383
384
385
386
387
388
389
390
391
392
393
|
node_box = {
type = 'connected';
disconnected = { -0.05, -0.35, -0.40; 0.05, -0.25, 0.40 };
connect_front = { -0.05, -0.35, -0.50; 0.05, -0.25, 0.05 };
connect_back = { -0.05, -0.35, -0.05; 0.05, -0.25, 0.50 };
connect_right = { -0.05, -0.35, -0.05; 0.50, -0.25, 0.05 };
connect_left = { -0.50, -0.35, -0.05; 0.05, -0.25, 0.05 };
connect_top = { -0.05, -0.35, -0.05; 0.05, 0.50, 0.05 };
connect_bottom = { -0.05, -0.50, -0.05; 0.05, -0.35, 0.05 };
};
connects_to = { 'group:sorcery_ley_device', 'default:mese' };
-- harcoding mese is kind of cheating -- figure out a
-- better way to do this for the longterm
paramtype = 'light';
-- paramtype2 = 'facedir';
................................................................................
sorcery_ley_device = 1;
sorcery_magitech = 1;
};
on_construct = function(pos)
local meta = minetest.get_meta(pos)
meta:set_string('infotext','Condenser')
end;
on_rightclick = function(pos)
local c = sorcery.ley.netcaps(pos,1)
c.net.devices.signal = nil
print('LEYNET', dump(c))
end;
_sorcery = {
ley = { mode = 'produce';
power = function(pos,time)
return sorcery.ley.field_to_current(sorcery.ley.estimate(pos).force, time);
end;
affinity = function(pos)
return sorcery.ley.estimate(pos).aff
................................................................................
local sum = vector.add(pos,p)
if not foundp(sum) then
checked[#checked + 1] = sum
local nodename = minetest.get_node(sum).name
if nodename == 'ignore' then
minetest.load_area(sum)
nodename = minetest.get_node(sum).name
end
if minetest.get_item_group(nodename,'sorcery_ley_device') ~= 0
or sorcery.data.compat.ley[nodename] then
local d = sorcery.ley.sample(pos,1,nodename,{query={mode=true}})
assert(d.mode == 'signal'
or d.mode == 'consume'
or d.mode == 'produce')
|