574 lines
17 KiB
Lua
574 lines
17 KiB
Lua
|
--[[
|
||
|
## StreetsMod 2.0 ##
|
||
|
Submod: roadwork
|
||
|
Optional: true
|
||
|
]]
|
||
|
|
||
|
|
||
|
-- Traffic Barrier
|
||
|
|
||
|
minetest.register_node("streets:roadwork_traffic_barrier", {
|
||
|
description = "Traffic Barrier",
|
||
|
paramtype = "light",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = {
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png"
|
||
|
},
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1, level = 2, wall = 1 },
|
||
|
node_box = {
|
||
|
type = "connected",
|
||
|
fixed = {
|
||
|
{ -0.35, -0.5, -0.35, 0.35, -0.4, 0.35 },
|
||
|
{ -0.15, -0.5, -0.15, 0.15, 0.5, 0.15 }
|
||
|
},
|
||
|
connect_front = {
|
||
|
{ -0.35, -0.5, -0.5, 0.35, -0.4, 0.35 },
|
||
|
{ -0.15, -0.5, -0.5, 0.15, 0.5, 0.15 }
|
||
|
}, -- z-
|
||
|
connect_back = {
|
||
|
{ -0.35, -0.5, -0.35, 0.35, -0.4, 0.5 },
|
||
|
{ -0.15, -0.5, -0.15, 0.15, 0.5, 0.5 }
|
||
|
}, -- z+
|
||
|
connect_left = {
|
||
|
{ -0.5, -0.5, -0.35, 0.35, -0.4, 0.35 },
|
||
|
{ -0.5, -0.5, -0.15, 0.15, 0.5, 0.15 }
|
||
|
}, -- x-
|
||
|
connect_right = {
|
||
|
{ -0.35, -0.5, -0.35, 0.5, -0.4, 0.35 },
|
||
|
{ -0.15, -0.5, -0.15, 0.5, 0.5, 0.15 }
|
||
|
}, -- x+
|
||
|
},
|
||
|
connects_to = { "group:wall", "group:stone", "group:wood", "group:tree", "group:concrete" },
|
||
|
sound = default.node_sound_stone_defaults()
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_traffic_barrier 3",
|
||
|
recipe = {
|
||
|
{ "dye:red", "dye:white", "dye:red" },
|
||
|
{ "streets:concrete_wall", "streets:concrete_wall", "streets:concrete_wall" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_traffic_barrier_straight", {
|
||
|
description = "Traffic Barrier (Straight)",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = {
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png"
|
||
|
},
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1, level = 2, wall = 1 },
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -0.5, -0.5, -0.35, 0.5, -0.4, 0.35 },
|
||
|
{ -0.5, -0.5, -0.15, 0.5, 0.5, 0.15 },
|
||
|
},
|
||
|
},
|
||
|
connect_sides = { "left", "right" },
|
||
|
sound = default.node_sound_stone_defaults()
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_traffic_barrier_straight 2",
|
||
|
recipe = {
|
||
|
{ "streets:roadwork_traffic_barrier", "streets:roadwork_traffic_barrier"},
|
||
|
}
|
||
|
})
|
||
|
|
||
|
|
||
|
minetest.register_node("streets:roadwork_traffic_barrier_top", {
|
||
|
description = "Traffic Barrier (Top)",
|
||
|
paramtype = "light",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = {
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png"
|
||
|
},
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1, level = 2, wall = 1 },
|
||
|
node_box = {
|
||
|
type = "connected",
|
||
|
fixed = {
|
||
|
{ -0.15, -0.5, -0.15, 0.15, 0.5, 0.15 }
|
||
|
},
|
||
|
connect_front = {
|
||
|
{ -0.15, -0.5, -0.5, 0.15, 0.5, 0.15 }
|
||
|
}, -- z-
|
||
|
connect_back = {
|
||
|
{ -0.15, -0.5, -0.15, 0.15, 0.5, 0.5 }
|
||
|
}, -- z+
|
||
|
connect_left = {
|
||
|
{ -0.5, -0.5, -0.15, 0.15, 0.5, 0.15 }
|
||
|
}, -- x-
|
||
|
connect_right = {
|
||
|
{ -0.15, -0.5, -0.15, 0.5, 0.5, 0.15 }
|
||
|
}, -- x+
|
||
|
},
|
||
|
connects_to = { "group:wall", "group:stone", "group:wood", "group:tree", "group:concrete" },
|
||
|
sound = default.node_sound_stone_defaults()
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_traffic_barrier_top 2",
|
||
|
recipe = {
|
||
|
{ "streets:roadwork_traffic_barrier" },
|
||
|
{ "streets:roadwork_traffic_barrier" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_traffic_barrier_top_straight", {
|
||
|
description = "Traffic Barrier (Straight Top)",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = {
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture,
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png",
|
||
|
streets.concrete_texture .. "^streets_roadwork_traffic_barrier.png"
|
||
|
},
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1, level = 2, wall = 1 },
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -0.5, -0.5, -0.15, 0.5, 0.5, 0.15 },
|
||
|
},
|
||
|
},
|
||
|
connect_sides = { "left", "right" },
|
||
|
sound = default.node_sound_stone_defaults()
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_traffic_barrier_top_straight 2",
|
||
|
recipe = {
|
||
|
{ "streets:roadwork_traffic_barrier_straight" },
|
||
|
{ "streets:roadwork_traffic_barrier_straight" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
-- Barrier Tape
|
||
|
|
||
|
minetest.register_node("streets:roadwork_barrier_tape", {
|
||
|
description = "Barrier Tape",
|
||
|
paramtype = "light",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = { "streets_roadwork_barrier_tape.png" },
|
||
|
sunlight_propagates = true,
|
||
|
groups = { choppy = 1, dig_immediate = 3, level = 1, wall = 1 },
|
||
|
node_box = {
|
||
|
type = "connected",
|
||
|
fixed = { -1 / 16, -0.5, -1 / 16, 1 / 16, 0.5, 1 / 16 },
|
||
|
connect_front = { 0, 4 / 16, -0.5, 0, 6 / 16, 0 }, -- z-
|
||
|
connect_back = { 0, 4 / 16, 0, 0, 6 / 16, 0.5 }, -- z+
|
||
|
connect_left = { -0.5, 4 / 16, 0, 0, 6 / 16, 0 }, -- x-
|
||
|
connect_right = { 0, 4 / 16, 0, 0.5, 6 / 16, 0 }, -- x+
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = { -2 / 16, -0.5, -2 / 16, 2 / 16, 0.5, 2 / 16 },
|
||
|
},
|
||
|
connects_to = { "group:wall", "group:stone", "group:wood", "group:tree", "group:sign", "group:concrete" },
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_barrier_tape 24",
|
||
|
recipe = {
|
||
|
{ "dye:red", "dye:white", "dye:red" },
|
||
|
{ "farming:cotton", "default:stick", "farming:cotton" },
|
||
|
{ "", "default:stick", "" }
|
||
|
}
|
||
|
})
|
||
|
|
||
|
|
||
|
-- Traffic Fence
|
||
|
|
||
|
|
||
|
minetest.register_node("streets:roadwork_traffic_fence", {
|
||
|
description = "Traffic Fence",
|
||
|
paramtype = "light",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = { "streets_roadwork_traffic_fence_top.png", "streets_roadwork_traffic_fence_top.png", "streets_roadwork_traffic_fence.png" },
|
||
|
inventory_image = "streets_roadwork_traffic_fence.png",
|
||
|
wield_image = "streets_roadwork_traffic_fence.png",
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1, wall = 1 },
|
||
|
node_box = {
|
||
|
type = "connected",
|
||
|
fixed = { -1 / 16, -0.5, -1 / 16, 1 / 16, 0.5, 1 / 16 },
|
||
|
connect_front = {
|
||
|
{ -1 / 16, -0.5, -0.5, 1 / 16, -0.25, 1 / 16 },
|
||
|
{ -1 / 16, 0.25, -0.5, 1 / 16, 0.5, 1 / 16 },
|
||
|
{ -1 / 16, -0.25, -0.5, 1 / 16, 0.25, -7 / 16 },
|
||
|
{ -1 / 16, -0.25, -5 / 16, 1 / 16, 0.25, -3 / 16 }
|
||
|
}, -- z-
|
||
|
connect_back = {
|
||
|
{ -1 / 16, -0.5, -1 / 16, 1 / 16, -0.25, 0.5 },
|
||
|
{ -1 / 16, 0.25, -1 / 16, 1 / 16, 0.5, 0.5 },
|
||
|
{ -1 / 16, -0.25, 7 / 16, 1 / 16, 0.25, 0.5 },
|
||
|
{ -1 / 16, -0.25, 3 / 16, 1 / 16, 0.25, 5 / 16 }
|
||
|
}, -- z+
|
||
|
connect_left = {
|
||
|
{ -0.5, -0.5, -1 / 16, 1 / 16, -0.25, 1 / 16 },
|
||
|
{ -0.5, 0.25, -1 / 16, 1 / 16, 0.5, 1 / 16 },
|
||
|
{ -0.5, -0.25, -1 / 16, -7 / 16, 0.25, 1 / 16 },
|
||
|
{ -5 / 16, -0.25, -1 / 16, -3 / 16, 0.25, 1 / 16 }
|
||
|
}, -- x-
|
||
|
connect_right = {
|
||
|
{ -1 / 16, -0.5, -1 / 16, 0.5, -0.25, 1 / 16 },
|
||
|
{ -1 / 16, 0.25, -1 / 16, 0.5, 0.5, 1 / 16 },
|
||
|
{ 7 / 16, -0.25, -1 / 16, 0.5, 0.25, 1 / 16 },
|
||
|
{ 3 / 16, -0.25, -1 / 16, 5 / 16, 0.25, 1 / 16 },
|
||
|
} -- x+
|
||
|
},
|
||
|
connects_to = { "group:wall", "group:stone", "group:wood", "group:tree", "group:sign", "group:concrete" },
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_traffic_fence 3",
|
||
|
recipe = {
|
||
|
{ "dye:red", "dye:white", "dye:red" },
|
||
|
{ "xpanes:bar_flat", "xpanes:bar_flat", "xpanes:bar_flat" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
|
||
|
-- Pylon
|
||
|
|
||
|
|
||
|
minetest.register_node("streets:roadwork_pylon", {
|
||
|
description = "Pylon",
|
||
|
paramtype = "light",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = { "streets_roadwork_pylon_top.png", "streets_roadwork_pylon_top.png", "streets_roadwork_pylon.png" },
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1 },
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -0.375, -0.5, -0.125, 0.375, -0.4375, 0.125 },
|
||
|
{ -0.125, -0.5, -0.375, 0.125, -0.4375, 0.375 },
|
||
|
{ -0.3125, -0.5, 0, 0.3125, 0.1875, 0 },
|
||
|
{ 0, -0.5, -0.3125, 0, 0.1875, 0.3125 },
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_pylon 3",
|
||
|
recipe = {
|
||
|
{ "dye:orange", "", "dye:orange" },
|
||
|
{ "dye:white", "default:stick", "dye:white" },
|
||
|
{ "dye:orange", "default:steel_ingot", "dye:orange" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
-- Blinking Light
|
||
|
|
||
|
minetest.register_node("streets:roadwork_blinking_light_off", {
|
||
|
description = "Blinking Light",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = { "streets_roadwork_blinking_light_top.png", "streets_roadwork_blinking_light_top.png", "streets_roadwork_blinking_light_off.png" },
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1 },
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -0.1875, -0.5, -0.125, 0.1875, -0.3125, 0.125 }, -- Base
|
||
|
{ -0.1875, -0.3125, 0, 0.1875, 0.0625, 0 }, -- Light
|
||
|
}
|
||
|
},
|
||
|
on_timer = function(pos, elapsed)
|
||
|
minetest.set_node(pos, { name = "streets:roadwork_blinking_light_on", param2 = minetest.get_node(pos).param2 })
|
||
|
end,
|
||
|
on_construct = function(pos)
|
||
|
local timer = minetest.get_node_timer(pos)
|
||
|
timer:start(1)
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_blinking_light_on", {
|
||
|
description = "Blinking Light",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
drawtype = "nodebox",
|
||
|
tiles = { "streets_roadwork_blinking_light_top.png", "streets_roadwork_blinking_light_top.png", "streets_roadwork_blinking_light_on.png" },
|
||
|
sunlight_propagates = true,
|
||
|
groups = { cracky = 1, not_in_creative_inventory = 1 },
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -0.1875, -0.5, -0.125, 0.1875, -0.3125, 0.125 }, -- Base
|
||
|
{ -0.1875, -0.3125, 0, 0.1875, 0.0625, 0 }, -- Light
|
||
|
}
|
||
|
},
|
||
|
light_source = 12,
|
||
|
on_timer = function(pos, elapsed)
|
||
|
minetest.set_node(pos, { name = "streets:roadwork_blinking_light_off", param2 = minetest.get_node(pos).param2 })
|
||
|
end,
|
||
|
on_construct = function(pos)
|
||
|
local timer = minetest.get_node_timer(pos)
|
||
|
timer:start(1)
|
||
|
end,
|
||
|
drop = "streets:roadwork_blinking_light_off",
|
||
|
})
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_blinking_light_off 2",
|
||
|
recipe = {
|
||
|
{ "dye:red", "default:torch", "dye:red" },
|
||
|
{ "dye:yellow", "default:steel_ingot", "dye:yellow" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_abm({
|
||
|
nodenames = {
|
||
|
"streets:roadwork_blinking_light_on", "streets:roadwork_blinking_light_off",
|
||
|
"streets:roadwork_delineator_light_on_top", "streets:roadwork_delineator_light_off_top"
|
||
|
},
|
||
|
interval = 10,
|
||
|
chance = 1,
|
||
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||
|
local timer = minetest.get_node_timer(pos)
|
||
|
if not timer:is_started() then
|
||
|
timer:start(1)
|
||
|
end
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_delineator_top", {
|
||
|
tile_images = {
|
||
|
"streets_roadwork_delineator_top.png",
|
||
|
"streets_tl_bg.png",
|
||
|
"streets_transparent.png",
|
||
|
"streets_transparent.png",
|
||
|
"streets_roadwork_delineator_top_front_back.png^[transformFX",
|
||
|
"streets_roadwork_delineator_top_front_back.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
groups = { cracky = 1, not_in_creative_inventory = 1 },
|
||
|
light_source = 5,
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -1 / 2, 0, 1 / 4, 0, 0 }
|
||
|
}
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = { 0, 0, 0, 0, 0, 0 }
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_delineator_bottom", {
|
||
|
description = "Roadwork Delineator",
|
||
|
inventory_image = "streets_roadwork_delineator.png",
|
||
|
wield_image = "streets_roadwork_delineator.png",
|
||
|
tile_images = {
|
||
|
"streets_roadwork_delineator_top.png",
|
||
|
"streets_tl_bg.png",
|
||
|
"streets_roadwork_delineator_bottom_side.png",
|
||
|
"streets_roadwork_delineator_bottom_side.png",
|
||
|
"streets_roadwork_delineator_bottom_front_back.png^[transformFX",
|
||
|
"streets_roadwork_delineator_bottom_front_back.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
groups = { cracky = 1 },
|
||
|
light_source = 5,
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -7 / 32, 0, 1 / 4, 1 / 2, 0 },
|
||
|
{ -1 / 16, -5 / 16, -1 / 16, 1 / 16, -7 / 32, 1 / 16 },
|
||
|
{ -1 / 8, -3 / 8, -1 / 8, 1 / 8, -5 / 16, 1 / 8 },
|
||
|
{ -1 / 4, -1 / 2, -1 / 2, 1 / 4, -3 / 8, 1 / 2 }
|
||
|
}
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -7 / 32, 0, 1 / 4, 1, 0 },
|
||
|
{ -1 / 16, -5 / 16, -1 / 16, 1 / 16, -7 / 32, 1 / 16 },
|
||
|
{ -1 / 8, -3 / 8, -1 / 8, 1 / 8, -5 / 16, 1 / 8 },
|
||
|
{ -1 / 4, -1 / 2, -1 / 2, 1 / 4, -3 / 8, 1 / 2 }
|
||
|
}
|
||
|
},
|
||
|
after_place_node = function(pos)
|
||
|
local node = minetest.env:get_node(pos)
|
||
|
node.name = "streets:roadwork_delineator_bottom"
|
||
|
minetest.env:add_node(pos, node)
|
||
|
pos.y = pos.y + 1
|
||
|
node.name = "streets:roadwork_delineator_top"
|
||
|
minetest.env:add_node(pos, node)
|
||
|
end,
|
||
|
after_dig_node = function(pos)
|
||
|
pos.y = pos.y + 1
|
||
|
minetest.env:remove_node(pos)
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_alias("streets:roadwork_delineator", "streets:roadwork_delineator_bottom")
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_delineator 5",
|
||
|
recipe = {
|
||
|
{ "dye:red", "default:steel_ingot", "dye:red" },
|
||
|
{ "dye:white", "default:steel_ingot", "dye:white" },
|
||
|
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
|
||
|
}
|
||
|
})
|
||
|
|
||
|
|
||
|
|
||
|
minetest.register_node("streets:roadwork_delineator_light_off_top", {
|
||
|
tile_images = {
|
||
|
"streets_roadwork_delineator_top.png",
|
||
|
"streets_tl_bg.png",
|
||
|
"streets_transparent.png",
|
||
|
"streets_transparent.png",
|
||
|
"streets_roadwork_delineator_light_off_top_front_back.png^[transformFX",
|
||
|
"streets_roadwork_delineator_light_off_top_front_back.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
groups = { cracky = 1, not_in_creative_inventory = 1 },
|
||
|
light_source = 5,
|
||
|
on_timer = function(pos, elapsed)
|
||
|
minetest.set_node(pos, { name = "streets:roadwork_delineator_light_on_top", param2 = minetest.get_node(pos).param2 })
|
||
|
end,
|
||
|
on_construct = function(pos)
|
||
|
local timer = minetest.get_node_timer(pos)
|
||
|
timer:start(1)
|
||
|
end,
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -1 / 2, 0, 1 / 4, 3 / 8, 0 }
|
||
|
}
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = { 0, 0, 0, 0, 0, 0 }
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_delineator_light_on_top", {
|
||
|
tile_images = {
|
||
|
"streets_roadwork_delineator_top.png",
|
||
|
"streets_tl_bg.png",
|
||
|
"streets_transparent.png",
|
||
|
"streets_transparent.png",
|
||
|
"streets_roadwork_delineator_light_on_top_front_back.png^[transformFX",
|
||
|
"streets_roadwork_delineator_light_on_top_front_back.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
groups = { cracky = 1, not_in_creative_inventory = 1 },
|
||
|
light_source = 12,
|
||
|
on_timer = function(pos, elapsed)
|
||
|
minetest.set_node(pos, { name = "streets:roadwork_delineator_light_off_top", param2 = minetest.get_node(pos).param2 })
|
||
|
end,
|
||
|
on_construct = function(pos)
|
||
|
local timer = minetest.get_node_timer(pos)
|
||
|
timer:start(1)
|
||
|
end,
|
||
|
drop = "streets:roadwork_delineator_light_off_top",
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -1 / 2, 0, 1 / 4, 3 / 8, 0 }
|
||
|
}
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = { 0, 0, 0, 0, 0, 0 }
|
||
|
}
|
||
|
})
|
||
|
|
||
|
minetest.register_node("streets:roadwork_delineator_light_bottom", {
|
||
|
description = "Roadwork Delineator with Blinking Light",
|
||
|
inventory_image = "streets_roadwork_delineator_light.png",
|
||
|
wield_image = "streets_roadwork_delineator_light.png",
|
||
|
tile_images = {
|
||
|
"streets_roadwork_delineator_top.png",
|
||
|
"streets_tl_bg.png",
|
||
|
"streets_roadwork_delineator_bottom_side.png",
|
||
|
"streets_roadwork_delineator_bottom_side.png",
|
||
|
"streets_roadwork_delineator_bottom_front_back.png^[transformFX",
|
||
|
"streets_roadwork_delineator_bottom_front_back.png"
|
||
|
},
|
||
|
drawtype = "nodebox",
|
||
|
paramtype = "light",
|
||
|
paramtype2 = "facedir",
|
||
|
groups = { cracky = 1 },
|
||
|
light_source = 5,
|
||
|
node_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -7 / 32, 0, 1 / 4, 1 / 2, 0 },
|
||
|
{ -1 / 16, -5 / 16, -1 / 16, 1 / 16, -7 / 32, 1 / 16 },
|
||
|
{ -1 / 8, -3 / 8, -1 / 8, 1 / 8, -5 / 16, 1 / 8 },
|
||
|
{ -1 / 4, -1 / 2, -1 / 2, 1 / 4, -3 / 8, 1 / 2 }
|
||
|
}
|
||
|
},
|
||
|
selection_box = {
|
||
|
type = "fixed",
|
||
|
fixed = {
|
||
|
{ -1 / 4, -7 / 32, 0, 1 / 4, 11 / 8, 0 },
|
||
|
{ -1 / 16, -5 / 16, -1 / 16, 1 / 16, -7 / 32, 1 / 16 },
|
||
|
{ -1 / 8, -3 / 8, -1 / 8, 1 / 8, -5 / 16, 1 / 8 },
|
||
|
{ -1 / 4, -1 / 2, -1 / 2, 1 / 4, -3 / 8, 1 / 2 }
|
||
|
}
|
||
|
},
|
||
|
after_place_node = function(pos)
|
||
|
local node = minetest.env:get_node(pos)
|
||
|
node.name = "streets:roadwork_delineator_light_bottom"
|
||
|
minetest.env:add_node(pos, node)
|
||
|
pos.y = pos.y + 1
|
||
|
node.name = "streets:roadwork_delineator_light_off_top"
|
||
|
minetest.env:add_node(pos, node)
|
||
|
end,
|
||
|
after_dig_node = function(pos)
|
||
|
pos.y = pos.y + 1
|
||
|
minetest.env:remove_node(pos)
|
||
|
end,
|
||
|
})
|
||
|
|
||
|
minetest.register_alias("streets:roadwork_delineator_light", "streets:roadwork_delineator_light_bottom")
|
||
|
|
||
|
minetest.register_craft({
|
||
|
output = "streets:roadwork_delineator_light",
|
||
|
recipe = {
|
||
|
{ "streets:roadwork_blinking_light_off" },
|
||
|
{ "streets:roadwork_delineator" }
|
||
|
}
|
||
|
})
|