Add default stack size setting (#8873)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Mon, 13 Apr 2020 08:53:10 +0000 (10:53 +0200)
committerGitHub <noreply@github.com>
Mon, 13 Apr 2020 08:53:10 +0000 (10:53 +0200)
New setting "default_stack_max" to alter the default stack sizes of all items when desired.

Co-authored-by: Pascal Abresch <nep@packageloss.eu>
builtin/game/item.lua
builtin/settingtypes.txt
doc/lua_api.txt

index 513c3a5e194f2296de98d7d9d5ef725e162bf350..3aaa71ef23a47cc32a6223061e90bd8dcd36feea 100644 (file)
@@ -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,
 
index 101b32a2489c2edc11fd0987832d26ec9b072f51..b9228f38418d2a0f1d38bf4ee8773aafdff3340a 100644 (file)
@@ -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
 
index f43987cd84a1593e8538fefa8675af34d4094d90..ccb605c8e7cdd51b88dd2c8ba807504a5fe235ce 100644 (file)
@@ -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,