From 9c961394ecf9ae13f633a5b8d1875074ff42f2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20=C3=85str=C3=B6m?= Date: Wed, 17 Mar 2021 17:50:52 +0100 Subject: [PATCH] Automatically assign nodes to creative_breakable If they belong to any digging group. --- mods/CORE/_mcl_autogroup/init.lua | 8 +++++++ mods/ITEMS/mcl_tools/init.lua | 37 +++++++++++-------------------- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/mods/CORE/_mcl_autogroup/init.lua b/mods/CORE/_mcl_autogroup/init.lua index 86bef08b..345bfd30 100644 --- a/mods/CORE/_mcl_autogroup/init.lua +++ b/mods/CORE/_mcl_autogroup/init.lua @@ -311,9 +311,12 @@ local overwrite = function() newgroups.opaque = 1 end + local creative_breakable = false + -- Assign groups used for digging this node depending on -- the registered digging groups for g, gdef in pairs(mcl_autogroup.registered_diggroups) do + creative_breakable = true local index = hardness_lookup[g][ndef._mcl_hardness or 0] if ndef.groups[g] then if gdef.levels then @@ -328,6 +331,11 @@ local overwrite = function() end end + -- Automatically assign the node to the + -- creative_breakable group if it belongs to any digging + -- group. + newgroups["creative_breakable"] = 1 + minetest.override_item(nname, { groups = newgroups }) diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index da7c06a3..3004a830 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -19,35 +19,14 @@ dig_speed_class group: -- The hand local groupcaps, hand_range, hand_groups + if minetest.is_creative_enabled("") then -- Instant breaking in creative mode - groupcaps = {} + groupcaps = { creative_breakable = { times = {0}, uses = 0 } } hand_range = 10 hand_groups = { dig_speed_class = 7 } - hand_autogroup_groupcaps = { - handy = { tool_multiplier = 1000, level = 1, uses = 0 }, - axey = { tool_multiplier = 1000, level = 1, uses = 0 }, - pickaxey = { tool_multiplier = 1000, level = 5, uses = 0 }, - shovely = { tool_multiplier = 1000, level = 1, uses = 0 }, - swordy = { tool_multiplier = 1000, level = 1, uses = 0 }, - swordy_cobweb = { tool_multiplier = 1000, level = 1, uses = 0 }, - shearsy = { tool_multiplier = 1000, level = 1, uses = 0 }, - shearsy_wool = { tool_multiplier = 1000, level = 1, uses = 0 }, - shearsy_cobweb = { tool_multiplier = 1000, level = 1, uses = 0 }, - } else groupcaps = {} - hand_autogroup_groupcaps = { - handy = { tool_multiplier = 1, level = 1, uses = 0 }, - axey = { tool_multiplier = 1, level = 1, uses = 0 }, - shovely = { tool_multiplier = 1, level = 1, uses = 0 }, - pickaxey = { tool_multiplier = 1, level = 0, uses = 0 }, - swordy = { tool_multiplier = 1, level = 0, uses = 0 }, - swordy_cobweb = { tool_multiplier = 1, level = 0, uses = 0 }, - shearsy = { tool_multiplier = 1, level = 0, uses = 0 }, - shearsy_wool = { tool_multiplier = 1, level = 0, uses = 0 }, - shearsy_cobweb = { tool_multiplier = 1, level = 0, uses = 0 }, - } hand_range = 4 hand_groups = { dig_speed_class = 1 } end @@ -68,7 +47,17 @@ minetest.register_tool(":", { damage_groups = {fleshy=1}, }, groups = hand_groups, - _mcl_diggroups = hand_autogroup_groupcaps, + _mcl_diggroups = { + handy = { tool_multiplier = 1, level = 1, uses = 0 }, + axey = { tool_multiplier = 1, level = 1, uses = 0 }, + shovely = { tool_multiplier = 1, level = 1, uses = 0 }, + pickaxey = { tool_multiplier = 1, level = 0, uses = 0 }, + swordy = { tool_multiplier = 1, level = 0, uses = 0 }, + swordy_cobweb = { tool_multiplier = 1, level = 0, uses = 0 }, + shearsy = { tool_multiplier = 1, level = 0, uses = 0 }, + shearsy_wool = { tool_multiplier = 1, level = 0, uses = 0 }, + shearsy_cobweb = { tool_multiplier = 1, level = 0, uses = 0 }, + } }) -- Help texts