Fix node database ATC rail bug
After successfully registering newly-placed ATC rails in the nodedb, the rail's after_place_node() callback (local apn_func()) immediately cleared it again by passing a "node" object that was actually a player object and thus had no "name" or "param2" to ndb.update(), which it handled how it should not in this situation. Since those ndb.update calls were unnecessary anyways, I removed them completely.
This commit is contained in:
parent
267ce6fe6d
commit
fe4b4a695a
@ -78,8 +78,8 @@ end
|
||||
|
||||
--nodes
|
||||
local idxtrans={static=1, mesecon=2, digiline=3}
|
||||
local apn_func=function(pos, node)
|
||||
advtrains.ndb.update(pos, node)
|
||||
local apn_func=function(pos)
|
||||
-- FIX for long-persisting ndb bug: there's no node in parameter 2 of this function!
|
||||
local meta=minetest.get_meta(pos)
|
||||
if meta then
|
||||
meta:set_string("infotext", attrans("ATC controller, unconfigured."))
|
||||
|
@ -153,10 +153,13 @@ function ndb.update(pos, pnode)
|
||||
nid=#ndb_nodeids+1
|
||||
ndb_nodeids[nid]=node.name
|
||||
end
|
||||
ndbset(pos.x, pos.y, pos.z, (nid * 4) + (l2b(node.param2 or 0)) )
|
||||
--atprint("nodedb: updating node", pos, "stored nid",nid,"assigned",ndb_nodeids[nid],"resulting cid",ndb_nodes[hash])
|
||||
local resid = (nid * 4) + (l2b(node.param2 or 0))
|
||||
ndbset(pos.x, pos.y, pos.z, resid )
|
||||
--atdebug("nodedb: updating node", pos, "stored nid",nid,"assigned",ndb_nodeids[nid],"resulting cid",resid)
|
||||
advtrains.invalidate_all_paths(pos)
|
||||
else
|
||||
--at this position there is no longer a node that needs to be tracked.
|
||||
--atdebug("nodedb: updating node", pos, "cleared")
|
||||
ndbset(pos.x, pos.y, pos.z, nil)
|
||||
end
|
||||
end
|
||||
|
@ -12,7 +12,6 @@ function ac.save()
|
||||
end
|
||||
|
||||
function ac.after_place_node(pos, player)
|
||||
advtrains.ndb.update(pos)
|
||||
local meta=minetest.get_meta(pos)
|
||||
meta:set_string("formspec", ac.getform(pos, meta))
|
||||
meta:set_string("infotext", "LuaAutomation component, unconfigured.")
|
||||
|
Loading…
x
Reference in New Issue
Block a user