From ae632fe773df6f27191999c4ef4dfef637fbe839 Mon Sep 17 00:00:00 2001 From: AFCMS Date: Thu, 29 Jun 2023 09:03:48 +0200 Subject: [PATCH] Fixes in `mcl_inventory` - Fix (yet another) rebase conflict - Remove unused code and annotations - Fix annotations in `mcl_gamemode` to https://github.com/minetest-toolkit/minetest-lsp-api --- mods/HUD/mcl_inventory/init.lua | 30 +++++++++--------------------- mods/PLAYER/mcl_gamemode/init.lua | 10 ++++------ 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/mods/HUD/mcl_inventory/init.lua b/mods/HUD/mcl_inventory/init.lua index 52fbd268b..c99f8c386 100644 --- a/mods/HUD/mcl_inventory/init.lua +++ b/mods/HUD/mcl_inventory/init.lua @@ -1,9 +1,3 @@ -local S = minetest.get_translator(minetest.get_current_modname()) -local F = minetest.formspec_escape - ----get_inventory can return nil if object isn't a player, but we are sure sometimes this is one :) ----@diagnostic disable need-check-nil - mcl_inventory = {} dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/creative.lua") @@ -13,10 +7,10 @@ dofile(minetest.get_modpath(minetest.get_current_modname()) .. "/survival.lua") --local mod_craftguide = minetest.get_modpath("mcl_craftguide") ---Returns a single itemstack in the given inventory to the main inventory, or drop it when there's no space left. ----@param itemstack ItemStack ----@param dropper ObjectRef ----@param pos Vector ----@param inv InvRef +---@param itemstack mt.ItemStack +---@param dropper mt.ObjectRef +---@param pos mt.Vector +---@param inv mt.InvRef local function return_item(itemstack, dropper, pos, inv) if dropper:is_player() then -- Return to main inventory @@ -45,7 +39,7 @@ local function return_item(itemstack, dropper, pos, inv) end ---Return items in the given inventory list (name) to the main inventory, or drop them if there is no space left. ----@param player ObjectRef +---@param player mt.PlayerObjectRef ---@param name string local function return_fields(player, name) local inv = player:get_inventory() @@ -59,7 +53,7 @@ local function return_fields(player, name) end end ----@param player ObjectRef +---@param player mt.PlayerObjectRef ---@param armor_change_only? boolean local function set_inventory(player, armor_change_only) if minetest.is_creative_enabled(player:get_player_name()) then @@ -133,17 +127,11 @@ minetest.register_on_joinplayer(function(player) return_fields(player, "enchanting_lapis") end) ----@param player ObjectRef ----@param armor_change_only? boolean -function mcl_inventory.update_inventory(player, armor_change_only) +---@param player mt.PlayerObjectRef +function mcl_inventory.update_inventory(player) local player_gamemode = mcl_gamemode.get_gamemode(player) if player_gamemode == "creative" then - if armor_change_only then - -- Stay on survival inventory page if only the armor has been changed - mcl_inventory.set_creative_formspec(player, 0, 0, nil, nil, "inv") - else - mcl_inventory.set_creative_formspec(player, 0, 1) - end + mcl_inventory.set_creative_formspec(player) elseif player_gamemode == "survival" then player:set_inventory_formspec(mcl_inventory.build_survival_formspec(player)) end diff --git a/mods/PLAYER/mcl_gamemode/init.lua b/mods/PLAYER/mcl_gamemode/init.lua index 9b23922a4..aa2c2ba0c 100644 --- a/mods/PLAYER/mcl_gamemode/init.lua +++ b/mods/PLAYER/mcl_gamemode/init.lua @@ -1,5 +1,3 @@ ----@diagnostic disable lowercase-global - local S = minetest.get_translator("mcl_gamemode") mcl_gamemode = {} @@ -19,15 +17,15 @@ local function in_table(n, h) return false end ----@type fun(player: ObjectRef, old_gamemode: '"survival"'|'"creative"', new_gamemode: '"survival"'|'"creative"')[] +---@type fun(player: mt.PlayerObjectRef, old_gamemode: '"survival"'|'"creative"', new_gamemode: '"survival"'|'"creative"')[] mcl_gamemode.registered_on_gamemode_change = {} ----@param func fun(player: ObjectRef, old_gamemode: '"survival"'|'"creative"', new_gamemode: '"survival"'|'"creative"') +---@param func fun(player: mt.PlayerObjectRef, old_gamemode: '"survival"'|'"creative"', new_gamemode: '"survival"'|'"creative"') function mcl_gamemode.register_on_gamemode_change(func) table.insert(mcl_gamemode.registered_on_gamemode_change, func) end ----@param player ObjectRef +---@param player mt.PlayerObjectRef ---@param gamemode '"survival"'|'"creative"' function mcl_gamemode.set_gamemode(player, gamemode) local meta = player:get_meta() @@ -40,7 +38,7 @@ end local mt_is_creative_enabled = minetest.is_creative_enabled ----@param player ObjectRef +---@param player mt.PlayerObjectRef ---@return '"survival"'|'"creative"' function mcl_gamemode.get_gamemode(player) if mt_is_creative_enabled(player:get_player_name()) then