From d49c30643110a0384d8a506ef21dd39c007cd18b Mon Sep 17 00:00:00 2001 From: orwell96 Date: Tue, 30 Aug 2016 10:20:43 +0200 Subject: Fix two trackplacer issues 1. you can't place tracks on non-walkable nodes 2. in certain situations no rail was placed at all --- trackplacer.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'trackplacer.lua') diff --git a/trackplacer.lua b/trackplacer.lua index 9ab9a4a..21d40f0 100644 --- a/trackplacer.lua +++ b/trackplacer.lua @@ -159,6 +159,9 @@ function tp.placetrack(pos, nnpref) end end end + --not found + tp.bend_rail(pos, p_rails[1], nnpref) + minetest.set_node(pos, tr.single_conn[p_rails[1]]) end end @@ -172,7 +175,9 @@ function tp.register_track_placer(nnprefix, imgprefix, dispname) on_place = function(itemstack, placer, pointed_thing) if pointed_thing.type=="node" then local pos=pointed_thing.above - if minetest.registered_nodes[minetest.get_node(pos).name] and minetest.registered_nodes[minetest.get_node(pos).name].buildable_to then + local upos=pointed_thing.under + if minetest.registered_nodes[minetest.get_node(pos).name] and minetest.registered_nodes[minetest.get_node(pos).name].buildable_to + and minetest.registered_nodes[minetest.get_node(upos).name] and minetest.registered_nodes[minetest.get_node(upos).name].walkable then tp.placetrack(pos, nnprefix) if not minetest.setting_getbool("creative_mode") then itemstack:take_item() -- cgit v1.2.3