0
0
Fork 0

Use utility function for checking survival/creative mode on player.

This commit is contained in:
James Clarke 2024-01-17 13:12:48 +00:00
parent be175ebf7d
commit aa996c5250
2 changed files with 6 additions and 6 deletions

View File

@ -86,12 +86,11 @@ end)
---@param player mt.PlayerObjectRef
function mcl_inventory.update_inventory(player)
local player_gamemode = player:get_meta():get_string("gamemode")
if player_gamemode == "" then player_gamemode = "survival" end
if player_gamemode == "creative" then
local player_name = player:get_player_name()
local is_gamemode_creative = minetest.is_creative_enabled(player_name)
if is_gamemode_creative then
mcl_inventory.set_creative_formspec(player)
elseif player_gamemode == "survival" then
elseif not is_gamemode_creative then
player:set_inventory_formspec(mcl_inventory.build_survival_formspec(player))
end
mcl_meshhand.update_player(player)

View File

@ -201,8 +201,9 @@ function mcl_inventory.build_survival_formspec(player)
end
minetest.register_on_player_receive_fields(function(player, formname, fields)
local player_name = player:get_player_name()
if formname == "" and #mcl_inventory.registered_survival_inventory_tabs ~= 1 and
player:get_meta():get_string("gamemode") ~= "creative" then
not minetest.is_creative_enabled(player_name) then
for _, d in ipairs(mcl_inventory.registered_survival_inventory_tabs) do
if fields["tab_" .. d.id] and d.access(player) then
player_current_tab[player] = d.id