aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/game/item.lua8
-rw-r--r--builtin/settingtypes.txt4
-rw-r--r--doc/lua_api.txt2
3 files changed, 11 insertions, 3 deletions
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index 513c3a5e1..3aaa71ef2 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -675,6 +675,8 @@ end
-- Item definition defaults
--
+local default_stack_max = tonumber(minetest.settings:get("default_stack_max")) or 99
+
core.nodedef_default = {
-- Item properties
type="node",
@@ -684,7 +686,7 @@ core.nodedef_default = {
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
- stack_max = 99,
+ stack_max = default_stack_max,
usable = false,
liquids_pointable = false,
tool_capabilities = nil,
@@ -748,7 +750,7 @@ core.craftitemdef_default = {
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
- stack_max = 99,
+ stack_max = default_stack_max,
liquids_pointable = false,
tool_capabilities = nil,
@@ -786,7 +788,7 @@ core.noneitemdef_default = { -- This is used for the hand and unknown items
inventory_image = "",
wield_image = "",
wield_scale = {x=1,y=1,z=1},
- stack_max = 99,
+ stack_max = default_stack_max,
liquids_pointable = false,
tool_capabilities = nil,
diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt
index 101b32a24..b9228f384 100644
--- a/builtin/settingtypes.txt
+++ b/builtin/settingtypes.txt
@@ -1079,6 +1079,10 @@ map-dir (Map directory) path
# Setting it to -1 disables the feature.
item_entity_ttl (Item entity TTL) int 900
+# Specifies the default stack size of nodes, items and tools.
+# Note that mods or games may explicitly set a stack for certain (or all) items.
+default_stack_max (Default stack size) int 99
+
# Enable players getting damage and dying.
enable_damage (Damage) bool false
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index f43987cd8..ccb605c8e 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -6735,6 +6735,8 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
wield_scale = {x = 1, y = 1, z = 1},
+ -- The default value of 99 may be configured by
+ -- users using the setting "default_stack_max"
stack_max = 99,
range = 4.0,