Vanessa Ezekowitz b9d0674640 update blox, bobblocks, coloredwood, technic, homedecor, ilights, stainedglass, unifiedbricks, unified dyes
also contains updates to castle modpack's tapestries that hasn't hit the official castle modpack yet.

removed redundant castle mod (should have been deleted when DB switched to the modpack one)
2017-03-18 06:53:09 -04:00

151 lines
3.8 KiB
Lua

local S = homedecor_i18n.gettext
lavalamp = {}
minetest.register_node("lavalamp:lavalamp", {
description = S("Lava Lamp"),
drawtype = "mesh",
mesh = "lavalamp.obj",
tiles = {
{ name = "lavalamp_metal.png", color = 0xffffffff},
{
name="lavalamp_lamp_anim.png",
animation={
type="vertical_frames",
aspect_w=40,
aspect_h=40,
length=6.0,
},
},
},
inventory_image = "lavalamp_lamp_inv.png",
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
place_param2 = 240,
sunlight_propagates = true,
walkable = false,
light_source = 14,
selection_box = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 },
},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1},
sounds = default.node_sound_glass_defaults(),
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
node.name = "lavalamp:lavalamp_off"
minetest.swap_node(pos, node)
return itemstack
end
})
minetest.register_node("lavalamp:lavalamp_off", {
description = S("Lava Lamp (off)"),
drawtype = "mesh",
mesh = "lavalamp.obj",
tiles = {
{ name = "lavalamp_metal.png", color = 0xffffffff },
"lavalamp_lamp_off.png",
},
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
place_param2 = 240,
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 },
},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1},
sounds = default.node_sound_glass_defaults(),
drop = "lavalamp:lavalamp",
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
node.name = "lavalamp:lavalamp"
minetest.swap_node(pos, node)
return itemstack
end,
})
minetest.register_craft({
output = "lavalamp:lavalamp",
recipe = {
{"", "wool:white", "", },
{"", "bucket:bucket_water", "", },
{"", "wool:black", "", }
}
})
-- convert to param2 coloring
local colors = {
"red",
"orange",
"yellow",
"green",
"blue",
"violet"
}
lavalamp.old_static_nodes = {}
for _, color in ipairs(colors) do
table.insert(lavalamp.old_static_nodes, "lavalamp:"..color)
table.insert(lavalamp.old_static_nodes, "lavalamp:"..color.."_off")
end
minetest.register_lbm({
name = "lavalamp:convert",
label = "Convert lava lamps to use param2 color",
run_at_every_load = false,
nodenames = lavalamp.old_static_nodes,
action = function(pos, node)
local name = node.name
local color
if string.find(name, "red") then
color = "red"
elseif string.find(name, "orange") then
color = "orange"
elseif string.find(name, "yellow") then
color = "yellow"
elseif string.find(name, "green") then
color = "green"
elseif string.find(name, "blue") then
color = "blue"
elseif string.find(name, "violet") then
color = "violet"
end
local paletteidx, _ = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
minetest.set_node(pos, { name = "lavalamp:lavalamp", param2 = paletteidx })
local meta = minetest.get_meta(pos)
meta:set_string("dye", "unifieddyes:"..color)
end
})
minetest.register_lbm({
name = "lavalamp:recolor",
label = "Convert 89-color lamps to use UD extended palette",
run_at_every_load = false,
nodenames = {
"lavalamp:lavalamp",
"lavalamp:lavalamp_off"
},
action = function(pos, node)
local meta = minetest.get_meta(pos)
if meta:get_string("palette") ~= "ext" then
minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] })
meta:set_string("palette", "ext")
end
end
})