BlockColor-CDB/mods/Decorations/beacon/beaminit.lua

74 lines
2.0 KiB
Lua

color1 = minetest.setting_get("color1") or "292421"
color2 = minetest.setting_get("color2") or "0000FF"
color3 = minetest.setting_get("color3") or "00FF00"
color4 = minetest.setting_get("color4") or "F5F5F5"
color5 = minetest.setting_get("color5") or "FF6103"
color6 = minetest.setting_get("color6") or "FF0000"
color7 = minetest.setting_get("color7") or "FFFF00"
color8 = minetest.setting_get("color8") or "FF69B4"
local source_list = {
{"black", "Color1", color1},
{"blue", "Color2", color2},
{"green", "Color3", color3},
{"white", "Color4", color4},
{"orange", "Color5", color5},
{"red", "Color6", color6},
{"yellow", "Color7", color7},
{"pink", "Color8", color8}
}
for i in ipairs(source_list) do
local color = source_list[i][1]
local desc = source_list[i][2]
local colour = source_list[i][3]
--Blue Beam
minetest.register_node("beacon:"..color.."base", {
visual_scale = 1.0,
drawtype = "plantlike",
tiles = {"beam.png^[colorize:#"..colour..":70" },
paramtype = "light",
walkable = false,
diggable = false,
light_source = 13,
groups = {not_in_creative_inventory=1}
})
minetest.register_node("beacon:"..color.."beam", {
visual_scale = 1.0,
drawtype = "plantlike",
tiles = {"beam.png^[colorize:#"..colour..":70"},
paramtype = "light",
walkable = false,
diggable = false,
light_source = 50,
groups = {not_in_creative_inventory=1}
})
minetest.register_abm({
nodenames = {"beacon:"..color.."base"}, --makes small particles emanate from the beginning of a beam
interval = 1,
chance = 2,
action = function(pos, node)
minetest.add_particlespawner(
32, --amount
4, --time
{x=pos.x-0.25, y=pos.y-0.25, z=pos.z-0.25}, --minpos
{x=pos.x+0.25, y=pos.y+0.25, z=pos.z+0.25}, --maxpos
{x=-0.8, y=-0.8, z=-0.8}, --minvel
{x=0.8, y=0.8, z=0.8}, --maxvel
{x=0,y=0,z=0}, --minacc
{x=0,y=0,z=0}, --maxacc
0.5, --minexptime
1, --maxexptime
1, --minsize
2, --maxsize
false, --collisiondetection
"particle.png^[colorize:#"..colour..":70" --texture
)
end,
})
end