1351 lines
44 KiB
Lua
1351 lines
44 KiB
Lua
minetest.register_node("ma_pops_furniture:smoke_detector", {
|
|
description = "Smoke Detector",
|
|
tiles = {
|
|
"mp_t.png",
|
|
"mp_b.png",
|
|
"mp_si.png",
|
|
"mp_si.png",
|
|
"mp_si.png",
|
|
"mp_si.png"
|
|
},
|
|
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
|
on_timer = function(pos,elapsed)
|
|
if minetest.find_node_near(pos, 20, {"fire:basic_flame"}, false) then
|
|
local node = minetest.get_node(pos)
|
|
node.name = "ma_pops_furniture:smoke_detector_on"
|
|
minetest.remove_node(pos)
|
|
minetest.add_node(pos, node)
|
|
minetest.get_node_timer(pos):start(0.0)
|
|
else
|
|
-- Update every 10 seconds.
|
|
minetest.get_node_timer(pos):start(10.0)
|
|
end
|
|
end,
|
|
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
minetest.get_node_timer(pos):start(0.0)
|
|
end,
|
|
drawtype = "nodebox",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, 0.375, -0.375, 0.375, 0.5, 0.375}, -- NodeBox1
|
|
{-0.3125, 0.3125, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox2
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:smoke_detector_on", {
|
|
description = "Smoke Detector",
|
|
tiles = {
|
|
"mp_t.png",
|
|
"mp_b.png",
|
|
"mp_si.png",
|
|
"mp_si.png",
|
|
"mp_si.png",
|
|
"mp_si.png"
|
|
},
|
|
on_destruct = function(pos)
|
|
local meta = minetest.get_meta(pos)
|
|
if meta then
|
|
local tmp = meta:to_table()
|
|
if tmp then
|
|
if tmp.fields.sound_handle then
|
|
minetest.sound_stop(tmp.fields.sound_handle)
|
|
tmp.fields.sound_handle = nil
|
|
meta:from_table(tmp)
|
|
end
|
|
end
|
|
end
|
|
end,
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
local meta = minetest.get_meta(pos)
|
|
if meta then
|
|
local tmp = meta:to_table()
|
|
if tmp then
|
|
if tmp.fields.sound_handle then
|
|
minetest.sound_stop(tmp.fields.sound_handle)
|
|
tmp.fields.sound_handle = nil
|
|
minetest.get_node_timer(pos):start(3.0)
|
|
meta:from_table(tmp)
|
|
end
|
|
end
|
|
end
|
|
end,
|
|
drop = 'ma_pops_furniture:smoke_detector',
|
|
groups = {cracky = 3, oddly_breakable_by_hand = 3, not_in_creative_inventory= 1},
|
|
on_timer = function(pos,elapsed)
|
|
if minetest.find_node_near(pos, 20, {"fire:basic_flame"}, false) then
|
|
-- Play sound.
|
|
local meta = minetest.get_meta(pos)
|
|
if meta then
|
|
local tmp = meta:to_table()
|
|
if tmp then
|
|
if not tmp.fields.sound_handle then
|
|
local handle = minetest.sound_play("mp_smoke_detector", {pos = pos, gain = 2.1,max_hear_distance = 96,loop = true})
|
|
tmp.fields.sound_handle = handle
|
|
end
|
|
end
|
|
meta:from_table(tmp)
|
|
end
|
|
-- Update every 1.0 second.
|
|
minetest.get_node_timer(pos):start(1.0)
|
|
else
|
|
local meta = minetest.get_meta(pos)
|
|
if meta then
|
|
local tmp = meta:to_table()
|
|
if tmp then
|
|
minetest.sound_stop(tmp.fields.sound_handle)
|
|
if tmp.fields.sound_handle then
|
|
tmp.fields.sound_handle = nil
|
|
meta:from_table(tmp)
|
|
end
|
|
end
|
|
end
|
|
local node = minetest.get_node(pos)
|
|
node.name = "ma_pops_furniture:smoke_detector"
|
|
minetest.remove_node(pos)
|
|
minetest.add_node(pos, node)
|
|
minetest.get_node_timer(pos):start(0.0)
|
|
end
|
|
end,
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
light_source = light,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, 0.375, -0.375, 0.375, 0.5, 0.375}, -- NodeBox1
|
|
{-0.3125, 0.3125, -0.3125, 0.3125, 0.375, 0.3125}, -- NodeBox2
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_lbm({
|
|
label = "Replace all smoke detector's that are turned on.",
|
|
name = "ma_pops_furniture:replace_smoke_detector_on",
|
|
nodenames = {"ma_pops_furniture:smoke_detector_on"},
|
|
run_at_every_load = true,
|
|
action = function(pos, node)
|
|
node.name = "ma_pops_furniture:smoke_detector"
|
|
minetest.remove_node(pos)
|
|
minetest.add_node(pos, node)
|
|
minetest.get_node_timer(pos):start(0.0)
|
|
end
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:barrel", {
|
|
description = "Barrel",
|
|
paramtype2 = "facedir",
|
|
place_param2 = 0,
|
|
tiles = {
|
|
"mp_barrel.png", --top
|
|
"mp_barrel.png", --bottom
|
|
"mp_barrel.png^[transformR90", --right
|
|
"mp_barrel.png^[transformR90", --left
|
|
"mp_barrel_top.png", --back
|
|
"mp_barrel_top.png" --front
|
|
},
|
|
is_ground_content = false,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1},
|
|
on_construct = function(pos)
|
|
local meta = minetest.env:get_meta(pos)
|
|
local inv = meta:get_inventory()
|
|
inv:set_size('main', 8*4)
|
|
inv:set_size('storage', 9*3)
|
|
meta:set_string('formspec',
|
|
'size [9,9]'..
|
|
'bgcolor[#080808BB;false]'..
|
|
'list[current_name;storage;0,0.2;9,3;]'..
|
|
'list[current_player;main;0.5,5;8,4;]')
|
|
end,
|
|
can_dig = function(pos,player)
|
|
local meta = minetest.get_meta(pos);
|
|
local inv = meta:get_inventory()
|
|
return inv:is_empty('storage') and inv:is_empty('storage1')
|
|
end,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:blinds", {
|
|
description = "Blinds",
|
|
tiles = {"mp_blinds.png"},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
|
sunlight_propagates = true;
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.5, 0.5, 0.5, 0.4, 0.4},
|
|
{-0.5, 0.3, 0.5, 0.5, 0.2, 0.4},
|
|
{-0.5, 0.1, 0.5, 0.5, 0.0, 0.4},
|
|
{-0.5, -0.1, 0.5, 0.5, -0.2, 0.4},
|
|
{-0.5, -0.3, 0.5, 0.5, -0.4, 0.4},
|
|
},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:light", {
|
|
description = "Ceiling Light",
|
|
tiles = {
|
|
"default_coral_skeleton.png",
|
|
"mp_ceiling_light_bottom.png",
|
|
"mp_ceiling_light_side.png",
|
|
"mp_ceiling_light_side.png",
|
|
"mp_ceiling_light_side.png",
|
|
"mp_ceiling_light_side.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:light_on"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, 0.4375, -0.25, 0.25, 0.5, 0.25}, -- NodeBox1
|
|
{-0.125, 0.3125, -0.125, 0.125, 0.4375, 0.125}, -- NodeBox2
|
|
{-0.1875, -0.0625, -0.1875, 0.1875, 0.3125, 0.1875}, -- NodeBox3
|
|
},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:light_on", {
|
|
description = "Ceiling Light",
|
|
tiles = {
|
|
"default_coral_skeleton.png",
|
|
"mp_ceiling_light_bottom.png",
|
|
"mp_ceiling_light_side.png",
|
|
"mp_ceiling_light_side.png",
|
|
"mp_ceiling_light_side.png",
|
|
"mp_ceiling_light_side.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
drop = "ma_pops_furniture:light",
|
|
light_source = 14,
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:light"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, 0.4375, -0.25, 0.25, 0.5, 0.25}, -- NodeBox1
|
|
{-0.125, 0.3125, -0.125, 0.125, 0.4375, 0.125}, -- NodeBox2
|
|
{-0.1875, -0.0625, -0.1875, 0.1875, 0.3125, 0.1875}, -- NodeBox3
|
|
},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:ceiling_lamp", {
|
|
description = "Ceiling Lamp",
|
|
tiles = {
|
|
"default_stone.png",
|
|
"default_stone.png^mp_light_off.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:ceiling_lamp_on"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.050, 0.5, -0.050, 0.050, -0.2, 0.050},
|
|
{-0.1, -0.0, -0.1, 0.1, -0.2, 0.1},
|
|
{-0.2, -0.1, -0.2, 0.2, -0.2, 0.2},
|
|
{-0.3, -0.2, -0.3, 0.3, -0.5, 0.3},
|
|
},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:ceiling_lamp_on", {
|
|
description = "Ceiling Lamp On",
|
|
tiles = {
|
|
"default_stone.png",
|
|
"default_stone.png^mp_light_on.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
light_source = 14,
|
|
drop = 'ma_pops_furniture:ceiling_lamp',
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:ceiling_lamp"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.050, 0.5, -0.050, 0.050, -0.2, 0.050},
|
|
{-0.1, -0.0, -0.1, 0.1, -0.2, 0.1},
|
|
{-0.2, -0.1, -0.2, 0.2, -0.2, 0.2},
|
|
{-0.3, -0.2, -0.3, 0.3, -0.5, 0.3},
|
|
},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:fan_on", {
|
|
description = "Fan (on)",
|
|
tiles = {
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
{
|
|
name = "mp_fan_on.png",
|
|
animation = {
|
|
type = "vertical_frames",
|
|
aspect_w = 16,
|
|
aspect_h = 16,
|
|
length = 0.3
|
|
},
|
|
},
|
|
},
|
|
drawtype = "nodebox",
|
|
drop = 'ma_pops_furniture:fan_off',
|
|
paramtype2 = "facedir",
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:fan_off"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.5, 0.2, 0.5, -0.5, -0.2},
|
|
},
|
|
}
|
|
})
|
|
minetest.register_node("ma_pops_furniture:fan_off", {
|
|
description = "Fan",
|
|
tiles = {
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"mp_fan_off.png",
|
|
"mp_fan_off.png",
|
|
},
|
|
drawtype = "nodebox",
|
|
drop = 'ma_pops_furniture:fan_off',
|
|
paramtype2 = "facedir",
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:fan_on"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.5, 0.2, 0.5, -0.5, -0.2},
|
|
},
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:ac", {
|
|
description = "AC",
|
|
tiles = {
|
|
"mp_ac_top.png",
|
|
"mp_ac_top.png",
|
|
"mp_ac_top.png",
|
|
"mp_ac_top.png",
|
|
"mp_ac_b.png",
|
|
"mp_ac_f.png",
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
drop = 'ma_pops_furniture:ac',
|
|
paramtype2 = "facedir",
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{0.5, 0.5, 0.5, -0.5, -0.5, -0.4},
|
|
{0.5, 0.2, -0.5, -0.5, -0.5, -0.4},
|
|
},
|
|
}
|
|
})
|
|
|
|
local lamp_table = { --name, color, colorize(hex or color name:intensity(1-255))
|
|
{'Black', 'black', 'black:225'},
|
|
{'Blue', 'blue', 'blue:225'},
|
|
{'Brown', 'brown', 'brown:225'},
|
|
{'Cyan', 'cyan', 'cyan:200'},
|
|
{'Dark Green', 'dark_green', 'green:225'},
|
|
{'Dark Grey', 'dark_grey', 'black:200'},
|
|
{'Green', 'green', '#32cd32:150'},
|
|
{'Grey', 'grey', 'black:100'},
|
|
{'Magenta', 'magenta', 'magenta:200'},
|
|
{'Orange', 'orange', 'orange:225'},
|
|
{'Pink', 'pink', 'pink:225'},
|
|
{'Red', 'red', 'red:225'},
|
|
{'Violet', 'violet', 'violet:225'},
|
|
{'White', 'white', 'white:1'},
|
|
{'Yellow', 'yellow', 'yellow:225'},
|
|
}
|
|
|
|
for i in ipairs (lamp_table) do
|
|
local name = lamp_table[i][1]
|
|
local color = lamp_table[i][2]
|
|
local hex = lamp_table[i][3]
|
|
|
|
minetest.register_node("ma_pops_furniture:lamp_"..color, {
|
|
description= name.. " Lamp",
|
|
tiles= {"mp_lt.png","mp_lb_middle.png^[colorize:"..hex.."^mp_lb.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png",},
|
|
drawtype= "nodebox",
|
|
light_source = 14,
|
|
paramtype = "facedir",
|
|
drop= 'ma_pops_furniture:lamp_off_'..color,
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:lamp_off_"..color
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1, furniture = 1},
|
|
node_box= {
|
|
type= "fixed",
|
|
fixed= {
|
|
{-0.25, -0.4375, -0.25, 0.25, -0.0625, 0.25},
|
|
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375},
|
|
{-0.1875, -0.4375, -0.1875, 0.1875, -0.5, 0.1875},
|
|
},
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:lamp_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:lamp_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:lamp_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:lamp_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:lamp_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:lamp_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:lamp_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:lamp_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:lamp_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:lamp_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:lamp_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:lamp_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:lamp_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:lamp_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:lamp_brown"
|
|
minetest.set_node(pos, node)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:lamp_off_"..color, {
|
|
description= name.. " Lamp",
|
|
tiles= {"mp_lt.png","mp_lb_middle.png^[colorize:"..hex.."^mp_lb.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png","mp_ls.png^[colorize:"..hex.."^mp_ls_top.png",},
|
|
drawtype= "nodebox",
|
|
paramtype = "facedir",
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:lamp_"..color
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
|
node_box= {
|
|
type= "fixed",
|
|
fixed= {
|
|
{-0.25, -0.4375, -0.25, 0.25, -0.0625, 0.25},
|
|
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375},
|
|
{-0.1875, -0.4375, -0.1875, 0.1875, -0.5, 0.1875},
|
|
},
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:lamp_off_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:lamp_off_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:lamp_off_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:lamp_off_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:lamp_off_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:lamp_off_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:lamp_off_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:lamp_off_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:lamp_off_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:lamp_off_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:lamp_off_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:lamp_off_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:lamp_off_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:lamp_off_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:lamp_off_brown"
|
|
minetest.set_node(pos, node)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
end
|
|
|
|
local curtain_table = { --name, color, colorize(hex or color name:intensity(1-255))
|
|
{'Black', 'black', 'black:225'},
|
|
{'Blue', 'blue', 'blue:225'},
|
|
{'Brown', 'brown', 'brown:225'},
|
|
{'Cyan', 'cyan', 'cyan:200'},
|
|
{'Dark Green', 'dark_green', 'green:225'},
|
|
{'Dark Grey', 'dark_grey', 'black:200'},
|
|
{'Green', 'green', '#32cd32:150'},
|
|
{'Grey', 'grey', 'black:100'},
|
|
{'Magenta', 'magenta', 'magenta:200'},
|
|
{'Orange', 'orange', 'orange:225'},
|
|
{'Pink', 'pink', 'pink:225'},
|
|
{'Red', 'red', 'red:225'},
|
|
{'Violet', 'violet', 'violet:225'},
|
|
{'White', 'white', 'white:1'},
|
|
{'Yellow', 'yellow', 'yellow:225'},
|
|
}
|
|
|
|
for i in ipairs (curtain_table) do
|
|
local name = curtain_table[i][1]
|
|
local color = curtain_table[i][2]
|
|
local hex = curtain_table[i][3]
|
|
|
|
minetest.register_node("ma_pops_furniture:curtains_"..color, {
|
|
description= name.. " Curtains",
|
|
tiles= {"default_acacia_tree.png","wool_"..color..".png^mp_curtainb.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png",},
|
|
drawtype= "nodebox",
|
|
paramtype= "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
|
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:curtains_closed_"..color
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
node_box= {
|
|
type= "fixed",
|
|
fixed= {
|
|
{-0.5, -0.3, 0.5, -0.2, 0.5, 0.4},
|
|
{-0.5, -0.5, 0.5, -0.3, -0.3, 0.4},
|
|
{-0.5, 0.5, 0.5, 0.5, 0.2, 0.4},
|
|
{-0.5, 0.5, 0.5, 0.5, 0.440, 0.350},
|
|
{0.5, -0.3, 0.5, 0.2, 0.5, 0.4},
|
|
{0.5, -0.5, 0.5, 0.3, -0.3, 0.4},
|
|
},
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:curtains_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:curtains_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:curtains_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:curtains_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:curtains_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:curtains_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:curtains_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:curtains_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:curtains_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:curtains_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:curtains_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:curtains_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:curtains_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:curtains_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:curtains_brown"
|
|
minetest.set_node(pos, node)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:curtains_closed_"..color, {
|
|
description = name.." Closed Curtains",
|
|
tiles= {"default_acacia_tree.png","wool_"..color..".png^mp_curtainb.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png","wool_"..color..".png^mp_curtains.png",},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1, furniture = 1},
|
|
drop = "ma_pops_furniture:curtains_"..color,
|
|
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:curtains_"..color
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, 0.5, 0.5, 0.5, 0.4},
|
|
{-0.5, 0.5, 0.5, 0.5, 0.440, 0.350},
|
|
|
|
},
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:curtains_closed_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:curtains_closed_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:curtains_closed_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:curtains_closed_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:curtains_closed_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:curtains_closed_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:curtains_closed_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:curtains_closed_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:curtains_closed_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:curtains_closed_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:curtains_closed_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:curtains_closed_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:curtains_closed_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:curtains_closed_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:curtains_closed_brown"
|
|
minetest.set_node(pos, node)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:curtains_2_tall_"..color, {
|
|
description= name.. " Tall Curtains",
|
|
tiles = {"wool_"..color..".png"},
|
|
drawtype= "nodebox",
|
|
paramtype= "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, furniture = 1},
|
|
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_"..color
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
node_box= {
|
|
type= "fixed",
|
|
fixed= {
|
|
{-0.5, -0.3, 0.5, -0.2, 0.5, 0.4},
|
|
{-0.5, -0.5, 0.5, -0.3, -0.3, 0.4},
|
|
{-0.5, 0.5, 0.5, 0.5, 0.2, 0.4},
|
|
{0.5, -0.3, 0.5, 0.2, 0.5, 0.4},
|
|
{0.5, -0.5, 0.5, 0.3, -0.3, 0.4},
|
|
{-0.5, -0.5, 0.5, -0.3, -1.2, 0.4},
|
|
{0.5, -0.5, 0.5, 0.3, -1.2, 0.4},
|
|
{-0.5, -1.2, 0.5, -0.4, -1.5, 0.4},
|
|
{0.5, -1.2, 0.5, 0.4, -1.5, 0.4},
|
|
},
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_brown"
|
|
minetest.set_node(pos, node)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:curtains_2_tall_closed_"..color, {
|
|
description= name.. " Closed Tall Curtains",
|
|
tiles = {"wool_"..color..".png"},
|
|
drawtype= "nodebox",
|
|
paramtype= "light",
|
|
paramtype2 = "facedir",
|
|
drop = "ma_pops_furniture:curtains_2_tall_"..color,
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, not_in_creative_inventory = 1},
|
|
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:curtains_2_tall_"..color
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
node_box= {
|
|
type= "fixed",
|
|
fixed= {
|
|
{0.5, 0.5, 0.5, -0.5, -1.5, 0.4},
|
|
},
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:curtains_2_tall_closed_brown"
|
|
minetest.set_node(pos, node)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
end
|
|
|
|
minetest.register_node("ma_pops_furniture:computer", {
|
|
description = "Computer",
|
|
tiles = {
|
|
"mp_s.png^mp_top.png",
|
|
"mp_s.png",
|
|
"mp_s.png",
|
|
"mp_s.png",
|
|
"mp_s.png",
|
|
"mp_s.png^mp_f.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {snappy=2, oddly_breakable_by_hand=2, furniture=1, flammable=1},
|
|
sounds = moditems.WOOD_SOUNDS,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.1875, 0.5, -0.25, 0.5},
|
|
{-0.5, -0.5, -0.5, 0.1875, -0.375, -0.25},
|
|
{0.25, -0.5, -0.5, 0.4375, -0.375, -0.25},
|
|
{-0.125, -0.25, 0.0625, 0.125, -0.0625, 0.25},
|
|
{-0.3125, -0.125, -0.25, 0.3125, 0.5, 0.3125},
|
|
{-0.25, 0, 0.3125, 0.25, 0.375, 0.5},
|
|
}
|
|
}
|
|
})
|
|
|
|
local stool_table = { --name, color, colorize(hex or color name:intensity(1-255))
|
|
{'Black', 'black', 'black:225'},
|
|
{'Blue', 'blue', 'blue:150'},
|
|
{'Brown', 'brown', 'brown:100'},
|
|
{'Cyan', 'cyan', 'cyan:150'},
|
|
{'Dark Green', 'dark_green', 'green:200'},
|
|
--{'Dark Grey', 'dark_grey', 'black:200'},
|
|
{'Green', 'green', '#32cd32:150'},
|
|
--{'Grey', 'grey', 'black:150'},
|
|
{'Magenta', 'magenta', 'magenta:200'},
|
|
{'Orange', 'orange', 'orange:150'},
|
|
{'Pink', 'pink', 'pink:150'},
|
|
{'Red', 'red', 'red:150'},
|
|
{'Violet', 'violet', 'violet:150'},
|
|
{'White', 'white', 'white:150'},
|
|
{'Yellow', 'yellow', 'yellow:150'},
|
|
}
|
|
|
|
for i in ipairs (stool_table) do
|
|
local name = stool_table[i][1]
|
|
local color = stool_table[i][2]
|
|
local hex = stool_table[i][3]
|
|
|
|
minetest.register_node("ma_pops_furniture:stool_"..color, {
|
|
description = name.. " Stool",
|
|
tiles = {
|
|
"mp_stool_top1.png^mp_stool_top.png^[colorize:"..hex.."^mp_stool_top1.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, furniture = 1},
|
|
can_dig = ma_pops_furniture.sit_dig,
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
pos.y = pos.y + 0 -- Sitting position
|
|
ma_pops_furniture.sit(pos, node, clicker, pointed_thing)
|
|
return itemstack
|
|
end,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, -0.5, -0.375, -0.1875, 0.375, -0.1875}, -- NodeBox1
|
|
{-0.375, -0.5, 0.1875, -0.1875, 0.375, 0.375}, -- NodeBox2
|
|
{0.1875, -0.5, 0.1875, 0.375, 0.375, 0.375}, -- NodeBox3
|
|
{0.1875, -0.5, -0.375, 0.375, 0.375, -0.1875}, -- NodeBox4
|
|
{-0.375, 0.1875, -0.375, 0.375, 0.375, 0.375}, -- NodeBox5
|
|
{0.25, -0.375, -0.1875, 0.3125, -0.3125, 0.1875}, -- NodeBox6
|
|
{-0.1875, -0.375, -0.3125, 0.1875, -0.3125, -0.25}, -- NodeBox7
|
|
{-0.1875, -0.375, 0.25, 0.1875, -0.3125, 0.3125}, -- NodeBox8
|
|
{-0.3125, -0.375, -0.1875, -0.25, -0.3125, 0.1875}, -- NodeBox9
|
|
{-0.3125, 0.375, -0.3125, 0.3125, 0.4375, 0.3125}, -- NodeBox10
|
|
}
|
|
},
|
|
on_punch = function(pos, node, clicker)
|
|
for _, obj in ipairs (minetest.get_connected_players()) do
|
|
local item = obj:get_wielded_item():get_name()
|
|
if item == 'dye:black' then
|
|
node.name = "ma_pops_furniture:stool_black"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:white' then
|
|
node.name = "ma_pops_furniture:stool_white"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:grey' then
|
|
node.name = "ma_pops_furniture:stool_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_grey' then
|
|
node.name = "ma_pops_furniture:stool_dark_grey"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:violet' then
|
|
node.name = "ma_pops_furniture:stool_violet"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:blue' then
|
|
node.name = "ma_pops_furniture:stool_blue"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:cyan' then
|
|
node.name = "ma_pops_furniture:stool_cyan"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:dark_green' then
|
|
node.name = "ma_pops_furniture:stool_dark_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:green' then
|
|
node.name = "ma_pops_furniture:stool_green"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:yellow' then
|
|
node.name = "ma_pops_furniture:stool_yellow"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:orange' then
|
|
node.name = "ma_pops_furniture:stool_orange"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:red' then
|
|
node.name = "ma_pops_furniture:stool_red"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:magenta' then
|
|
node.name = "ma_pops_furniture:stool_magenta"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:pink' then
|
|
node.name = "ma_pops_furniture:stool_pink"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
if item == 'dye:brown' then
|
|
node.name = "ma_pops_furniture:stool_brown"
|
|
minetest.set_node(pos, node)
|
|
else
|
|
ma_pops_furniture.sit(pos, node, clicker)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
})
|
|
end
|
|
|
|
minetest.register_node("ma_pops_furniture:stairs", {
|
|
description= "Stairs",
|
|
tiles = {
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png",
|
|
"default_coral_skeleton.png^mp_stairs_side.png",
|
|
"default_coral_skeleton.png^mp_stairs_side.png^[transformFX",
|
|
"default_coral_skeleton.png^mp_stairs_back.png",
|
|
"default_coral_skeleton.png^mp_stairs_front.png"
|
|
},
|
|
drawtype = "mesh",
|
|
mesh= "stairs.obj",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.375, 0, 0.5, 0.5, 0.5}, -- NodeBox18
|
|
{-0.5, -0.125, -0.5, 0.5, 0, 0}, -- NodeBox19
|
|
{-0.0625, -0.375, -0.3125, 0.0625, -0.125, -0.1875}, -- NodeBox20
|
|
{-0.0625, -0.25, 0.1875, 0.0625, 0.375, 0.3125}, -- NodeBox21
|
|
{-0.0625, -0.375, -0.1875, 0.0625, -0.25, 0.3125}, -- NodeBox23
|
|
{-0.0625, -0.25, 0.0625, 0.0625, -0.125, 0.1875}, -- NodeBox24
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:lamp_1", {
|
|
description = "lamp",
|
|
tiles = {
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png",
|
|
"default_stone.png"
|
|
},
|
|
groups = {cracky=2, oddly_breakable_by_hand=3},
|
|
on_construct = function(pos)
|
|
if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name == "air" then
|
|
minetest.set_node({x = pos.x, y = pos.y + 1, z = pos.z}, {name = "ma_pops_furniture:lamp_2_off"})
|
|
end
|
|
|
|
if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name ~= "air" then
|
|
if minetest.get_node(vector.add(pos, vector.new(0, 1, 0))).name ~= "ma_pops_furniture:lamp_2_off" then
|
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z},{name = "air"})
|
|
end
|
|
end
|
|
|
|
end,
|
|
|
|
on_dig = function(pos, node, player)
|
|
minetest.set_node({x = pos.x , y = pos.y + 1, z = pos.z}, {name = "air"})
|
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"})
|
|
end,
|
|
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.25, -0.5, -0.25, 0.25, -0.375, 0.25}, -- NodeBox16
|
|
{-0.0625, -0.375, -0.0625, 0.0625, 0.5, 0.0625}, -- NodeBox17
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:lamp_2_on", {
|
|
description = "lamp2",
|
|
tiles = {
|
|
"mp_lt.png",
|
|
"mp_lt.png",
|
|
"default_stone.png^mp_ls_top.png",
|
|
"default_stone.png^mp_ls_top.png",
|
|
"default_stone.png^mp_ls_top.png",
|
|
"default_stone.png^mp_ls_top.png"
|
|
},
|
|
groups = {cracky=2, oddly_breakable_by_hand=3, not_in_creative_inventory = 1},
|
|
drop = "test:node_1",
|
|
on_dig = function(pos, node, player)
|
|
minetest.set_node({x = pos.x , y = pos.y - 1, z = pos.z}, {name = "air"})
|
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"})
|
|
end,
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
light_source = 14,
|
|
drop = 'ma_pops_furniture:lamp_2_off',
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:lamp_2_off"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375}, -- NodeBox16
|
|
{-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, -- NodeBox17
|
|
}
|
|
}
|
|
})
|
|
|
|
minetest.register_node("ma_pops_furniture:lamp_2_off", {
|
|
description = "lamp2",
|
|
tiles = {
|
|
"mp_lt.png",
|
|
"mp_lt.png",
|
|
"default_stone.png^mp_ls_top.png",
|
|
"default_stone.png^mp_ls_top.png",
|
|
"default_stone.png^mp_ls_top.png",
|
|
"default_stone.png^mp_ls_top.png"
|
|
},
|
|
groups = {cracky=2, oddly_breakable_by_hand=3, not_in_creative_inventory = 1},
|
|
drop = "test:node_1",
|
|
on_dig = function(pos, node, player)
|
|
minetest.set_node({x = pos.x , y = pos.y - 1, z = pos.z}, {name = "air"})
|
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "air"})
|
|
end,
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
on_rightclick = function (pos, node, player, itemstack, pointed_thing)
|
|
node.name = "ma_pops_furniture:lamp_2_on"
|
|
minetest.set_node(pos, node)
|
|
end,
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, -0.0625, -0.375, 0.375, 0.5, 0.375}, -- NodeBox16
|
|
{-0.0625, -0.5, -0.0625, 0.0625, 0.1875, 0.0625}, -- NodeBox17
|
|
}
|
|
}
|
|
}) |