diff --git a/doc/functions.md b/doc/functions.md index d8fff91..bb0657f 100644 --- a/doc/functions.md +++ b/doc/functions.md @@ -14,3 +14,18 @@ supports * minetest game default if present * else polyfill + +## `get_default_stack_max()` + +returns `number` + +checks the current game against a table of games with their default stack_max + +supports + +* minetest game +* mineclonia +* farlands reloaded +* hades revisited +* exile +* devtest diff --git a/src/functions.lua b/src/functions.lua index 51700b9..408f9c9 100644 --- a/src/functions.lua +++ b/src/functions.lua @@ -52,4 +52,18 @@ function functions.sapling_on_place( return itemstack end -return functions \ No newline at end of file +function functions.get_default_stack_max() + local game_stack_table = { + -- Only include games that use a different default stack_max + mineclonia = 64, + exile = 288, + } + for game, stack in pairs(game_stack_table) do + if game == xcompat.gameid then + return stack + end + end + return tonumber(core.settings:get("default_stack_max")) or 99 +end + +return functions