From 78bd21f09f5fa46ae4e5eb4b084f17f4f290b4f5 Mon Sep 17 00:00:00 2001 From: Sheriff-Unit-3 <210896603+Sheriff-Unit-3@users.noreply.github.com> Date: Fri, 4 Sep 2026 21:57:54 -0500 Subject: [PATCH] Add xcompat support for stack_max --- doc/functions.md | 15 +++++++++++++++ src/functions.lua | 16 +++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) 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