SmallJoker
2022-10-29 d4609f23f2344e530cf610f107029249039abf33
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", {
@@ -57,43 +57,48 @@
      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(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
   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
      -- 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")
@@ -103,7 +108,7 @@
end
local iclip_def = {
   description = "Insulator/cable clip",
   description = S("Insulator/cable clip"),
   drawtype = "mesh",
   mesh = "technic_insulator_clip.obj",
   tiles = {"technic_insulator_clip.png"},
@@ -113,7 +118,7 @@
}
local iclipfence_def = {
   description = "Insulator/cable clip",
   description = S("Insulator/cable clip"),
   tiles = {"technic_insulator_clip.png"},
   is_ground_content = false,
   paramtype = "light",
@@ -146,6 +151,36 @@
   sounds = default.node_sound_stone_defaults(),
}
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"
@@ -153,11 +188,21 @@
      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)
@@ -180,6 +225,39 @@
      { "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
@@ -205,4 +283,38 @@
      }
   })
   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