milan2018_v3 #28
1 changed files with 0 additions and 50 deletions
|
@ -1,50 +0,0 @@
|
||||||
-- make other light blocks work with mesecon signals - can toggle on/off
|
|
||||||
|
|
||||||
local function enable_toggle_light(name)
|
|
||||||
|
|
||||||
local table = minetest.registered_nodes[name]; if not table then return end
|
|
||||||
local table2 = {}
|
|
||||||
for i,v in pairs(table) do
|
|
||||||
table2[i] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
if table2.mesecons then return end -- we dont want to overwrite existing stuff!
|
|
||||||
|
|
||||||
local offname = "basic_machines:"..string.gsub(name, ":", "_").. "_OFF";
|
|
||||||
|
|
||||||
table2.mesecons = {effector = { -- action to toggle light off
|
|
||||||
action_off = function (pos,node,ttl)
|
|
||||||
minetest.swap_node(pos,{name = offname});
|
|
||||||
end
|
|
||||||
}
|
|
||||||
};
|
|
||||||
minetest.register_node(":"..name, table2) -- redefine item
|
|
||||||
|
|
||||||
-- STRANGE BUG1: if you dont make new table table3 and reuse table2 definition original node (definition one line above) is changed by below code too!???
|
|
||||||
-- STRANGE BUG2: if you dont make new table3.. original node automatically changes to OFF node when placed ????
|
|
||||||
|
|
||||||
local table3 = {}
|
|
||||||
for i,v in pairs(table) do
|
|
||||||
table3[i] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
table3.light_source = 0; -- off block has light off
|
|
||||||
table3.mesecons = {effector = {
|
|
||||||
action_on = function (pos,node,ttl)
|
|
||||||
minetest.swap_node(pos,{name = name});
|
|
||||||
end
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
-- REGISTER OFF BLOCK
|
|
||||||
minetest.register_node(":"..offname, table3);
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
enable_toggle_light("xdecor:wooden_lightbox");
|
|
||||||
enable_toggle_light("xdecor:iron_lightbox");
|
|
||||||
enable_toggle_light("moreblocks:slab_meselamp_1");
|
|
||||||
enable_toggle_light("moreblocks:slab_super_glow_glass");
|
|
||||||
|
|
||||||
enable_toggle_light("darkage:lamp");
|
|
Loading…
Reference in a new issue