From c189a33eec2e9a22c0101c07e4177619c6b6240c Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Mon, 19 Oct 2020 22:28:10 +0200
Subject: [PATCH] Super Xno Pick

---
 extranodes/init.lua |  184 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 160 insertions(+), 24 deletions(-)

diff --git a/extranodes/init.lua b/extranodes/init.lua
index 74fb028..42c7d67 100644
--- a/extranodes/init.lua
+++ b/extranodes/init.lua
@@ -30,7 +30,7 @@
 	stairsplus:register_all("technic", "concrete", "technic:concrete", {
 		description=S("Concrete"),
 		groups={cracky=3, not_in_creative_inventory=1},
-		tiles={"technic_concrete_block.png"},
+		tiles={"basic_materials_concrete_block.png"},
 	})
 
 	stairsplus:register_all("technic", "zinc_block", "technic:zinc_block", {
@@ -55,12 +55,6 @@
 		description=S("Stainless Steel Block"),
 		groups={cracky=1, not_in_creative_inventory=1},
 		tiles={"technic_stainless_steel_block.png"},
-	})
-
-	stairsplus:register_all("technic", "brass_block", "technic:brass_block", {
-		description=S("Brass Block"),
-		groups={cracky=1, not_in_creative_inventory=1},
-		tiles={"technic_brass_block.png"},
 	})
 
 	function register_technic_stairs_alias(modname, origname, newmod, newname)
@@ -93,7 +87,7 @@
 		minetest.register_alias(modname .. ":panel_" .. origname .. "_vertical", newmod..":panel_" .. newname .. "_vertical")
 		minetest.register_alias(modname .. ":micro_" .. origname .. "_bottom", newmod..":micro_" .. newname .. "_bottom")
 		minetest.register_alias(modname .. ":micro_" .. origname .. "_top", newmod..":micro_" .. newname .. "_top")
-	end 
+	end
 
 	register_technic_stairs_alias("stairsplus", "concrete", "technic", "concrete")
 	register_technic_stairs_alias("stairsplus", "marble", "technic", "marble")
@@ -102,28 +96,21 @@
 
 end
 
-minetest.register_node(":technic:insulator_clip", {
-	description = "Insulator/cable clip",
+local iclip_def = {
+	description = S("Insulator/cable clip"),
 	drawtype = "mesh",
 	mesh = "technic_insulator_clip.obj",
 	tiles = {"technic_insulator_clip.png"},
 	is_ground_content = false,
-	groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1},
+	groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1 },
 	sounds = default.node_sound_stone_defaults(),
-	paramtype2 = "colorwallmounted",
-	palette = "unifieddyes_palette_colorwallmounted.png",
-	after_place_node = unifieddyes.fix_rotation,
-	after_dig_node = unifieddyes.after_dig_node,
-})
+}
 
