Clean up debug message code

master
orwell96 2017-01-08 21:10:02 +01:00
parent eae99812e9
commit 0d2ec6f49a
8 changed files with 82 additions and 50 deletions

View File

@ -10,7 +10,7 @@ advtrains.fpath_atc=minetest.get_worldpath().."/advtrains_atc"
local file, err = io.open(advtrains.fpath_atc, "r") local file, err = io.open(advtrains.fpath_atc, "r")
if not file then if not file then
local er=err or "Unknown Error" local er=err or "Unknown Error"
atprint("[advtrains]Failed loading advtrains atc save file "..er) atprint("Failed loading advtrains atc save file "..er)
else else
local tbl = minetest.deserialize(file:read("*a")) local tbl = minetest.deserialize(file:read("*a"))
if type(tbl) == "table" then if type(tbl) == "table" then
@ -22,7 +22,7 @@ function atc.save()
--leave space for more save data. --leave space for more save data.
local datastr = minetest.serialize({controllers = atc.controllers}) local datastr = minetest.serialize({controllers = atc.controllers})
if not datastr then if not datastr then
minetest.log("error", "[advtrains] Failed to serialize trackdb data!") minetest.log("error", " Failed to serialize trackdb data!")
return return
end end
local file, err = io.open(advtrains.fpath_atc, "w") local file, err = io.open(advtrains.fpath_atc, "w")

View File

