Light up mese with intercomm.

master
James Stevenson 2018-12-27 05:33:49 -05:00
parent 96430ae549
commit c5bd3c35c9
2 changed files with 37 additions and 0 deletions

View File

@ -1269,6 +1269,21 @@ minetest.register_node("default:mese", {
light_source = 3,
})
minetest.register_node("default:mese_", {
description = "Mese (You hacker you!)",
tiles = {"default_mese_block.png"},
paramtype = "light",
groups = {cracky = 1, level = 2, trade_value = 20},
sounds = default.node_sound_stone_defaults(),
light_source = default.LIGHT_MAX,
drop = "default:mese",
on_timer = function(pos, elapsed)
local h = minetest.find_node_near(pos, 1, "walkie:intercomm")
if not h then
minetest.swap_node(pos, {name = "default:mese"})
end
end,
})
minetest.register_node("default:stone_with_gold", {
description = "Gold Ore",

View File

@ -254,6 +254,22 @@ minetest.register_node("walkie:intercomm", {
place = {name = "walkie_blip", gain = 1.0},
place_failed = {name = "walkie_blip", gain = 1.0}
},
after_place_node = function(pos, placer, itemstack, pointed_thing)
if minetest.get_node(pointed_thing.under).name == "default:mese" then
minetest.swap_node(pointed_thing.under,
{name = "default:mese_"})
end
local m = minetest.get_meta(pos)
for k, v in pairs(minetest.deserialize(itemstack:get_meta():get"stuff")) do
m:set_string(k, v)
end
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
local h = minetest.find_node_near(pos, 1, "default:mese_")
if h then
minetest.get_node_timer(h):start(0)
end
end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
terminal.display("node", clicker, pos)
end,
@ -261,6 +277,12 @@ minetest.register_node("walkie:intercomm", {
local args = minetest.deserialize(minetest.get_meta(pos):get_string("_on_function"))
return args
end,
preserve_metadata = function(pos, oldnode, oldmeta, drops)
local m = minetest.serialize(oldmeta)
drops[1]:get_meta():set_string("stuff", m)
end,
on_blast = function()
end,
})
minetest.register_craft({