mirror of
https://github.com/minetest-mods/technic.git
synced 2024-12-28 08:27:34 +01:00
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:
parent
521c0b74bb
commit
21e044478e
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user