-minetest.register_node(":technic:insulator_clip_fencepost", {
-	description = "Insulator/cable clip",
+local iclipfence_def = {
+	description = S("Insulator/cable clip"),
 	tiles = {"technic_insulator_clip.png"},
 	is_ground_content = false,
 	paramtype = "light",
-	paramtype2 = "color",
-	palette = "unifieddyes_palette_extended.png",
-	after_dig_node = unifieddyes.after_dig_node,
 	drawtype = "nodebox",
 	node_box = {
 		type = "connected",
@@ -149,10 +136,66 @@
 			{1/8,-5/16,-1/16,1/2,-3/16,1/16}},
 	},
 	connects_to = {"group:fence", "group:wood", "group:tree"},
-	groups = {fence=1, choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1},
+	groups = {fence=1, choppy=1, snappy=1, oddly_breakable_by_hand=1 },
 	sounds = default.node_sound_stone_defaults(),
-	place_param2 = 171 -- medium amber, low saturation, closest color to default:wood
-})
+}
+
+local sclip_tex = {
+	"technic_insulator_clip.png",
+	{ name = "strut.png^technic_steel_strut_overlay.png", color = "white" },
+	{ name = "strut.png", color = "white" }
+}
+
+local streetsmod = minetest.get_modpath("streets") or minetest.get_modpath ("steelsupport")
+-- cheapie's fork breaks it into several individual mods, with differernt names for the same content.
+
+if streetsmod then
+	sclip_tex = {
+		"technic_insulator_clip.png",
+		{ name = "streets_support.png^technic_steel_strut_overlay.png", color = "white" },
+		{ name = "streets_support.png", color = "white" }
+	}
+end
+
+local sclip_def = {
+	description = S("Steel strut with insulator/cable clip"),
+	drawtype = "mesh",
+	mesh = "technic_steel_strut_with_insulator_clip.obj",
+	tiles = sclip_tex,
+	paramtype = "light",
+	paramtype2 = "wallmounted",
+	is_ground_content = false,
+	sounds = default.node_sound_stone_defaults(),
+	groups = { choppy=1, cracky=1 },
+	backface_culling = false
+}
+
+if minetest.get_modpath("unifieddyes") then
+	iclip_def.paramtype2 = "colorwallmounted"
+	iclip_def.palette = "unifieddyes_palette_colorwallmounted.png"
+	iclip_def.after_place_node = function(pos, placer, itemstack, pointed_thing)
+		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+	end
+	iclip_def.groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1}
+	iclip_def.on_dig = unifieddyes.on_dig
+
+	iclipfence_def.paramtype2 = "color"
+	iclipfence_def.palette = "unifieddyes_palette_extended.png"
+	iclipfence_def.on_construct = unifieddyes.on_construct
+	iclipfence_def.groups = {fence=1, choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1}
+	iclipfence_def.on_dig = unifieddyes.on_dig
+
+	sclip_def.paramtype2 = "colorwallmounted"
+	sclip_def.palette = "unifieddyes_palette_colorwallmounted.png"
+	sclip_def.after_place_node = function(pos, placer, itemstack, pointed_thing)
+		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
+	end
+	sclip_def.on_dig = unifieddyes.on_dig
+	sclip_def.groups = {choppy=1, cracky=1, ud_param2_colorable = 1}
+end
+
+minetest.register_node(":technic:insulator_clip", iclip_def)
+minetest.register_node(":technic:insulator_clip_fencepost", iclipfence_def)
 
 minetest.register_craft({
 	output = "technic:insulator_clip",
@@ -171,3 +214,96 @@
 		{ "technic:raw_latex", "default:fence_wood", "technic:raw_latex"},
 	}
 })
+
+local steelmod = minetest.get_modpath("steel")
+
+if streetsmod or steelmod then
+	minetest.register_node(":technic:steel_strut_with_insulator_clip", sclip_def)
+
+	if steelmod then
+		minetest.register_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			recipe = {
+				{"technic:insulator_clip_fencepost"},
+				{"steel:strut_mount"}
+			}
+		})
+
+		minetest.register_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			recipe = {
+				{"technic:insulator_clip_fencepost", ""                    },
+				{"steel:strut",                      "default:steel_ingot" },
+			}
+		})
+
+	elseif streetsmod then
+		minetest.register_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			recipe = {
+				{"technic:insulator_clip_fencepost", ""                   },
+				{"streets:steel_support",           "default:steel_ingot" },
+			}
+		})
+	end
+end
+
+if minetest.get_modpath("unifieddyes") then
+
+	unifieddyes.register_color_craft({
+		output = "technic:insulator_clip_fencepost",
+		palette = "extended",
+		type = "shapeless",
+		neutral_node = "technic:insulator_clip_fencepost",
+		recipe = {
+			"NEUTRAL_NODE",
+			"MAIN_DYE"
+		}
+	})
+
+	unifieddyes.register_color_craft({
+		output = "technic:insulator_clip",
+		palette = "wallmounted",
+		type = "shapeless",
+		neutral_node = "technic:insulator_clip",
+		recipe = {
+			"NEUTRAL_NODE",
+			"MAIN_DYE"
+		}
+	})
+
+	unifieddyes.register_color_craft({
+		output = "technic:steel_strut_with_insulator_clip",
+		palette = "wallmounted",
+		type = "shapeless",
+		neutral_node = "",
+		recipe = {
+			"technic:steel_strut_with_insulator_clip",
+			"MAIN_DYE"
+		}
+	})
+
+	if steelmod then
+		unifieddyes.register_color_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			palette = "wallmounted",
+			neutral_node = "",
+			recipe = {
+				{ "technic:insulator_clip_fencepost", "MAIN_DYE" },
+				{ "steel:strut_mount",                ""         },
+			}
+		})
+	end
+
+	if streetsmod then
+		unifieddyes.register_color_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			palette = "wallmounted",
+			neutral_node = "technic:steel_strut_with_insulator_clip",
+			recipe = {
+				{ "technic:insulator_clip_fencepost", "MAIN_DYE"            },
+				{ "streets:steel_support",            "default:steel_ingot" },
+			}
+		})
+	end
+end

--
Gitblit v1.8.0