69 lines
2.4 KiB
Lua
69 lines
2.4 KiB
Lua
waterworks = {}
|
|
|
|
local modpath = minetest.get_modpath(minetest.get_current_modname())
|
|
|
|
|
|
dofile(modpath .. "/execute.lua")
|
|
dofile(modpath .. "/nodes.lua")
|
|
|
|
if minetest.settings:get_bool("waterworks_make_default_water_non_renewable") then
|
|
local override_def = {liquid_renewable = false}
|
|
minetest.override_item("default:water_source", override_def)
|
|
minetest.override_item("default:water_flowing", override_def)
|
|
|
|
end
|
|
|
|
-- This rebuilds pipe networks whenever the map block is loaded.
|
|
-- May be useful for fixing broken stuff.
|
|
-- Note that this doesn't *remove* pipes that are inappropriately listed in the network,
|
|
-- that may be tricky.
|
|
--minetest.register_lbm({
|
|
-- label = "Validate waterworks pipe networks",
|
|
-- name = "waterworks:validate_pipe_networks",
|
|
-- nodenames = {"group:waterworks_pipe"},
|
|
-- run_at_every_load = true,
|
|
-- action = function(pos, node)
|
|
-- local hash_pos = minetest.hash_node_position(pos)
|
|
-- local found = false
|
|
-- for i, net in ipairs(waterworks.pipe_networks) do
|
|
-- if net.pipes[hash_pos] then
|
|
-- found = true
|
|
-- break
|
|
-- end
|
|
-- end
|
|
-- if not found then
|
|
-- local new_net_index = waterworks.place_pipe(pos)
|
|
-- minetest.log("warning", "[waterworks] detected an unregistered pipe at " ..
|
|
-- minetest.pos_to_string(pos) .. ", added it to pipe network " ..
|
|
-- tostring(new_net_index))
|
|
-- end
|
|
-- end,
|
|
--})
|
|
|
|
--minetest.register_chatcommand("dump_pipes", {
|
|
---- params = "pos", -- Short parameter description
|
|
-- description = "dump pipe network to debug log",
|
|
-- func = function(name, param)
|
|
-- --minetest.debug(dump(pipe_networks))
|
|
--
|
|
-- for i, net in ipairs(waterworks.pipe_networks) do
|
|
-- minetest.debug("net #" .. tostring(i) .. " cache valid: " .. dump(net.cache_valid))
|
|
-- minetest.debug("\tpipes:")
|
|
-- local count = 0
|
|
-- for hash_pos, _ in pairs(net.pipes) do
|
|
-- minetest.debug("\t\t"..minetest.pos_to_string(minetest.get_position_from_hash(hash_pos)))
|
|
-- count = count + 1
|
|
-- end
|
|
-- minetest.debug("\tpipe count: " .. tostring(count))
|
|
-- minetest.debug("\tconnections:")
|
|
-- for connection_type, connection_list in pairs(net.connected) do
|
|
-- minetest.debug("\t\t"..connection_type..":")
|
|
-- for connection_hash, data in pairs(connection_list) do
|
|
-- minetest.debug("\t\t\t"..minetest.pos_to_string(minetest.get_position_from_hash(connection_hash))..": "..string.gsub(string.gsub(dump(data), "\t", ""), "\n", " "))
|
|
-- end
|
|
-- end
|
|
-- end
|
|
--
|
|
-- end,
|
|
--})
|