From 5f0a93b9ffb7b0f42b2748b420b57195ca9b67e1 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Tue, 5 Sep 2023 20:30:14 +0200 Subject: [PATCH] Add `minetest.set_player_privs` strictness --- minetest.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/minetest.lua b/minetest.lua index de27654..c62b1d9 100644 --- a/minetest.lua +++ b/minetest.lua @@ -206,6 +206,19 @@ deprecated(ItemStackMT, "stack:", { set_metadata = "get_meta()", }) +local set_player_privs = minetest.set_player_privs +function minetest.set_player_privs(name, privs) + assert(type(privs) == "table", "privs should be a table") + for _, v in pairs(privs) do + if v == false then + action"`false` value in `privs`, this is almost certainly a bug granting a privilege rather than revoking it" + elseif v ~= true then + action"non-`true` value in `privs` set" -- code smell + end + end + return set_player_privs(name, privs) +end + --[[ TODO: implement the following deprecations: - Tile def `image` field (replaced by `name`)