@ -64,19 +64,19 @@ function advtrains.conway(midreal, prev, drives_on)--in order prev,mid,return
local next, chkdir, chkrely, y_offset local next, chkdir, chkrely, y_offset
y_offset=0 y_offset=0
--atprint("[advtrains] in order mid1,mid2",middir1,middir2) --atprint(" in order mid1,mid2",middir1,middir2)
--try if it is dir1 --try if it is dir1
local cor1=advtrains.dirCoordSet(mid, middir2)--<<<< local cor1=advtrains.dirCoordSet(mid, middir2)--<<<<
if cor1.x==prev.x and cor1.z==prev.z then--this was previous if cor1.x==prev.x and cor1.z==prev.z then--this was previous
next=advtrains.dirCoordSet(mid, middir1) next=advtrains.dirCoordSet(mid, middir1)
if midrely1>=1 then if midrely1>=1 then
next.y=next.y+1 next.y=next.y+1
--atprint("[advtrains]found midrely1 to be >=1: next is now "..(next and minetest.pos_to_string(next) or "nil")) --atprint("found midrely1 to be >=1: next is now "..(next and minetest.pos_to_string(next) or "nil"))
y_offset=1 y_offset=1
end end
chkdir=middir1 chkdir=middir1
chkrely=midrely1 chkrely=midrely1
--atprint("[advtrains]dir2 applied next pos:",minetest.pos_to_string(next),"(chkdir is ",chkdir,")") --atprint("dir2 applied next pos:",minetest.pos_to_string(next),"(chkdir is ",chkdir,")")
end end
--dir2??? --dir2???
local cor2=advtrains.dirCoordSet(mid, middir1)--<<<< local cor2=advtrains.dirCoordSet(mid, middir1)--<<<<
@ -84,17 +84,17 @@ function advtrains.conway(midreal, prev, drives_on)--in order prev,mid,return
next=advtrains.dirCoordSet(mid, middir2)--dir2 wird überprüft, alles gut. next=advtrains.dirCoordSet(mid, middir2)--dir2 wird überprüft, alles gut.
if midrely2>=1 then if midrely2>=1 then
next.y=next.y+1 next.y=next.y+1
--atprint("[advtrains]found midrely2 to be >=1: next is now "..(next and minetest.pos_to_string(next) or "nil")) --atprint("found midrely2 to be >=1: next is now "..(next and minetest.pos_to_string(next) or "nil"))
y_offset=1 y_offset=1
end end
chkdir=middir2 chkdir=middir2
chkrely=midrely2 chkrely=midrely2
--atprint("[advtrains] dir2 applied next pos:",minetest.pos_to_string(next),"(chkdir is ",chkdir,")") --atprint(" dir2 applied next pos:",minetest.pos_to_string(next),"(chkdir is ",chkdir,")")
end end
--atprint("[advtrains]dir applied next pos: "..(next and minetest.pos_to_string(next) or "nil").."(chkdir is "..(chkdir or "nil")..", y-offset "..y_offset..")") --atprint("dir applied next pos: "..(next and minetest.pos_to_string(next) or "nil").."(chkdir is "..(chkdir or "nil")..", y-offset "..y_offset..")")
--is there a next --is there a next
if not next then if not next then
atprint("[advtrains]in conway: no next rail(nil), returning!") atprint("in conway: no next rail(nil), returning!")
return nil return nil
end end
@ -102,36 +102,36 @@ function advtrains.conway(midreal, prev, drives_on)--in order prev,mid,return
--is it a rail? --is it a rail?
if(not nextnode_ok) then if(not nextnode_ok) then
atprint("[advtrains]in conway: next "..minetest.pos_to_string(next).." not a rail, trying one node below!") atprint("in conway: next "..minetest.pos_to_string(next).." not a rail, trying one node below!")
next.y=next.y-1 next.y=next.y-1
y_offset=y_offset-1 y_offset=y_offset-1
nextnode_ok, nextdir1, nextdir2, nextrely1, nextrely2, nextrailheight=advtrains.get_rail_info_at(advtrains.round_vector_floor_y(next), drives_on) nextnode_ok, nextdir1, nextdir2, nextrely1, nextrely2, nextrailheight=advtrains.get_rail_info_at(advtrains.round_vector_floor_y(next), drives_on)
if(not nextnode_ok) then if(not nextnode_ok) then
atprint("[advtrains]in conway: one below "..minetest.pos_to_string(next).." is not a rail either, returning!") atprint("in conway: one below "..minetest.pos_to_string(next).." is not a rail either, returning!")
return nil return nil
end end
end end
--is this next rail connecting to the mid? --is this next rail connecting to the mid?
if not ( (((nextdir1+8)%16)==chkdir and nextrely1==chkrely-y_offset) or (((nextdir2+8)%16)==chkdir and nextrely2==chkrely-y_offset) ) then if not ( (((nextdir1+8)%16)==chkdir and nextrely1==chkrely-y_offset) or (((nextdir2+8)%16)==chkdir and nextrely2==chkrely-y_offset) ) then
atprint("[advtrains]in conway: next "..minetest.pos_to_string(next).." not connecting, trying one node below!") atprint("in conway: next "..minetest.pos_to_string(next).." not connecting, trying one node below!")
next.y=next.y-1 next.y=next.y-1
y_offset=y_offset-1 y_offset=y_offset-1
nextnode_ok, nextdir1, nextdir2, nextrely1, nextrely2, nextrailheight=advtrains.get_rail_info_at(advtrains.round_vector_floor_y(next), drives_on) nextnode_ok, nextdir1, nextdir2, nextrely1, nextrely2, nextrailheight=advtrains.get_rail_info_at(advtrains.round_vector_floor_y(next), drives_on)
if(not nextnode_ok) then if(not nextnode_ok) then
atprint("[advtrains]in conway: (at connecting if check again) one below "..minetest.pos_to_string(next).." is not a rail either, returning!") atprint("in conway: (at connecting if check again) one below "..minetest.pos_to_string(next).." is not a rail either, returning!")
return nil return nil
end end
if not ( (((nextdir1+8)%16)==chkdir and nextrely1==chkrely) or (((nextdir2+8)%16)==chkdir and nextrely2==chkrely) ) then if not ( (((nextdir1+8)%16)==chkdir and nextrely1==chkrely) or (((nextdir2+8)%16)==chkdir and nextrely2==chkrely) ) then
atprint("[advtrains]in conway: one below "..minetest.pos_to_string(next).." rail not connecting, returning!") atprint("in conway: one below "..minetest.pos_to_string(next).." rail not connecting, returning!")
atprint("[advtrains] in order mid1,2,next1,2,chkdir "..middir1.." "..middir2.." "..nextdir1.." "..nextdir2.." "..chkdir) atprint(" in order mid1,2,next1,2,chkdir "..middir1.." "..middir2.." "..nextdir1.." "..nextdir2.." "..chkdir)
return nil return nil
end end
end end
--atprint("[advtrains]conway found rail.") --atprint("conway found rail.")
return vector.add(advtrains.round_vector_floor_y(next), {x=0, y=nextrailheight, z=0}), chkdir return vector.add(advtrains.round_vector_floor_y(next), {x=0, y=nextrailheight, z=0}), chkdir
end end
--TODO use this --TODO use this
@ -241,3 +241,4 @@ function advtrains.deserialize_inventory(sers, inv)
end end
return false return false
end end

