-- =================================================================== local tpad_collision_box = { type = "fixed", fixed = {{ -0.5, -0.5, -0.5, 0.5, -0.3, 0.5 }} } -- =================================================================== minetest.register_node ("travelnet:pad", { drawtype = "mesh" , tiles = { "travelnet_pad_mesh.png" } , mesh = "travelnet_pad.obj" , light_source = 10 , paramtype = "light" , paramtype2 = "facedir" , collision_box = tpad_collision_box , selection_box = tpad_collision_box , description = "Travelpad" , sunlight_propagates = true , groups = { cracky=1,choppy=1,snappy=1,travelnet=1 } , after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) meta:set_string("infotext", "Teleport Pad (unconfigured)") meta:set_string("station_name", "") meta:set_string("station_network","") meta:set_string("owner", placer:get_player_name() ) -- request initial data meta:set_string ("formspec", "size[12,10]".. "field[0.3,5.6;6,0.7;station_name;Name of this station:;]" .. "field[0.3,6.6;6,0.7;station_network;Assign to Network:;]" .. "field[0.3,7.6;6,0.7;owner_name;(optional) owned by:;]" .. "button_exit[6.3,5.4;1.7,0.7;station_dig;Remove]" .. "button_exit[6.3,6.4;1.7,0.7;station_set;Store]") end, on_receive_fields = travelnet.on_receive_fields, on_punch = function (pos, node, puncher) travelnet.update_formspec (pos, puncher:get_player_name()) end, can_dig = function (pos, player) return travelnet.can_dig (pos, player, "travelnet box") end, after_dig_node = function(pos, oldnode, oldmetadata, digger) travelnet.remove_box( pos, oldnode, oldmetadata, digger ) end, on_place = function (itemstack, placer, pointed_thing) local pos = pointed_thing.above local anode anode = minetest.get_node ({x=pos.x, y=pos.y+1, z=pos.z}) if anode.name ~= "air" and anode.name ~= "default:vacuum" then minetest.chat_send_player (placer:get_player_name(), 'Not enough vertical space to place the Palantiri') return end anode = minetest.get_node ({x=pos.x, y=pos.y+2, z=pos.z}) if anode.name ~= "air" and anode.name ~= "default:vacuum" then minetest.chat_send_player (placer:get_player_name(), 'Not enough vertical space to place the Palantiri') return end return minetest.item_place(itemstack, placer, pointed_thing) end , }) -- =================================================================== local WW = "default:wood" local BB = "default:bronzeblock" minetest.register_craft ({ output = "travelnet:pad" , recipe = { { WW , BB , WW } , { BB , WW , BB } , { WW , BB , WW } , } }) -- =================================================================== minetest.register_alias ("travelpad", "travelnet:pad")