From 3470687be0af7254aca478ead1e9c72757edf070 Mon Sep 17 00:00:00 2001 From: orwell Date: Tue, 27 May 2025 21:17:10 +0200 Subject: Add CH dependencies temporarily. Before merge to master should remove them again and split out util functions (e.g. formspec lib) --- ch_core/vgroups.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ch_core/vgroups.lua (limited to 'ch_core/vgroups.lua') diff --git a/ch_core/vgroups.lua b/ch_core/vgroups.lua new file mode 100644 index 0000000..5b43fd8 --- /dev/null +++ b/ch_core/vgroups.lua @@ -0,0 +1,32 @@ +ch_core.open_submod("vgroups") + +local vgroups = {} +local private_vgroups = {} + +function ch_core.create_private_vgroup(vgroup, tbl) + if vgroups[vgroup] then + error("Vgroup "..vgroup.." demanded as private already exists!") + end + local result = tbl or {} + vgroups[vgroup] = result + private_vgroups[vgroup] = true + return result +end + +function ch_core.get_shared_vgroup(vgroup) + if private_vgroups[vgroup] then + error("Vgroup "..vgroup.." is private!") + end + local result = vgroups[vgroup] + if not result then + result = {} + vgroups[vgroup] = result + end + return result +end + +function ch_core.try_read_vgroup(vgroup) + return vgroups[vgroup] +end + +ch_core.close_submod("vgroups") -- cgit v1.2.3