Vanessa Ezekowitz
2017-03-16 018d66f7914550f2a7a8ba1d4c9e52a3a17807ff
define insulator clips even if Unified Dyes is not installed
(just don't put UD-related stuff into their node defs)
1 files modified
144 ■■■■ changed files
extranodes/init.lua 144 ●●●● patch | view | raw | blame | history
extranodes/init.lua
@@ -102,77 +102,85 @@
end
if minetest.get_modpath("unifieddyes") then
local iclip_def = {
    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 },
    sounds = default.node_sound_stone_defaults(),
}
    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,
    })
    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",
        on_construct = unifieddyes.on_construct,
        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}},
local iclipfence_def = {
    description = "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
        },
        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
    })
        -- 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(),
}
    minetest.register_craft({
        output = "technic:insulator_clip",
        recipe = {
            { "", "dye:white", ""},
            { "", "technic:raw_latex", ""},
            { "technic:raw_latex", "default:stone", "technic:raw_latex"},
        }
    })
if not minetest.get_modpath("unifieddyes") then
    minetest.register_node(":technic:insulator_clip", iclip_def)
    minetest.register_node(":technic:insulator_clip_fencepost", iclipfence_def)
else
    iclip_def.paramtype2 = "colorwallmounted"
    iclip_def.palette = "unifieddyes_palette_colorwallmounted.png"
    iclip_def.after_place_node = unifieddyes.fix_rotation
    iclip_def.after_dig_node = unifieddyes.after_dig_node
    iclip_def.groups = {choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1}
    minetest.register_craft({
        output = "technic:insulator_clip_fencepost 2",
        recipe = {
            { "", "dye:white", ""},
            { "", "technic:raw_latex", ""},
            { "technic:raw_latex", "default:fence_wood", "technic:raw_latex"},
        }
    })
    iclipfence_def.paramtype2 = "color"
    iclipfence_def.palette = "unifieddyes_palette_extended.png"
    iclipfence_def.on_construct = unifieddyes.on_construct
    iclipfence_def.after_dig_node = unifieddyes.after_dig_node
    iclipfence_def.groups = {fence=1, choppy=1, snappy=1, oddly_breakable_by_hand=1, ud_param2_colorable = 1}
    iclipfence_def.place_param2 = 171 -- medium amber, low saturation, closest color to default:wood
    minetest.register_node(":technic:insulator_clip", iclip_def)
    minetest.register_node(":technic:insulator_clip_fencepost", iclipfence_def)
end
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"},
    }
})