View File

@ -4,8 +4,38 @@ advtrains={}
advtrains.modpath = minetest.get_modpath("advtrains") advtrains.modpath = minetest.get_modpath("advtrains")
atprint=function() end local function print_concat_table(a)
--atprint=function(t, ...) minetest.log("action", table.concat({t, ...}, " ")) minetest.chat_send_all(table.concat({t, ...}, " ")) end local str=""
local stra=""
for i=1,50 do
t=a[i]
if t==nil then
stra=stra.."nil "
else
str=str..stra
stra=""
if type(t)=="table" then
if t.x and t.y and t.z then
str=str..minetest.pos_to_string(t)
else
str=str..dump(t)
end
elseif type(t)=="boolean" then
if t then
str=str.."true"
else
str=str.."false"
end
else
str=str..t
end
str=str.." "
end
end
return str
end
--atprint=function() end
atprint=function(t, ...) minetest.log("action", "[advtrains]"..print_concat_table({t, ...})) minetest.chat_send_all("[advtrains]"..print_concat_table({t, ...})) end
sid=function(id) return string.sub(id, -4) end sid=function(id) return string.sub(id, -4) end
dofile(advtrains.modpath.."/helpers.lua"); dofile(advtrains.modpath.."/helpers.lua");

View File

@ -3,7 +3,7 @@
function advtrains.register_platform(preset) function advtrains.register_platform(preset)
local ndef=minetest.registered_nodes[preset] local ndef=minetest.registered_nodes[preset]
if not ndef then if not ndef then
minetest.log("warning", "[advtrains] register_platform couldn't find preset node "..preset) minetest.log("warning", " register_platform couldn't find preset node "..preset)
return return
end end
local btex=ndef.tiles local btex=ndef.tiles

View File

@ -20,7 +20,7 @@ for tt, _ in pairs(advtrains.all_traintypes) do
local file, err = io.open(pl_fpath, "r") local file, err = io.open(pl_fpath, "r")
if not file then if not file then
local er=err or "Unknown Error" local er=err or "Unknown Error"
atprint("[advtrains]Failed loading advtrains trackdb save file "..er) atprint("Failed loading advtrains trackdb save file "..er)
else else
--custom format to save memory --custom format to save memory
while true do while true do
@ -74,7 +74,7 @@ function advtrains.save_trackdb()
local file, err = io.open(pl_fpath, "w") local file, err = io.open(pl_fpath, "w")
if not file then if not file then
local er=err or "Unknown Error" local er=err or "Unknown Error"
atprint("[advtrains]Failed saving advtrains trackdb save file "..er) atprint("Failed saving advtrains trackdb save file "..er)
else else
--custom format to save memory --custom format to save memory
for y,tyl in pairs(advtrains.trackdb[tt]) do for y,tyl in pairs(advtrains.trackdb[tt]) do
@ -103,7 +103,7 @@ advtrains.fpath_tdb=minetest.get_worldpath().."/advtrains_trackdb2"
local file, err = io.open(advtrains.fpath_tdb, "r") local file, err = io.open(advtrains.fpath_tdb, "r")
if not file then if not file then
local er=err or "Unknown Error" local er=err or "Unknown Error"
atprint("[advtrains]Failed loading advtrains save file "..er) atprint("Failed loading advtrains save file "..er)
else else
local tbl = minetest.deserialize(file:read("*a")) local tbl = minetest.deserialize(file:read("*a"))
if type(tbl) == "table" then if type(tbl) == "table" then
@ -114,7 +114,7 @@ end
function advtrains.save_trackdb() function advtrains.save_trackdb()
local datastr = minetest.serialize(advtrains.trackdb) local datastr = minetest.serialize(advtrains.trackdb)
if not datastr then if not datastr then
minetest.log("error", "[advtrains] Failed to serialize trackdb data!") minetest.log("error", " Failed to serialize trackdb data!")
return return
end end
local file, err = io.open(advtrains.fpath_tdb, "w") local file, err = io.open(advtrains.fpath_tdb, "w")

