forked from minetest-mods/technic
		
	Fix battery box charging issues caused by out of sync functions
This code should be merged in the future to avoid such issues.
This commit is contained in:
		| @@ -67,7 +67,7 @@ local function clear_networks(pos) | ||||
| 				local tier = network.tier | ||||
|  | ||||
| 				-- Actually add it to the (cached) network | ||||
| 				-- This is similar to check_node_subp | ||||
| 				-- !! IMPORTANT: ../switching_station.lua -> check_node_subp() must be kept in sync | ||||
| 				technic.cables[minetest.hash_node_position(pos)] = network_id | ||||
| 				pos.visited = 1 | ||||
| 				if technic.is_tier_cable(node.name, tier) then | ||||
| @@ -76,7 +76,7 @@ local function clear_networks(pos) | ||||
| 				elseif technic.machines[tier][node.name] then | ||||
| 					-- Found a machine | ||||
| 					local eu_type = technic.machines[tier][node.name] | ||||
| 					meta:set_string(tier.."_network", string.format("%X", network_id)) | ||||
| 					meta:set_string(tier.."_network", string.format("%.20g", network_id)) | ||||
| 					if     eu_type == technic.producer then | ||||
| 						table.insert(network.PR_nodes, pos) | ||||
| 					elseif eu_type == technic.receiver then | ||||
|   | ||||
| @@ -117,6 +117,7 @@ local function add_cable_node(nodes, pos, network_id, queue) | ||||
| end | ||||
|  | ||||
| -- Generic function to add found connected nodes to the right classification array | ||||
| -- !! IMPORTANT: register/cables.lua -> clear_networks() must be kept in sync | ||||
| local check_node_subp = function(network, pos, machines, sw_pos, from_below, network_id, queue) | ||||
| 	technic.get_or_load_node(pos) | ||||
| 	local name = minetest.get_node(pos).name | ||||
| @@ -134,7 +135,7 @@ local check_node_subp = function(network, pos, machines, sw_pos, from_below, net | ||||
| 	--dprint(name.." is a "..machines[name]) | ||||
| 	local meta = minetest.get_meta(pos) | ||||
| 	-- Normal tostring() does not have enough precision, neither does meta:set_int() | ||||
| 	-- Bug: Cannot use hexadecimal notation for compression (LuaJIT Windows bug, #911) | ||||
| 	-- Lua 5.1 bug: Cannot use hexadecimal notation for compression (see LuaJIT #911) | ||||
| 	meta:set_string(network.tier.."_network", string.format("%.20g", network_id)) | ||||
|  | ||||
| 	if     eu_type == technic.producer then | ||||
|   | ||||
		Reference in New Issue
	
	Block a user