-minetest.register_node("minecart:rail",{
- description = "Rail",
- wield_image = "rail.png",
- tiles = {
- "rail.png", "railcurve.png",
- "railt.png", "railcross.png"
- },
- drawtype = "raillike",
- paramtype = "light",
- sunlight_propagates = true,
- is_ground_content = false,
- walkable = false,
- node_placement_prediction = "",
- selection_box = {
- type = "fixed",
- fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
- },
- sounds = main.stoneSound(),
- on_place = function(itemstack, placer, pointed_thing)
- if not pointed_thing.type == "node" then
- return
- end
-
- local sneak = placer:get_player_control().sneak
- local noddef = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name]
- if not sneak and noddef.on_rightclick then
- minetest.item_place(itemstack, placer, pointed_thing)
- return
- end
- local buildable = minetest.registered_nodes[minetest.get_node(pointed_thing.under).name].buildable_to
- --replace buildable
- 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
- return(minetest.item_place(itemstack, placer, pointed_thing))
- end
- --replace buildable above
- local buildable = minetest.registered_nodes[minetest.get_node(pointed_thing.above).name].buildable_to
- 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
- return(minetest.item_place(itemstack, placer, pointed_thing))
- end
- --normal
- local pos = pointed_thing.above
- 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
- minetest.set_node(pointed_thing.above, {name="minecart:rail"})
- itemstack:take_item(1)
- minetest.sound_play("stone",{pos=pointed_thing.above})
- return(itemstack)
- end
- end,
- groups={stone=1,wood=1,rail=1},
-})
-
-minetest.register_craft({
- output = "minecart:rail 32",
- recipe = {
- {"main:iron","","main:iron"},
- {"main:iron","main:stick","main:iron"},
- {"main:iron","","main:iron"}
- }
-})