View File

@ -370,10 +370,10 @@ end
function advtrains.get_track_connections(name, param2) function advtrains.get_track_connections(name, param2)
local nodedef=minetest.registered_nodes[name] local nodedef=minetest.registered_nodes[name]
if not nodedef then atprint("[advtrains] get_track_connections couldn't find nodedef for nodename "..(name or "nil")) return 0, 8, 0, 0, 0 end if not nodedef then atprint(" get_track_connections couldn't find nodedef for nodename "..(name or "nil")) return 0, 8, 0, 0, 0 end
local noderot=param2 local noderot=param2
if not param2 then noderot=0 end if not param2 then noderot=0 end
if noderot > 3 then atprint("[advtrains] get_track_connections: rail has invaild param2 of "..noderot) noderot=0 end if noderot > 3 then atprint(" get_track_connections: rail has invaild param2 of "..noderot) noderot=0 end
local tracktype local tracktype
for k,_ in pairs(nodedef.groups) do for k,_ in pairs(nodedef.groups) do

View File

@ -47,7 +47,7 @@ advtrains.fpath=minetest.get_worldpath().."/advtrains"
local file, err = io.open(advtrains.fpath, "r") local file, err = io.open(advtrains.fpath, "r")
if not file then if not file then
local er=err or "Unknown Error" local er=err or "Unknown Error"
atprint("[advtrains]Failed loading advtrains save file "..er) atprint("Failed loading advtrains save file "..er)
else else
local tbl = minetest.deserialize(file:read("*a")) local tbl = minetest.deserialize(file:read("*a"))
if type(tbl) == "table" then if type(tbl) == "table" then
@ -59,7 +59,7 @@ advtrains.fpath_ws=minetest.get_worldpath().."/advtrains_wagon_save"
local file, err = io.open(advtrains.fpath_ws, "r") local file, err = io.open(advtrains.fpath_ws, "r")
if not file then if not file then
local er=err or "Unknown Error" local er=err or "Unknown Error"
atprint("[advtrains]Failed loading advtrains save file "..er) atprint("Failed loading advtrains save file "..er)
else else
local tbl = minetest.deserialize(file:read("*a")) local tbl = minetest.deserialize(file:read("*a"))
if type(tbl) == "table" then if type(tbl) == "table" then
@ -70,11 +70,11 @@ end
advtrains.save = function() advtrains.save = function()
atprint("[advtrains]saving") atprint("saving")
advtrains.invalidate_all_paths() advtrains.invalidate_all_paths()
local datastr = minetest.serialize(advtrains.trains) local datastr = minetest.serialize(advtrains.trains)
if not datastr then if not datastr then
minetest.log("error", "[advtrains] Failed to serialize train data!") minetest.log("error", " Failed to serialize train data!")
return return
end end
local file, err = io.open(advtrains.fpath, "w") local file, err = io.open(advtrains.fpath, "w")
@ -108,7 +108,7 @@ advtrains.save = function()
--atprint(dump(advtrains.wagon_save)) --atprint(dump(advtrains.wagon_save))
datastr = minetest.serialize(advtrains.wagon_save) datastr = minetest.serialize(advtrains.wagon_save)
if not datastr then if not datastr then
minetest.log("error", "[advtrains] Failed to serialize train data!") minetest.log("error", " Failed to serialize train data!")
return return
end end
file, err = io.open(advtrains.fpath_ws, "w") file, err = io.open(advtrains.fpath_ws, "w")
@ -236,7 +236,7 @@ function advtrains.train_step(id, train, dtime)
--remove? --remove?
if #train.trainparts==0 then if #train.trainparts==0 then
atprint("[advtrains][train "..sid(id).."] has empty trainparts, removing.") atprint("[train "..sid(id).."] has empty trainparts, removing.")
advtrains.detector.leave_node(path[train.detector_old_index], id) advtrains.detector.leave_node(path[train.detector_old_index], id)
advtrains.trains[id]=nil advtrains.trains[id]=nil
return return
@ -284,7 +284,7 @@ function advtrains.train_step(id, train, dtime)
local node_range=(math.max((minetest.setting_get("active_block_range") or 0),1)*16) local node_range=(math.max((minetest.setting_get("active_block_range") or 0),1)*16)
if train.check_trainpartload<=0 then if train.check_trainpartload<=0 then
local ori_pos=advtrains.get_real_index_position(path, train.index) --not much to calculate local ori_pos=advtrains.get_real_index_position(path, train.index) --not much to calculate
--atprint("[advtrains][train "..id.."] at "..minetest.pos_to_string(vector.round(ori_pos))) --atprint("[train "..id.."] at "..minetest.pos_to_string(vector.round(ori_pos)))
local should_check=false local should_check=false
for _,p in ipairs(minetest.get_connected_players()) do for _,p in ipairs(minetest.get_connected_players()) do
@ -417,7 +417,7 @@ function advtrains.pathpredict(id, train)
if not train.path or #train.path<2 then if not train.path or #train.path<2 then
if not train.last_pos then if not train.last_pos then
--no chance to recover --no chance to recover
atprint("[advtrains]train hasn't saved last-pos, removing train.") atprint("train hasn't saved last-pos, removing train.")
advtrains.train[id]=nil advtrains.train[id]=nil
return false return false
end end
@ -426,17 +426,17 @@ function advtrains.pathpredict(id, train)
if node_ok==nil then if node_ok==nil then
--block not loaded, do nothing --block not loaded, do nothing
atprint("[advtrains]last_pos not available") atprint("last_pos not available")
return nil return nil
elseif node_ok==false then elseif node_ok==false then
atprint("[advtrains]no track here, (fail) removing train.") atprint("no track here, (fail) removing train.")
advtrains.trains[id]=nil advtrains.trains[id]=nil
return false return false
end end
if not train.last_pos_prev then if not train.last_pos_prev then
--no chance to recover --no chance to recover
atprint("[advtrains]train hasn't saved last-pos_prev, removing train.") atprint("train hasn't saved last-pos_prev, removing train.")
advtrains.trains[id]=nil advtrains.trains[id]=nil
return false return false
end end
@ -445,10 +445,10 @@ function advtrains.pathpredict(id, train)
if prevnode_ok==nil then if prevnode_ok==nil then
--block not loaded, do nothing --block not loaded, do nothing
atprint("[advtrains]prev not available") atprint("prev not available")
return nil return nil
elseif prevnode_ok==false then elseif prevnode_ok==false then
atprint("[advtrains]no track at prev, (fail) removing train.") atprint("no track at prev, (fail) removing train.")
advtrains.trains[id]=nil advtrains.trains[id]=nil
return false return false
end end
@ -476,7 +476,7 @@ function advtrains.pathpredict(id, train)
local maxn=train.max_index_on_track or 0 local maxn=train.max_index_on_track or 0
while (maxn-train.index) < pregen_front do--pregenerate while (maxn-train.index) < pregen_front do--pregenerate
--atprint("[advtrains]maxn conway for ",maxn,minetest.pos_to_string(path[maxn]),maxn-1,minetest.pos_to_string(path[maxn-1])) --atprint("maxn conway for ",maxn,minetest.pos_to_string(path[maxn]),maxn-1,minetest.pos_to_string(path[maxn-1]))
local conway=advtrains.conway(train.path[maxn], train.path[maxn-1], train.drives_on) local conway=advtrains.conway(train.path[maxn], train.path[maxn-1], train.drives_on)
if conway then if conway then
train.path[maxn+1]=conway train.path[maxn+1]=conway
@ -493,7 +493,7 @@ function advtrains.pathpredict(id, train)
local minn=train.min_index_on_track or 0 local minn=train.min_index_on_track or 0
while (train.index-minn) < (train.trainlen or 0) + pregen_back do --post_generate. has to be at least trainlen. (we let go of the exact calculation here since this would be unuseful here) while (train.index-minn) < (train.trainlen or 0) + pregen_back do --post_generate. has to be at least trainlen. (we let go of the exact calculation here since this would be unuseful here)
--atprint("[advtrains]minn conway for ",minn,minetest.pos_to_string(path[minn]),minn+1,minetest.pos_to_string(path[minn+1])) --atprint("minn conway for ",minn,minetest.pos_to_string(path[minn]),minn+1,minetest.pos_to_string(path[minn+1]))
local conway=advtrains.conway(train.path[minn], train.path[minn+1], train.drives_on) local conway=advtrains.conway(train.path[minn], train.path[minn+1], train.drives_on)
if conway then if conway then
train.path[minn-1]=conway train.path[minn-1]=conway
@ -558,10 +558,11 @@ function advtrains.update_trainpart_properties(train_id, invert_flipstate)
local count_l=0 local count_l=0
for i, w_id in ipairs(train.trainparts) do for i, w_id in ipairs(train.trainparts) do
local wagon=nil local wagon=nil
for _,iwagon in pairs(minetest.luaentities) do for aoid,iwagon in pairs(minetest.luaentities) do
if iwagon.is_wagon and iwagon.initialized and iwagon.unique_id==w_id then if iwagon.is_wagon and iwagon.initialized and iwagon.unique_id==w_id then
if wagon then if wagon then
--duplicate --duplicate
atprint("update_trainpart_properties: Removing duplicate wagon with id="..aoid)
iwagon.object:remove() iwagon.object:remove()
else else
wagon=iwagon wagon=iwagon

