From 335d9a3eddcb590c3ca5de9cba9b152e5e560af1 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Tue, 13 Feb 2018 14:05:34 -0500 Subject: removed boost_cart and carbone_mobs -- too many crashes updated blox, homedecor, plantlifed, cottages, farming_redo, framedglass, gloopblocks, mesecons, moreblocks, moretrees, pipeworks, player_textures, replacer, signs_lib, stained_glass, technic, travelnet, unified_inventory, unifieddyes, and worldedit. --- travelnet/doors.lua | 125 +++++++++++++++++----------------------------------- 1 file changed, 40 insertions(+), 85 deletions(-) (limited to 'travelnet/doors.lua') diff --git a/travelnet/doors.lua b/travelnet/doors.lua index a45a9f6..1ca64c1 100644 --- a/travelnet/doors.lua +++ b/travelnet/doors.lua @@ -2,15 +2,19 @@ -- All doors (not only these here) in front of a travelnet or elevator are opened automaticly when a player arrives -- and are closed when a player departs from the travelnet or elevator. -- Autor: Sokomine +local S = travelnet.S; -minetest.register_node("travelnet:elevator_door_steel_open", { - description = "elevator door (open)", +travelnet.register_door = function( node_base_name, def_tiles, material ) + + minetest.register_node( node_base_name.."_open", { + description = S("elevator door (open)"), drawtype = "nodebox", -- top, bottom, side1, side2, inner, outer - tiles = {"default_stone.png"}, + tiles = def_tiles, paramtype = "light", paramtype2 = "facedir", is_ground_content = true, + -- only the closed variant is in creative inventory groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, -- larger than one node but slightly smaller than a half node so that wallmounted torches pose no problem node_box = { @@ -26,76 +30,17 @@ minetest.register_node("travelnet:elevator_door_steel_open", { {-0.9, -0.5, 0.4, 0.9, 1.5, 0.5}, }, }, - drop = "travelnet:elevator_door_steel_closed", - on_rightclick = function(pos, node, puncher) - minetest.add_node(pos, {name = "travelnet:elevator_door_steel_closed", param2 = node.param2}) - end, -}) - -minetest.register_node("travelnet:elevator_door_steel_closed", { - description = "elevator door (closed)", - drawtype = "nodebox", - -- top, bottom, side1, side2, inner, outer - tiles = {"default_stone.png"}, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = true, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, - node_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.4, -0.01, 1.5, 0.5}, - { 0.01, -0.5, 0.4, 0.5, 1.5, 0.5}, - }, - }, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, 0.4, 0.5, 1.5, 0.5}, - }, - }, - on_rightclick = function(pos, node, puncher) - minetest.add_node(pos, {name = "travelnet:elevator_door_steel_open", param2 = node.param2}) - end, -}) - - - - -minetest.register_node("travelnet:elevator_door_glass_open", { - description = "elevator door (open)", - drawtype = "nodebox", - -- top, bottom, side1, side2, inner, outer - tiles = {"travelnet_elevator_door_glass.png"}, - paramtype = "light", - paramtype2 = "facedir", - is_ground_content = true, - groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, - -- larger than one node but slightly smaller than a half node so that wallmounted torches pose no problem - node_box = { - type = "fixed", - fixed = { - {-0.99, -0.5, 0.4, -0.49, 1.5, 0.5}, - { 0.49, -0.5, 0.4, 0.99, 1.5, 0.5}, - }, - }, - selection_box = { - type = "fixed", - fixed = { - {-0.9, -0.5, 0.4, 0.9, 1.5, 0.5}, - }, - }, - drop = "travelnet:elevator_door_glass_closed", + drop = node_base_name.."_closed", on_rightclick = function(pos, node, puncher) - minetest.add_node(pos, {name = "travelnet:elevator_door_glass_closed", param2 = node.param2}) + minetest.add_node(pos, {name = node_base_name.."_closed", param2 = node.param2}) end, -}) + }) -minetest.register_node("travelnet:elevator_door_glass_closed", { - description = "elevator door (closed)", + minetest.register_node(node_base_name.."_closed", { + description = S("elevator door (closed)"), drawtype = "nodebox", -- top, bottom, side1, side2, inner, outer - tiles = {"travelnet_elevator_door_glass.png"}, + tiles = def_tiles, paramtype = "light", paramtype2 = "facedir", is_ground_content = true, @@ -114,29 +59,39 @@ minetest.register_node("travelnet:elevator_door_glass_closed", { }, }, on_rightclick = function(pos, node, puncher) - minetest.add_node(pos, {name = "travelnet:elevator_door_glass_open", param2 = node.param2}) + minetest.add_node(pos, {name = node_base_name.."_open", param2 = node.param2}) end, -}) - -minetest.register_craft({ - output = "travelnet:elevator_door_glass_closed", - recipe = { - {"default:glass", "", "default:glass", }, - {"default:glass", "", "default:glass", }, - {"default:glass", "", "default:glass", } - } }) -minetest.register_craft({ - output = "travelnet:elevator_door_steel_closed", + -- add a craft receipe for the door + minetest.register_craft({ + output = node_base_name.."_closed", recipe = { - {"default:steel_ingot", "", "default:steel_ingot", }, - {"default:steel_ingot", "", "default:steel_ingot", }, - {"default:steel_ingot", "", "default:steel_ingot", } + {material, '', material }, + {material, '', material }, + {material, '', material } } }) --- local old_node = minetest.get_node( pos ); --- minetest.add_node(pos, {name = "travelnet:elevator_door_glass_closed", param2 = old_node.param2}) + -- Make doors reacts to mesecons + if minetest.get_modpath("mesecons") then + local mesecons = {effector = { + action_on = function(pos, node) + minetest.add_node(pos, {name = node_base_name.."_open", param2 = node.param2}) + end, + action_off = function(pos, node) + minetest.add_node(pos, {name = node_base_name.."_closed", param2 = node.param2}) + end, + rules = mesecon.rules.pplate + }} + + minetest.override_item( node_base_name.."_closed", { mesecons = mesecons }) + minetest.override_item( node_base_name.."_open", { mesecons = mesecons }) + end +end +-- actually register the doors +travelnet.register_door( "travelnet:elevator_door_steel", {"default_stone.png"}, "default:steel_ingot"); +travelnet.register_door( "travelnet:elevator_door_glass", {"travelnet_elevator_door_glass.png"}, "default:glass"); +travelnet.register_door( "travelnet:elevator_door_tin", {"default_clay.png"}, "default:tin_ingot"); -- cgit v1.2.3