mods creative - fix creative mode mod backguard compatibility for all engines

* dont follow the creative upstream mod,
  its just wrapper around get_bool(creative) setting, so create a check privilegie
  function and provide backguard compatibility checks
This commit is contained in:
mckaygerhard 2023-07-13 10:26:06 -05:00
parent 71dd817119
commit c770d5cb43

View File

@ -68,28 +68,24 @@ minetest.register_privilege("creative", privs_definition)
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
-- backguard compatibility
function creative.is_creative(name)
if creative.is_53 then
function minetest.is_creative_enabled(name)
if name == "" then
return minetest.is_creative_enabled(name)
else
return minetest.check_player_privs(name, {creative = true}) or creative_mode_cache
end
return creative_mode_cache
else
return minetest.check_player_privs(name, {creative = true}) or creative_mode_cache
end
end
-- Override the engine's creative mode function
local old_is_creative_enabled = creative.is_creative
function minetest.is_creative_enabled(name)
-- backguard compatibility
function creative.is_creative(name)
if name == "" then
return old_is_creative_enabled(name)
return creative_mode_cache
else
return minetest.check_player_privs(name, {creative = true}) or creative_mode_cache
end
return minetest.check_player_privs(name, {creative = true}) or old_is_creative_enabled(name)
end
-- For backwards compatibility:
function creative.is_enabled_for(name)
return creative.is_creative(name)
@ -352,7 +348,6 @@ else
end
creative.register_tab("all", "Creative", minetest.registered_items)
--creative.register_tab("all", "All", minetest.registered_items)
--creative.register_tab("nodes", "Nodes", minetest.registered_nodes)
--creative.register_tab("tools", "Tools", minetest.registered_tools)
--creative.register_tab("craftitems", "Items", minetest.registered_craftitems)