diff options
| -rw-r--r-- | jeija/init.lua | 1 | ||||
| -rw-r--r-- | jeija/lever.lua | 86 | 
2 files changed, 87 insertions, 0 deletions
| diff --git a/jeija/init.lua b/jeija/init.lua index 33f80c6..d216324 100644 --- a/jeija/init.lua +++ b/jeija/init.lua @@ -878,6 +878,7 @@ dofile(minetest.get_modpath("jeija").."/alias.lua")  dofile(minetest.get_modpath("jeija").."/switch.lua")  dofile(minetest.get_modpath("jeija").."/pistons.lua")  dofile(minetest.get_modpath("jeija").."/lightstone.lua") +dofile(minetest.get_modpath("jeija").."/lever.lua")  --TEMPEREST's STUFF  if ENABLE_TEMPEREST==1 then  	dofile(minetest.get_modpath("jeija").."/temperest.lua") diff --git a/jeija/lever.lua b/jeija/lever.lua new file mode 100644 index 0000000..6f20fec --- /dev/null +++ b/jeija/lever.lua @@ -0,0 +1,86 @@ +-- WALL LEVER +minetest.register_node("jeija:wall_lever_off", { +    drawtype = "signlike", +    tile_images = {"jeija_wall_lever_off.png"}, +    inventory_image = "jeija_wall_lever_off.png", +    wield_image = "jeija_wall_lever_off.png", +    paramtype = "light", +    paramtype2 = "wallmounted", +    legacy_wallmounted = true, +    walkable = false, +    selection_box = { +        type = "wallmounted", +    }, +    material = minetest.digprop_constanttime(0.3), +    description="Lever", +}) +minetest.register_node("jeija:wall_lever_on", { +    drawtype = "signlike", +    tile_images = {"jeija_wall_lever_on.png"}, +    inventory_image = "jeija_wall_lever_on.png", +    paramtype = "light", +    paramtype2 = "wallmounted", +    legacy_wallmounted = true, +    walkable = false, +    selection_box = { +        type = "wallmounted", +    }, +    material = minetest.digprop_constanttime(0.3), +    drop = '"jeija:wall_lever_off" 1', +    description="Lever", +}) + +minetest.register_on_dignode( +    function(pos, oldnode, digger) +        if oldnode.name == "jeija:wall_lever_on" then +            mesecon:receptor_off(pos) +        end     +    end +) +minetest.register_on_punchnode(function(pos, node, puncher) +	if node.name == "jeija:wall_lever_off" then +		minetest.env:add_node(pos, {name="jeija:wall_lever_on",param2=node.param2}) +		local rules_string=nil +		if node.param2 == 5 then +			rules_string="button_z+" +		end +		if node.param2 == 3 then +			rules_string="button_x+" +		end +		if node.param2 == 4 then +			rules_string="button_z-" +		end +		if node.param2 == 2 then +			rules_string="button_x-" +		end +		mesecon:receptor_on(pos, rules_string) +	end +	if node.name == "jeija:wall_lever_on" then +		minetest.env:add_node(pos, {name="jeija:wall_lever_off",param2=node.param2}) +		local rules_string=nil +		if node.param2 == 5 then +			rules_string="button_z+" +		end +		if node.param2 == 3 then +			rules_string="button_x+" +		end +		if node.param2 == 4 then +			rules_string="button_z-" +		end +		if node.param2 == 2 then +			rules_string="button_x-" +		end +		mesecon:receptor_off(pos, rules_string) +	end +end) + +minetest.register_craft({ +	output = '"jeija:wall_lever_off" 2', +	recipe = { +	    {'"jeija:mesecon_off"'}, +		{'"default:stone"'}, +		{'"default:stick"'}, +	} +}) +mesecon:add_receptor_node("jeija:wall_lever") +mesecon:add_receptor_node_off("jeija:wall_lever_off") | 
