From 535e04d542520f58a2db8d4d7a222b73e5c96ef1 Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Tue, 27 Aug 2024 11:42:59 +0200
Subject: [PATCH] Merge branch 'master' into xno_tree_trap

---
 technic_cnc/cnc_materials.lua |  173 ++++++++++++++++++---------------------------------------
 1 files changed, 56 insertions(+), 117 deletions(-)

diff --git a/technic_cnc/cnc_materials.lua b/technic_cnc/cnc_materials.lua
index e63c792..beb6b82 100644
--- a/technic_cnc/cnc_materials.lua
+++ b/technic_cnc/cnc_materials.lua
@@ -3,129 +3,68 @@
 
 local S = technic_cnc.getter
 
--- DIRT
--------
-technic_cnc.register_all("default:dirt",
-                {snappy=2,choppy=2,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
-                {"default_dirt.png"},
-                S("Dirt"))
--- (DIRT WITH) GRASS
---------------------
-technic_cnc.register_all("default:dirt_with_grass",
-                {snappy=2,choppy=2,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
-                {"default_grass.png"},
-                S("Grassy dirt"))
--- WOOD
--------
-technic_cnc.register_all("default:wood",
-                {snappy=2, choppy=2, oddly_breakable_by_hand=2, not_in_creative_inventory=1},
-                {"default_wood.png"},
-                S("Wooden"))
--- STONE
---------
-technic_cnc.register_all("default:stone",
-                {cracky=3, not_in_creative_inventory=1},
-                {"default_stone.png"},
-                S("Stone"))
--- COBBLE
----------
-technic_cnc.register_all("default:cobble",
-                {cracky=3, not_in_creative_inventory=1},
-                {"default_cobble.png"},
-                S("Cobble"))
--- BRICK
---------
-technic_cnc.register_all("default:brick",
-                {cracky=3, not_in_creative_inventory=1},
-                {"default_brick.png"},
-                S("Brick"))
+local function register_material(nodename, tiles_override, descr_override)
+	local ndef = minetest.registered_nodes[nodename]
+	if not ndef then
+		return
+	end
 
--- SANDSTONE
-------------
-technic_cnc.register_all("default:sandstone",
-                {crumbly=2, cracky=3, not_in_creative_inventory=1},
-                {"default_sandstone.png"},
-                S("Sandstone"))
+	local groups = {
+		cracky = ndef.groups.cracky,
+		crumbly = ndef.groups.crumbly,
+		choppy = ndef.groups.choppy,
+		flammable = ndef.groups.flammable,
+		level = ndef.groups.level,
+		snappy = ndef.groups.snappy,
+		wood = ndef.groups.wood,
+		oddly_breakable_by_hand = ndef.groups.oddly_breakable_by_hand,
+		not_in_creative_inventory = 1,
+	}
+	local count = 0
+	for _ in pairs(groups) do
+		count = count + 1
+	end
+	assert(count >= 2, "Too few groups. node name=" .. nodename)
 
--- LEAVES
----------
-technic_cnc.register_all("default:leaves",
-                {snappy=2, choppy=2, oddly_breakable_by_hand=3, not_in_creative_inventory=1},
-                {"default_leaves.png"},
-                S("Leaves"))
--- TREE
--------
-technic_cnc.register_all("default:tree",
-                {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, wood=1, not_in_creative_inventory=1},
-                {"default_tree.png"},
-                S("Tree"))
+	local tiles = tiles_override or { ndef.tiles[#ndef.tiles] }
+	assert(tiles and #tiles == 1, "Unknown tile format in node name=" .. nodename)
 
--- Bronze
---------
-technic_cnc.register_all("default:bronzeblock",
-                {cracky=1, level=2, not_in_creative_inventory=1},
-                {"default_bronze_block.png"},
-                S("Bronze"))
-
-
-local steeltex = "default_steel_block.png"
-local steelname = "Steel"
-
-if technic_cnc.technic_modpath then
-	steeltex = "technic_wrought_iron_block.png"
-	steelname = "Wrought Iron"
-
-	-- Stainless Steel
-	--------
-	technic_cnc.register_all("technic:stainless_steel_block",
-					{cracky=1, level=2, not_in_creative_inventory=1},
-					{"technic_stainless_steel_block.png"},
-					S("Stainless Steel"))
-
-	-- Marble
-	------------
-	technic_cnc.register_all("technic:marble",
-					{cracky=3, not_in_creative_inventory=1},
-					{"technic_marble.png"},
-					S("Marble"))
-
-	-- Granite
-	------------
-	technic_cnc.register_all("technic:granite",
-					{cracky=1, not_in_creative_inventory=1},
-					{"technic_granite.png"},
-					S("Granite"))
-
-	-- Blast-resistant concrete
-	---------------------------
-
-	technic_cnc.register_all("technic:blast_resistant_concrete",
-					{cracky=2, level=2, not_in_creative_inventory=1},
-					{"technic_blast_resistant_concrete_block.png"},
-					S("Blast-resistant concrete"))
+	technic_cnc.register_all(nodename,
+		groups,
+		tiles,
+		descr_override or ndef.description or "<unknown>"
+	)
 end
 
--- STEEL
----------------
-technic_cnc.register_all("default:steelblock",
-				{cracky=1, level=2, not_in_creative_inventory=1},
-				{steeltex},
-				S(steelname))
+register_material("default:dirt")
+register_material("default:dirt_with_grass", {"default_grass.png"}, S("Grassy dirt"))
+register_material("default:wood", nil, S("Wooden"))
+register_material("default:stone")
+register_material("default:cobble")
+register_material("default:sandstone")
+register_material("default:leaves")
+register_material("default:tree")
+register_material("default:bronzeblock", nil, S("Bronze"))
+
+local steelname = S("Steel")
+
+if technic_cnc.technic_modpath then
+	steelname = S("Wrought Iron")
+
+	register_material("technic:stainless_steel_block", nil, S("Stainless Steel"))
+	register_material("technic:stainless_steel_block")
+	register_material("technic:marble")
+	register_material("technic:granite")
+	register_material("technic:blast_resistant_concrete")
+	register_material("technic:blast_resistant_concrete")
+end
+
+register_material("default:steelblock", nil, steelname)
+
 
 -- CONCRETE AND CEMENT
 ----------------------
 
-technic_cnc.register_all("basic_materials:concrete_block",
-				{cracky=2, level=2, not_in_creative_inventory=1},
-				{"basic_materials_concrete_block.png"},
-				S("Concrete"))
-
-technic_cnc.register_all("basic_materials:cement_block",
-				{cracky=2, level=2, not_in_creative_inventory=1},
-				{"basic_materials_cement_block.png"},
-				S("Cement"))
-
-technic_cnc.register_all("basic_materials:brass_block",
-				{cracky=1, level=2, not_in_creative_inventory=1},
-				{"basic_materials_brass_block.png"},
-				S("Brass block"))
+register_material("basic_materials:concrete_block")
+register_material("basic_materials:cement_block")
+register_material("basic_materials:brass_block")

--
Gitblit v1.8.0