Vanessa Dannenberg
2018-10-31 44cb8df048e09b64214f59db73a3fd23cfe12e77
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,10 +57,10 @@
      tiles={"technic_stainless_steel_block.png"},
   })
   stairsplus:register_all("technic", "brass_block", "technic:brass_block", {
   stairsplus:register_all("technic", "brass_block", "basic_materials:brass_block", {
      description=S("Brass Block"),
      groups={cracky=1, not_in_creative_inventory=1},
      tiles={"technic_brass_block.png"},
      tiles={"basic_materials_brass_block.png"},
   })
   function register_technic_stairs_alias(modname, origname, newmod, newname)
@@ -102,76 +102,210 @@
end
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 },
   sounds = default.node_sound_stone_defaults(),
}
local iclipfence_def = {
   description = S("Insulator/cable clip"),
   tiles = {"technic_insulator_clip.png"},
   is_ground_content = false,
   paramtype = "light",
   drawtype = "nodebox",
   node_box = {
      type = "connected",
      fixed = {
         { -0.25,   0.75,   -0.25,   0.25,   1.25,   0.25   }, -- the clip on top
         { -0.125, 0.6875, -0.125, 0.125, 0.75,   0.125 },
         { -0.1875,  0.625,  -0.1875,  0.1875,  0.6875, 0.1875  },
         { -0.125, 0.5625, -0.125, 0.125, 0.625,  0.125 },
         { -0.1875,  0.5,    -0.1875,  0.1875,  0.5625, 0.1875  },
         { -0.125, 0.4375, -0.125, 0.125, 0.5,    0.125 },
         { -0.1875,  0.375,  -0.1875,  0.1875,  0.4375, 0.1875  },
         { -0.125, -0.5,    -0.125,  0.125,  0.375,  0.125  }, -- the post, slightly short
      },
      -- connect_top =
      -- connect_bottom =
      connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8},
         {-1/16,-5/16,-1/2,1/16,-3/16,-1/8}},
      connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16},
         {-1/2,-5/16,-1/16,-1/8,-3/16,1/16}},
      connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2},
         {-1/16,-5/16,1/8,1/16,-3/16,1/2}},
      connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16},
         {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 },
   sounds = default.node_sound_stone_defaults(),
}
local sclip_tex = {
   "technic_insulator_clip.png",
   { name = "strut.png^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}
   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}
   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.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",
   recipe = {
      { "", "dye:white", ""},
      { "", "technic:raw_latex", ""},
      { "technic:raw_latex", "default:stone", "technic:raw_latex"},
   }
})
minetest.register_craft({
   output = "technic:insulator_clip_fencepost 2",
   recipe = {
      { "", "dye:white", ""},
      { "", "technic:raw_latex", ""},
      { "technic:raw_latex", "default:fence_wood", "technic:raw_latex"},
   }
})
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"}
      }
   })
   minetest.register_craft({
      output = "technic:steel_strut_with_insulator_clip",
      recipe = {
         {"technic:insulator_clip_fencepost", ""                    },
         {"steel:strut",                      "default:steel_ingot" },
      }
   })
end
if streetsmod then
   minetest.register_craft({
      output = "technic:steel_strut_with_insulator_clip",
      recipe = {
         {"technic:insulator_clip_fencepost", ""                   },
         {"streets:steel_support",           "default:steel_ingot" },
      }
   })
end
if minetest.get_modpath("unifieddyes") then
   minetest.register_node(":technic:insulator_clip", {
      description = "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},
      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,
   unifieddyes.register_color_craft({
      output = "technic:insulator_clip_fencepost",
      palette = "extended",
      type = "shapeless",
      neutral_node = "technic:insulator_clip_fencepost",
      recipe = {
         "NEUTRAL_NODE",
         "MAIN_DYE"
      }
   })
   minetest.register_node(":technic:insulator_clip_fencepost", {
      description = "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",
         fixed = {
            { -0.25,   0.75,   -0.25,   0.25,   1.25,   0.25   }, -- the clip on top
            { -0.125, 0.6875, -0.125, 0.125, 0.75,   0.125 },
            { -0.1875,  0.625,  -0.1875,  0.1875,  0.6875, 0.1875  },
            { -0.125, 0.5625, -0.125, 0.125, 0.625,  0.125 },
            { -0.1875,  0.5,    -0.1875,  0.1875,  0.5625, 0.1875  },
            { -0.125, 0.4375, -0.125, 0.125, 0.5,    0.125 },
            { -0.1875,  0.375,  -0.1875,  0.1875,  0.4375, 0.1875  },
            { -0.125, -0.5,    -0.125,  0.125,  0.375,  0.125  }, -- the post, slightly short
         },
         -- connect_top =
         -- connect_bottom =
         connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8},
            {-1/16,-5/16,-1/2,1/16,-3/16,-1/8}},
         connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16},
            {-1/2,-5/16,-1/16,-1/8,-3/16,1/16}},
         connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2},
            {-1/16,-5/16,1/8,1/16,-3/16,1/2}},
         connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16},
            {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},
      sounds = default.node_sound_stone_defaults(),
      place_param2 = 171 -- medium amber, low saturation, closest color to default:wood
   })
   minetest.register_craft({
   unifieddyes.register_color_craft({
      output = "technic:insulator_clip",
      palette = "wallmounted",
      type = "shapeless",
      neutral_node = "technic:insulator_clip",
      recipe = {
         { "", "dye:white", ""},
         { "", "technic:raw_latex", ""},
         { "technic:raw_latex", "default:stone", "technic:raw_latex"},
         "NEUTRAL_NODE",
         "MAIN_DYE"
      }
   })
   minetest.register_craft({
      output = "technic:insulator_clip_fencepost 2",
   unifieddyes.register_color_craft({
      output = "technic:steel_strut_with_insulator_clip",
      palette = "wallmounted",
      type = "shapeless",
      neutral_node = "",
      recipe = {
         { "", "dye:white", ""},
         { "", "technic:raw_latex", ""},
         { "technic:raw_latex", "default:fence_wood", "technic:raw_latex"},
         "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