diff --git a/functions.lua b/functions.lua index 38b66b4..a64549f 100644 --- a/functions.lua +++ b/functions.lua @@ -27,7 +27,15 @@ function boost_cart:is_rail(pos) local vi = area:indexp(pos) node = minetest.get_name_from_content_id(data[vi]) end - return minetest.get_item_group(node, "rail") ~= 0 + if minetest.get_item_group(node, "rail") == 0 then + return false + end + local group = minetest.get_item_group(node, "connect_to_raillike") + if self.railtype == nil then + self.railtype = group + return true + end + return group == self.railtype end function boost_cart:check_front_up_down(pos, dir, onlyDown) diff --git a/init.lua b/init.lua index d46a75a..c377d9b 100644 --- a/init.lua +++ b/init.lua @@ -30,6 +30,7 @@ boost_cart.cart = { old_dir = {x=0, y=0, z=0}, old_pos = nil, old_switch = nil, + railtype = nil, attached_items = {} }