From d4609f23f2344e530cf610f107029249039abf33 Mon Sep 17 00:00:00 2001
From: SmallJoker <SmallJoker@users.noreply.github.com>
Date: Sat, 29 Oct 2022 21:36:33 +0200
Subject: [PATCH] Chests: Use prepend styling and re-order elements (#608)

---
 extranodes/init.lua |  129 ++++++++++++++++++++++++-------------------
 1 files changed, 72 insertions(+), 57 deletions(-)

diff --git a/extranodes/init.lua b/extranodes/init.lua
index 06e110e..11fabe2 100644
--- a/extranodes/init.lua
+++ b/extranodes/init.lua
@@ -57,37 +57,48 @@
 		tiles={"technic_stainless_steel_block.png"},
 	})
 
-	function register_technic_stairs_alias(modname, origname, newmod, newname)
-		minetest.register_alias(modname .. ":slab_" .. origname, newmod..":slab_" .. newname)
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_inverted", newmod..":slab_" .. newname .. "_inverted")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_wall", newmod..":slab_" .. newname .. "_wall")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_quarter", newmod..":slab_" .. newname .. "_quarter")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_quarter_inverted", newmod..":slab_" .. newname .. "_quarter_inverted")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_quarter_wall", newmod..":slab_" .. newname .. "_quarter_wall")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_three_quarter", newmod..":slab_" .. newname .. "_three_quarter")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_three_quarter_inverted", newmod..":slab_" .. newname .. "_three_quarter_inverted")
-		minetest.register_alias(modname .. ":slab_" .. origname .. "_three_quarter_wall", newmod..":slab_" .. newname .. "_three_quarter_wall")
-		minetest.register_alias(modname .. ":stair_" .. origname, newmod..":stair_" .. newname)
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_inverted", newmod..":stair_" .. newname .. "_inverted")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_wall", newmod..":stair_" .. newname .. "_wall")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half", newmod..":stair_" .. newname .. "_wall_half")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_half", newmod..":stair_" .. newname .. "_half")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_half_inverted", newmod..":stair_" .. newname .. "_half_inverted")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_right_half", newmod..":stair_" .. newname .. "_right_half")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_right_half_inverted", newmod..":stair_" .. newname .. "_right_half_inverted")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half", newmod..":stair_" .. newname .. "_wall_half")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_inner", newmod..":stair_" .. newname .. "_inner")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_inner_inverted", newmod..":stair_" .. newname .. "_inner_inverted")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_outer", newmod..":stair_" .. newname .. "_outer")
-		minetest.register_alias(modname .. ":stair_" .. origname .. "_outer_inverted", newmod..":stair_" .. newname .. "_outer_inverted")
-		minetest.register_alias(modname .. ":panel_" .. origname .. "_bottom", newmod..":panel_" .. newname .. "_bottom")
-		minetest.register_alias(modname .. ":panel_" .. origname .. "_top", newmod..":panel_" .. newname .. "_top")
-		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 
+	function register_technic_stairs_alias(origmod, origname, newmod, newname)
+		local func = minetest.register_alias
+		local function remap(kind, suffix)
+			-- Old: stairsplus:slab_concrete_wall
+			-- New:    technic:slab_concrete_wall
+			func(("%s:%s_%s%s"):format(origmod, kind, origname, suffix),
+				("%s:%s_%s%s"):format(newmod, kind, newname, suffix))
+		end
+
+		-- Slabs
+		remap("slab", "")
+		remap("slab", "_inverted")
+		remap("slab", "_wall")
+		remap("slab", "_quarter")
+		remap("slab", "_quarter_inverted")
+		remap("slab", "_quarter_wall")
+		remap("slab", "_three_quarter")
+		remap("slab", "_three_quarter_inverted")
+		remap("slab", "_three_quarter_wall")
+
+		-- Stairs
+		remap("stair", "")
+		remap("stair", "_inverted")
+		remap("stair", "_wall")
+		remap("stair", "_wall_half")
+		remap("stair", "_wall_half_inverted")
+		remap("stair", "_half")
+		remap("stair", "_half_inverted")
+		remap("stair", "_right_half")
+		remap("stair", "_right_half_inverted")
+		remap("stair", "_inner")
+		remap("stair", "_inner_inverted")
+		remap("stair", "_outer")
+		remap("stair", "_outer_inverted")
+
+		-- Other
+		remap("panel", "_bottom")
+		remap("panel", "_top")
+		remap("panel", "_vertical")
+		remap("micro", "_bottom")
+		remap("micro", "_top")
+	end
 
 	register_technic_stairs_alias("stairsplus", "concrete", "technic", "concrete")
 	register_technic_stairs_alias("stairsplus", "marble", "technic", "marble")
@@ -142,7 +153,7 @@
 
 local sclip_tex = {
 	"technic_insulator_clip.png",
-	{ name = "strut.png^steel_strut_overlay.png", color = "white" },
+	{ name = "strut.png^technic_steel_strut_overlay.png", color = "white" },
 	{ name = "strut.png", color = "white" }
 }
 
@@ -177,23 +188,25 @@
 		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_node(":technic:steel_strut_with_insulator_clip", sclip_def)
 
 minetest.register_craft({
 	output = "technic:insulator_clip",
@@ -215,33 +228,35 @@
 
 local steelmod = minetest.get_modpath("steel")
 
-if steelmod then
-	minetest.register_craft({
-		output = "technic:steel_strut_with_insulator_clip",
-		recipe = {
-			{"technic:insulator_clip_fencepost"},
-			{"steel:strut_mount"}
-		}
-	})
+if streetsmod or steelmod then
+	minetest.register_node(":technic:steel_strut_with_insulator_clip", sclip_def)
 
-	minetest.register_craft({
-		output = "technic:steel_strut_with_insulator_clip",
-		recipe = {
-			{"technic:insulator_clip_fencepost", ""                    },
-			{"steel:strut",                      "default:steel_ingot" },
-		}
-	})
+	if steelmod then
+		minetest.register_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			recipe = {
+				{"technic:insulator_clip_fencepost"},
+				{"steel:strut_mount"}
+			}
+		})
 
-end
+		minetest.register_craft({
+			output = "technic:steel_strut_with_insulator_clip",
+			recipe = {
+				{"technic:insulator_clip_fencepost", ""                    },
+				{"steel:strut",                      "default:steel_ingot" },
+			}
+		})
 
-if streetsmod then
-	minetest.register_craft({
-		output = "technic:steel_strut_with_insulator_clip",
-		recipe = {
-			{"technic:insulator_clip_fencepost", ""                   },
-			{"streets:steel_support",           "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

--
Gitblit v1.8.0