View File

@ -47,7 +47,7 @@ end
wagon will save only uid in staticdata, no serialized table wagon will save only uid in staticdata, no serialized table
]] ]]
function wagon:on_activate(sd_uid, dtime_s) function wagon:on_activate(sd_uid, dtime_s)
atprint("[advtrains][wagon "..((sd_uid and sd_uid~="" and sd_uid) or "no-id").."] activated") atprint("[wagon "..((sd_uid and sd_uid~="" and sd_uid) or "no-id").."] activated")
self.object:set_armor_groups({immortal=1}) self.object:set_armor_groups({immortal=1})
if sd_uid and sd_uid~="" then if sd_uid and sd_uid~="" then
--legacy --legacy
@ -63,7 +63,7 @@ function wagon:on_activate(sd_uid, dtime_s)
--duplicates? --duplicates?
for ao_id,wagon in pairs(minetest.luaentities) do for ao_id,wagon in pairs(minetest.luaentities) do
if wagon.is_wagon and wagon.initialized and wagon.unique_id==self.unique_id and wagon~=self then--i am a duplicate! if wagon.is_wagon and wagon.initialized and wagon.unique_id==self.unique_id and wagon~=self then--i am a duplicate!
atprint("[advtrains][wagon "..((sd_uid and sd_uid~="" and sd_uid) or "no-id").."] duplicate found(ao_id:"..ao_id.."), removing") atprint("[wagon "..((sd_uid and sd_uid~="" and sd_uid) or "no-id").."] duplicate found(ao_id:"..ao_id.."), removing")
self.object:remove() self.object:remove()
minetest.after(0.5, function() advtrains.update_trainpart_properties(self.train_id) end) minetest.after(0.5, function() advtrains.update_trainpart_properties(self.train_id) end)
return return
@ -77,7 +77,7 @@ end
function wagon:get_staticdata() function wagon:get_staticdata()
if not self:ensure_init() then return end if not self:ensure_init() then return end
atprint("[advtrains][wagon "..((self.unique_id and self.unique_id~="" and self.unique_id) or "no-id").."]: saving to wagon_save") atprint("[wagon "..((self.unique_id and self.unique_id~="" and self.unique_id) or "no-id").."]: saving to wagon_save")
--serialize inventory, if it has one --serialize inventory, if it has one
if self.has_inventory then if self.has_inventory then
local inv=minetest.get_inventory({type="detached", name="advtrains_wgn_"..self.unique_id}) local inv=minetest.get_inventory({type="detached", name="advtrains_wgn_"..self.unique_id})
@ -209,7 +209,7 @@ function wagon:destroy()
self.custom_on_destroy(self, puncher, time_from_last_punch, tool_capabilities, direction) self.custom_on_destroy(self, puncher, time_from_last_punch, tool_capabilities, direction)
end end
atprint("[advtrains][wagon "..((self.unique_id and self.unique_id~="" and self.unique_id) or "no-id").."]: destroying") atprint("[wagon "..((self.unique_id and self.unique_id~="" and self.unique_id) or "no-id").."]: destroying")
self.object:remove() self.object:remove()
@ -236,7 +236,7 @@ function wagon:on_step(dtime)
--is my train still here --is my train still here
if not self.train_id or not self:train() then if not self.train_id or not self:train() then
atprint("[advtrains][wagon "..self.unique_id.."] missing train_id, destroying") atprint("[wagon "..self.unique_id.."] missing train_id, destroying")
self.object:remove() self.object:remove()
return return
elseif not self.initialized then elseif not self.initialized then
@ -317,7 +317,7 @@ function wagon:on_step(dtime)
local first_pos=gp.path[math.floor(index)] local first_pos=gp.path[math.floor(index)]
local second_pos=gp.path[math.floor(index)+1] local second_pos=gp.path[math.floor(index)+1]
if not first_pos or not second_pos then if not first_pos or not second_pos then
--atprint("[advtrains] object "..self.unique_id.." path end reached!") --atprint(" object "..self.unique_id.." path end reached!")
self.object:setvelocity({x=0,y=0,z=0}) self.object:setvelocity({x=0,y=0,z=0})
return return
end end
@ -533,10 +533,10 @@ function advtrains.register_wagon(sysname, prototype, desc, inv_img)
end end
local node=minetest.env:get_node_or_nil(pointed_thing.under) local node=minetest.env:get_node_or_nil(pointed_thing.under)
if not node then atprint("[advtrains]Ignore at placer position") return itemstack end if not node then atprint("Ignore at placer position") return itemstack end
local nodename=node.name local nodename=node.name
if(not advtrains.is_track_and_drives_on(nodename, prototype.drives_on)) then if(not advtrains.is_track_and_drives_on(nodename, prototype.drives_on)) then
atprint("[advtrains]no track here, not placing.") atprint("no track here, not placing.")
return itemstack return itemstack
end end
local conn1=advtrains.get_track_connections(node.name, node.param2) local conn1=advtrains.get_track_connections(node.name, node.param2)
@ -544,7 +544,7 @@ function advtrains.register_wagon(sysname, prototype, desc, inv_img)
local ob=minetest.env:add_entity(pointed_thing.under, "advtrains:"..sysname) local ob=minetest.env:add_entity(pointed_thing.under, "advtrains:"..sysname)
if not ob then if not ob then
atprint("[advtrains]couldn't add_entity, aborting") atprint("couldn't add_entity, aborting")
end end
local le=ob:get_luaentity() local le=ob:get_luaentity()