1 minetest.register_node("minecart:rail",{
3 wield_image = "rail.png",
5 "rail.png", "railcurve.png",
6 "railt.png", "railcross.png"
10 sunlight_propagates = true,
11 is_ground_content = false,
13 node_placement_prediction = "",
16 fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
18 sounds = main.stoneSound(),
19 on_place = function(itemstack, placer, pointed_thing)
20 if not pointed_thing.type == "node" then
24 local sneak = placer:get_player_control().sneak
25 local noddef = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name]
26 if not sneak and noddef.on_rightclick then
27 minetest.item_place(itemstack, placer, pointed_thing)
30 local buildable = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name].buildable_to
32 if buildable and minetest.get_node_group(minetest.get_node(vector.new(pointed_thing.under.x,pointed_thing.under.y-1,pointed_thing.under.z)).name, "soil") > 0 then
33 return(minetest.item_place(itemstack, placer, pointed_thing))
35 --replace buildable above
36 local buildable = minetest.registered_nodes[minetest.get_node(pointed_thing.above).name].buildable_to
37 if buildable and minetest.get_node_group(minetest.get_node(vector.new(pointed_thing.above.x,pointed_thing.above.y-1,pointed_thing.above.z)).name, "soil") > 0 then
38 return(minetest.item_place(itemstack, placer, pointed_thing))
41 local pos = pointed_thing.above
42 if minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name].walkable and minetest.get_node(pointed_thing.above).name == "air" then
43 minetest.set_node(pointed_thing.above, {name="minecart:rail"})
44 itemstack:take_item(1)
45 minetest.sound_play("stone",{pos=pointed_thing.above})
49 groups={stone=1,wood=1,rail=1},
52 minetest.register_craft({
53 output = "minecart:rail 32",
55 {"main:iron","","main:iron"},
56 {"main:iron","main:stick","main:iron"},
57 {"main:iron","","main:iron"}