minetest.register_node("ufowreck:pad", { description = minetest.colorize("#0E0", "Alien ")..minetest.colorize("#A0F", "Teleport"), tiles = { "scifi_nodes_pad.png", "scifi_nodes_pad.png", "scifi_nodes_pad.png", "scifi_nodes_pad.png", "scifi_nodes_pad.png", "scifi_nodes_pad.png" }, drawtype = "nodebox", paramtype = "light", groups = {cracky=1, oddly_breakable_by_hand=1}, light_source = 5, mesecons = {effector = { rules = { {x=0, y=0, z=-1}, {x=1, y=0, z=0}, {x=-1, y=0, z=0}, {x=0, y=0, z=1}, {x=1, y=1, z=0}, {x=1, y=-1, z=0}, {x=-1, y=1, z=0}, {x=-1, y=-1, z=0}, {x=0, y=1, z=1}, {x=0, y=-1, z=1}, {x=0, y=1, z=-1}, {x=0, y=-1, z=-1}, {x=0, y=-1, z=0}, }, action_on = function (pos, node) local obj_list = minetest.get_objects_inside_radius(pos, 3) for _,obj in ipairs(obj_list) do if obj:is_player() then minetest.add_particlespawner( 25, --amount 1.5, --time {x=pos.x-0.9, y=pos.y-0.3, z=pos.z-0.9}, --minpos {x=pos.x+0.9, y=pos.y-0.3, z=pos.z+0.9}, --maxpos {x=0, y=0, z=0}, --minvel {x=0, y=0, z=0}, --maxvel {x=-0,y=1,z=-0}, --minacc {x=0,y=2,z=0}, --maxacc 0.5, --minexptime 1, --maxexptime 2, --minsize 5, --maxsize false, --collisiondetection "scifi_nodes_tp_part.png" --texture ) local name = obj:get_player_name() minetest.after(1, function(name) minetest.sound_play("travelnet_travel", {pos = pos, gain = 0.75, max_hear_distance = 10,}); local connected = minetest.get_connected_players() local still_con = false for _,player in pairs(connected) do local p_name = player:get_player_name() if p_name == name then still_con = true break end end if still_con == true then player = minetest.get_player_by_name(name) player:setpos({ x = pos.x + math.random(-1,1)*1000, y = pos.y, z = pos.z + math.random(-1,1)*1000}) end end, name) end end end, }}, on_rightclick = function(pos, node, clicker) minetest.add_particlespawner( 25, --amount 1.5, --time {x=pos.x-0.9, y=pos.y-0.3, z=pos.z-0.9}, --minpos {x=pos.x+0.9, y=pos.y-0.3, z=pos.z+0.9}, --maxpos {x=0, y=0, z=0}, --minvel {x=0, y=0, z=0}, --maxvel {x=-0,y=1,z=-0}, --minacc {x=0,y=2,z=0}, --maxacc 0.5, --minexptime 1, --maxexptime 2, --minsize 5, --maxsize false, --collisiondetection "scifi_nodes_tp_part.png" --texture ) local name = clicker:get_player_name() or '|none' minetest.after(1, function(name) minetest.sound_play("travelnet_travel", {pos = pos, gain = 0.75, max_hear_distance = 10,}); local connected = minetest.get_connected_players() local still_con = false for _,player in pairs(connected) do local p_name = player:get_player_name() if p_name == name then still_con = true break end end if still_con == true then player = minetest.get_player_by_name(name) player:setpos({ x = pos.x + math.random(-1,1)*1000, y = pos.y, z = pos.z + math.random(-1,1)*1000}) end end, name) end, node_box = { type = "fixed", fixed = { {-0.9375, -0.5, -0.75, 0.875, -0.375, 0.75}, -- NodeBox1 {-0.8125, -0.5, -0.875, 0.75, -0.375, 0.875}, -- NodeBox2 {-0.875, -0.5, -0.8125, 0.8125, -0.375, 0.8125}, -- NodeBox3 {-0.8125, -0.5, -0.75, 0.75, -0.3125, 0.75}, -- NodeBox4 }, sounds = default.node_sound_metal_defaults(), } }) minetest.register_craft({ output = "ufowreck:pad", recipe = { {"ufowreck:alien_metal", "ufowreck:alien_metal", "ufowreck:alien_metal"}, {"ufowreck:alien_metal", "ufowreck:alien_control", "ufowreck:alien_metal"}, {"ufowreck:alien_metal", "ufowreck:alien_metal", "ufowreck:alien_metal"} } })