From ecefc937c9be82cb279c7beda6215b96540c41c8 Mon Sep 17 00:00:00 2001 From: Anthony Zhang Date: Thu, 27 Sep 2012 17:25:58 -0400 Subject: Add ghoststone, crafted like removestone, with steel ingots at the corners. Trapstone disappears upon mesecon signals, but unlike removestone, reappears after the mesecon signal turns off. --- mesecons_random/init.lua | 60 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 52 insertions(+), 8 deletions(-) (limited to 'mesecons_random') diff --git a/mesecons_random/init.lua b/mesecons_random/init.lua index 97be973..54d13b9 100644 --- a/mesecons_random/init.lua +++ b/mesecons_random/init.lua @@ -1,26 +1,70 @@ --- REMOVE_STONE +-- REMOVESTONE minetest.register_node("mesecons_random:removestone", { tiles = {"jeija_removestone.png"}, inventory_image = minetest.inventorycube("jeija_removestone_inv.png"), - material = minetest.digprop_stonelike(1.0), - groups = {cracky=3, mesecon = 2}, + groups = {cracky=3, mesecon=2}, description="Removestone", }) mesecon:register_effector(nil, "mesecons_random:removestone") minetest.register_craft({ - output = '"mesecons_random:removestone" 4', + output = 'mesecons_random:removestone 4', recipe = { - {'', '"default:cobble"',''}, - {'"default:cobble"', '"group:mesecon_conductor_craftable"', '"default:cobble"'}, - {'', '"default:cobble"',''}, + {"", "default:cobble", ""}, + {"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, + {"", "default:cobble", ""}, } }) mesecon:register_on_signal_on(function(pos, node) - if node.name=="mesecons_random:removestone" then + if node.name == "mesecons_random:removestone" then minetest.env:remove_node(pos) end end) + +-- ghoststone + +minetest.register_node("mesecons_random:ghoststone", { + description="ghoststone", + tiles = {"jeija_ghoststone.png"}, + is_ground_content = true, + inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"), + groups = {cracky=3, mesecon=2}, + sounds = default.node_sound_stone_defaults(), +}) + +minetest.register_node("mesecons_random:ghoststone_active", { + drawtype = "airlike", + pointable = false, + walkable = false, + diggable = false, + sunlight_propagates = true, + groups = {mesecon=2}, +}) + +mesecon:register_effector("mesecons_random:ghoststone_active", "mesecons_random:ghoststone") + +minetest.register_craft({ + output = 'mesecons_random:ghoststone 4', + recipe = { + {"default:steel_ingot", "default:cobble", "default:steel_ingot"}, + {"default:cobble", "group:mesecon_conductor_craftable", "default:cobble"}, + {"default:steel_ingot", "default:cobble", "default:steel_ingot"}, + } +}) + +mesecon:register_on_signal_on(function(pos, node) + if node.name == "mesecons_random:ghoststone" then + minetest.env:add_node(pos, {name="mesecons_random:ghoststone_active"}) + nodeupdate(pos) + end +end) + +mesecon:register_on_signal_off(function(pos, node) + if node.name == "mesecons_random:ghoststone_active" then + minetest.env:add_node(pos, {name="mesecons_random:ghoststone"}) + nodeupdate(pos) + end +end) \ No newline at end of file -- cgit v1.2.3