123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- -- Common rail registrations
- local regular_rail_itemname = "default:rail"
- if minetest.registered_nodes["carts:rail"] then
- -- MTG Compatibility
- regular_rail_itemname = "carts:rail"
- end
- boost_cart:register_rail(":"..regular_rail_itemname, {
- description = "Rail",
- tiles = {
- "carts_rail_straight.png", "carts_rail_curved.png",
- "carts_rail_t_junction.png", "carts_rail_crossing.png"
- },
- groups = boost_cart:get_rail_groups()
- })
- --[[
- -- Moreores' copper rail
- local copperrail_registered = false
- if minetest.get_modpath("moreores") then
- minetest.register_alias("carts:copperrail", "moreores:copper_rail")
- local raildef = minetest.registered_nodes["moreores:copper_rail"]
- if raildef and minetest.raillike_group then
- -- Ensure that this rail uses the same connect_to_raillike
- raildef.groups.connect_to_raillike = minetest.raillike_group("rail")
- minetest.override_item("moreores:copper_rail", {
- groups = raildef.groups
- })
- copperrail_registered = true
- end
- end
- if not copperrail_registered then
- boost_cart:register_rail(":carts:copperrail", {
- description = "Copper rail",
- tiles = {
- "carts_rail_straight_cp.png", "carts_rail_curved_cp.png",
- "carts_rail_t_junction_cp.png", "carts_rail_crossing_cp.png"
- },
- groups = boost_cart:get_rail_groups()
- })
- minetest.register_craft({
- output = "carts:copperrail 12",
- recipe = {
- {"default:copper_ingot", "", "default:copper_ingot"},
- {"default:copper_ingot", "group:stick", "default:copper_ingot"},
- {"default:copper_ingot", "", "default:copper_ingot"},
- }
- })
- end
- ]]
- -- Power rail
- boost_cart:register_rail(":carts:powerrail", {
- description = "Powered rail",
- tiles = {
- "carts_rail_straight_pwr.png", "carts_rail_curved_pwr.png",
- "carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png"
- },
- groups = boost_cart:get_rail_groups(),
- after_place_node = function(pos, placer, itemstack)
- if not mesecon then
- minetest.get_meta(pos):set_string("cart_acceleration", "0.5")
- end
- end,
- mesecons = {
- effector = {
- action_on = function(pos, node)
- boost_cart:boost_rail(pos, 0.5)
- end,
- action_off = function(pos, node)
- minetest.get_meta(pos):set_string("cart_acceleration", "0")
- end,
- },
- },
- })
- minetest.register_craft({
- output = "carts:powerrail 6",
- recipe = {
- {"default:steel_ingot", "default:mese_crystal_fragment", "default:steel_ingot"},
- {"default:steel_ingot", "group:stick", "default:steel_ingot"},
- {"default:steel_ingot", "default:mese_crystal_fragment", "default:steel_ingot"},
- }
- })
- -- Brake rail
- boost_cart:register_rail(":carts:brakerail", {
- description = "Brake rail",
- tiles = {
- "carts_rail_straight_brk.png", "carts_rail_curved_brk.png",
- "carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png"
- },
- groups = boost_cart:get_rail_groups(),
- after_place_node = function(pos, placer, itemstack)
- if not mesecon then
- minetest.get_meta(pos):set_string("cart_acceleration", "-0.3")
- end
- end,
- mesecons = {
- effector = {
- action_on = function(pos, node)
- minetest.get_meta(pos):set_string("cart_acceleration", "-0.3")
- end,
- action_off = function(pos, node)
- minetest.get_meta(pos):set_string("cart_acceleration", "0")
- end,
- },
- },
- })
- minetest.register_craft({
- output = "carts:brakerail 6",
- recipe = {
- {"default:steel_ingot", "default:coal_lump", "default:steel_ingot"},
- {"default:steel_ingot", "group:stick", "default:steel_ingot"},
- {"default:steel_ingot", "default:coal_lump", "default:steel_ingot"},
- }
- })
- boost_cart:register_rail("boost_cart:startstoprail", {
- description = "Start-stop rail",
- tiles = {
- "carts_rail_straight_ss.png", "carts_rail_curved_ss.png",
- "carts_rail_t_junction_ss.png", "carts_rail_crossing_ss.png"
- },
- groups = boost_cart:get_rail_groups(),
- after_place_node = function(pos, placer, itemstack)
- if not mesecon then
- minetest.get_meta(pos):set_string("cart_acceleration", "halt")
- end
- end,
- mesecons = {
- effector = {
- action_on = function(pos, node)
- boost_cart:boost_rail(pos, 0.5)
- end,
- action_off = function(pos, node)
- minetest.get_meta(pos):set_string("cart_acceleration", "halt")
- end,
- },
- },
- })
- minetest.register_craft({
- type = "shapeless",
- output = "boost_cart:startstoprail 2",
- recipe = {"carts:powerrail", "carts:brakerail"},
- })
|