update homedecor

master
Vanessa Ezekowitz 2015-05-14 13:01:21 -04:00
parent 4b6e31bfd9
commit 780065e210
31 changed files with 182 additions and 4 deletions

View File

@ -248,6 +248,7 @@ minetest.register_node("computer:tetris_arcade", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3},
on_rotate = screwdriver.rotate_simple,
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}

View File

@ -107,6 +107,7 @@ minetest.register_node("fake_fire:fancy_fire", {
light_source = 14,
walkable = false,
damage_per_second = 4,
on_rotate = screwdriver.rotate_simple,
tiles = {
{name="fake_fire_animated.png",
animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},

View File

@ -150,7 +150,8 @@ homedecor.register("taps", {
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
on_rightclick = taps_on_rightclick,
on_destruct = homedecor.stop_particle_spawner
on_destruct = homedecor.stop_particle_spawner,
on_rotate = screwdriver.disallow
})
homedecor.register("taps_brass", {
@ -172,7 +173,8 @@ homedecor.register("taps_brass", {
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
on_rightclick = taps_on_rightclick,
on_destruct = homedecor.stop_particle_spawner
on_destruct = homedecor.stop_particle_spawner,
on_rotate = screwdriver.disallow
})
--Shower Tray
@ -225,6 +227,7 @@ homedecor.register("shower_head", {
groups = {snappy=3},
selection_box = sh_cbox,
walkable = false,
on_rotate = screwdriver.disallow,
on_rightclick = function (pos, node, clicker)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-2.0, z=pos.z})
if below and below.name == "homedecor:shower_tray" then

View File

@ -64,6 +64,7 @@ for i in ipairs(bedcolors) do
selection_box = bed_sbox,
collision_box = bed_cbox,
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow,
after_place_node = function(pos, placer, itemstack, pointed_thing)
if not placer:get_player_control().sneak then
return homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, color)
@ -93,6 +94,7 @@ for i in ipairs(bedcolors) do
collision_box = bed_cbox,
sounds = default.node_sound_wood_defaults(),
expand = { forward = "air" },
on_rotate = screwdriver.disallow,
after_dig_node = function(pos)
homedecor.unextend_bed(pos, color)
end,
@ -121,6 +123,7 @@ for i in ipairs(bedcolors) do
selection_box = kbed_sbox,
collision_box = kbed_cbox,
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
local inv = digger:get_inventory()
if digger:get_player_control().sneak and inv:room_for_item("main", "bed_"..color.."_regular 1") then

View File

@ -37,6 +37,7 @@ homedecor.register("desk_fan", {
inventory_image = "homedecor_desk_fan_inv.png",
wield_image = "homedecor_desk_fan_inv.png",
selection_box = { type = "regular" },
on_rotate = screwdriver.disallow,
on_construct = function(pos)
local entity_remove = minetest.get_objects_inside_radius(pos, 0.1)
local meta = minetest.get_meta(pos)

View File

@ -92,6 +92,7 @@ homedecor.register("grandfather_clock", {
collision_box = gf_cbox,
sounds = default.node_sound_wood_defaults(),
expand = { top="air" },
on_rotate = screwdriver.rotate_simple
})
minetest.register_alias("homedecor:grandfather_clock_bottom", "homedecor:grandfather_clock")

View File

@ -3262,6 +3262,60 @@ minetest.register_craft({
recipe = {"default:goldblock", "default:sword_mese"}
})
minetest.register_craft({
output = "homedecor:lattice_wood 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "", "group:wood"},
{"group:stick", "group:wood", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:lattice_white_wood 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "dye:white", "group:wood"},
{"group:stick", "group:wood", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:lattice_wood_vegetal 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "group:leaves", "group:wood"},
{"group:stick", "group:wood", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:lattice_white_wood_vegetal 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "group:leaves", "group:wood"},
{"group:stick", "dye:white", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:stained_glass 8",
recipe = {
{"", "dye:blue", ""},
{"dye:red", "default:glass", "dye:green"},
{"", "dye:yellow", ""},
},
})
minetest.register_craft({
output = "homedecor:stained_glass",
recipe = {
{"", "dye:blue", ""},
{"dye:red", "xpanes:pane", "dye:green"},
{"", "dye:yellow", ""},
},
})
for i in ipairs(homedecor.banister_materials) do
local name = homedecor.banister_materials[i][1]

View File

@ -6,3 +6,5 @@ technic?
dye?
bees?
intllib?
bucket?
beds?

View File

@ -243,6 +243,7 @@ for i in ipairs(sides) do
use_texture_alpha = door_model.usealpha,
selection_box = selbox,
collision_box = colbox,
on_rotate = screwdriver.rotate_simple,
on_place = function(itemstack, placer, pointed_thing)
return homedecor.stack_wing(itemstack, placer, pointed_thing,
"homedecor:door_"..doorname.."_left", "air",
@ -620,6 +621,7 @@ minetest.register_node("homedecor:door_japanese_open", {
paramtype2 = "facedir",
groups = { snappy = 3, not_in_creative_inventory = 1 },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow,
selection_box = {
type = "fixed",
fixed = {-1.5, -0.5, -0.0625, 0.5, 1.5, 0},

View File

@ -56,6 +56,7 @@ homedecor.register("bench_large_1", {
sounds = default.node_sound_wood_defaults(),
selection_box = bl1_sbox,
node_box = bl1_cbox,
on_rotate = screwdriver.disallow
})
minetest.register_alias("homedecor:bench_large_1_left", "homedecor:bench_large_1")
@ -84,6 +85,7 @@ homedecor.register("bench_large_2", {
node_box = bl2_cbox,
expand = { right="air" },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow
})
minetest.register_alias("homedecor:bench_large_2_left", "homedecor:bench_large_2")
@ -103,6 +105,7 @@ homedecor.register("deckchair", {
sounds = default.node_sound_wood_defaults(),
selection_box = dc_cbox,
collision_box = dc_cbox,
on_rotate = screwdriver.disallow
})
minetest.register_alias("homedecor:deckchair_foot", "homedecor:deckchair")
@ -117,6 +120,7 @@ homedecor.register("deckchair_striped_blue", {
sounds = default.node_sound_wood_defaults(),
selection_box = dc_cbox,
collision_box = dc_cbox,
on_rotate = screwdriver.disallow
})
homedecor.register("doghouse", {
@ -133,6 +137,7 @@ homedecor.register("doghouse", {
groups = {snappy=3},
expand = { top="air" },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple
})
minetest.register_alias("homedecor:doghouse_roof", "air")
@ -180,6 +185,37 @@ homedecor.register("stonepath", {
sounds = default.node_sound_stone_defaults(),
})
local lattice_colors = {
{"wood", ".png^[colorize:#704214:180"},
{"white_wood", ".png"},
{"wood_vegetal", ".png^[colorize:#704214:180^homedecor_lattice_vegetal.png"},
{"white_wood_vegetal", ".png^homedecor_lattice_vegetal.png"},
}
for _, m in ipairs(lattice_colors) do
homedecor.register("lattice_"..m[1], {
description = "Garden Lattice ("..m[1]..")",
tiles = {"homedecor_lattice"..m[2]},
inventory_image = "homedecor_lattice"..m[2],
groups = { snappy=3 },
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.47, 0.5, 0.5, 0.47}, -- NodeBox1
{-0.5, 0.421875, 0.44, 0.5, 0.5, 0.5}, -- NodeBox2
{-0.5, -0.5, 0.44, 0.5, -0.421875, 0.5}, -- NodeBox3
{0.421875, -0.5, 0.44, 0.5, 0.5, 0.5}, -- NodeBox4
{-0.5, -0.5, 0.44, -0.421875, 0.5, 0.5} -- NodeBox5
}
},
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, 0.44, 0.5, 0.5, 0.5}
},
sounds = default.node_sound_wood_defaults(),
})
end
homedecor.register("swing", {
description = "Tree's swing",
tiles = {
@ -191,6 +227,7 @@ homedecor.register("swing", {
groups = { snappy=3, oddly_breakable_by_hand=3 },
sounds = default.node_sound_wood_defaults(),
walkable = false,
on_rotate = screwdriver.disallow,
node_box = {
type = "fixed",
fixed = {
@ -287,7 +324,29 @@ homedecor.register("well", {
collision_box = homedecor.nodebox.slab_y(2),
expand = { top="air" },
sounds = default.node_sound_stone_defaults(),
on_rotate = screwdriver.rotate_simple
})
if minetest.get_modpath("bucket") then
minetest.override_item("bucket:bucket_empty", {
on_use = function(itemstack, user, pointed_thing)
local wielditem = user:get_wielded_item()
local wieldname = itemstack:get_name()
local inv = user:get_inventory()
if pointed_thing.type == "node" and minetest.get_node(pointed_thing.under).name == "homedecor:well" then
if inv:room_for_item("main", "bucket:bucket_water 1") then
wielditem:take_item()
user:set_wielded_item(wielditem)
inv:add_item("main", "bucket:bucket_water 1")
else
minetest.chat_send_player(user:get_player_name(), "No room in your inventory to add a filled bucket!")
end
end
return wielditem
end
})
end
minetest.register_alias("homedecor:well_top", "air")
minetest.register_alias("homedecor:well_base", "homedecor:well")

View File

@ -181,6 +181,7 @@ homedecor.register("office_chair_"..c, {
selection_box = ofchairs_sbox,
collision_box = ofchairs_cbox,
expand = { top = "air" },
on_rotate = screwdriver.rotate_simple
})
end

View File

@ -99,6 +99,8 @@ function homedecor.find_ceiling(itemstack, placer, pointed_thing)
return isceiling, pos
end
if screwdriver == nil then screwdriver = {} end
homedecor.plain_wood = "homedecor_generic_wood_plain.png^"..
"(homedecor_generic_wood_boards_overlay.png^[colorize:#a7682020:100)"

View File

@ -18,6 +18,7 @@ homedecor.register("refrigerator_steel", {
size=50,
lockable=true,
},
on_rotate = screwdriver.rotate_simple
})
-- white, enameled fridge
@ -36,6 +37,7 @@ homedecor.register("refrigerator_white", {
size=50,
lockable=true
},
on_rotate = screwdriver.rotate_simple
})
minetest.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white")
@ -116,7 +118,8 @@ homedecor.register("coffee_maker", {
walkable = false,
groups = {snappy=3},
selection_box = cm_cbox,
node_box = cm_cbox
node_box = cm_cbox,
on_rotate = screwdriver.disallow
})
local fdir_to_steampos = {

View File

@ -113,6 +113,7 @@ homedecor.register("kitchen_faucet", {
groups = {snappy=3},
selection_box = kf_cbox,
walkable = false,
on_rotate = screwdriver.disallow,
on_rightclick = function(pos, node, clicker)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
if below and

View File

@ -472,6 +472,7 @@ local function reg_lamp(suffix, nxt, tilesuffix, light, color)
},
selection_box = slamp_cbox,
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
on_punch = function(pos, node, puncher)
node.name = "homedecor:standing_lamp"..lampcolor.."_"..repl[suffix]
minetest.set_node(pos, node)

View File

@ -280,6 +280,7 @@ homedecor.register("pool_table", {
collision_box = pooltable_cbox,
expand = { forward="air" },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow
})
minetest.register_alias("homedecor:pool_table_2", "air")
@ -322,6 +323,7 @@ homedecor.register("coat_tree", {
type = "fixed",
fixed = { -0.4, -0.5, -0.4, 0.4, 1.5, 0.4 }
},
on_rotate = screwdriver.rotate_simple
})
local cutlery_cbox = {
@ -439,6 +441,7 @@ homedecor.register("piano", {
collision_box = piano_cbox,
expand = { right="air" },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.disallow
})
minetest.register_alias("homedecor:piano_left", "homedecor:piano")
@ -562,6 +565,7 @@ homedecor.register("tool_cabinet", {
"homedecor_tool_cabinet_misc.png",
},
inventory_image = "homedecor_tool_cabinet_inv.png",
on_rotate = screwdriver.rotate_simple,
groups = { snappy=3 },
selection_box = homedecor.nodebox.slab_y(2),
expand = { top="air" },
@ -802,6 +806,7 @@ homedecor.register("spiral_staircase", {
},
groups = {choppy=2},
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
after_place_node = function(pos, placer, itemstack, pointed_thing)
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
local leftx = homedecor.fdir_to_left[fdir+1][1]
@ -870,6 +875,7 @@ homedecor.register("soda_machine", {
collision_box = svm_cbox,
expand = { top="air" },
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
on_punch = function(pos, node, puncher, pointed_thing)
local wielditem = puncher:get_wielded_item()
local wieldname = wielditem:get_name()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -19,6 +19,7 @@ homedecor.register("wardrobe", {
collision_box = wd_cbox,
sounds = default.node_sound_wood_defaults(),
expand = { top="air" },
on_rotate = screwdriver.rotate_simple,
on_construct = function(pos)
local meta = minetest.get_meta(pos)
local skins = {"male1", "male2", "male3", "male4", "male5"}

View File

@ -203,3 +203,17 @@ homedecor.register("window_flowerbox", {
}
}
})
homedecor.register("stained_glass", {
description = "Stained Glass",
tiles = {"homedecor_stained_glass.png"},
inventory_image = "homedecor_stained_glass.png",
groups = {snappy=3},
use_texture_alpha = true,
light_source = 3,
sounds = default.node_sound_glass_defaults(),
node_box = {
type = "fixed",
fixed = { {-0.5, -0.5, 0.46875, 0.5, 0.5, 0.5} }
}
})

View File

@ -30,6 +30,7 @@ minetest.register_node("inbox:empty", {
paramtype2 = "facedir",
groups = {choppy=2,oddly_breakable_by_hand=2},
sounds = default.node_sound_wood_defaults(),
on_rotate = screwdriver.rotate_simple,
after_place_node = function(pos, placer, itemstack)
local meta = minetest.get_meta(pos)
local owner = placer:get_player_name()

View File

@ -110,6 +110,7 @@ minetest.register_node("itemframes:frame",{
groups = { choppy=2,dig_immediate=2 },
legacy_wallmounted = true,
sounds = default.node_sound_defaults(),
on_rotate = screwdriver.disallow,
after_place_node = function(pos, placer, itemstack)
local meta = minetest.get_meta(pos)
meta:set_string("owner",placer:get_player_name())
@ -155,6 +156,7 @@ minetest.register_node("itemframes:pedestal",{
paramtype = "light",
groups = { cracky=3 },
sounds = default.node_sound_defaults(),
on_rotate = screwdriver.disallow,
after_place_node = function(pos, placer, itemstack)
local meta = minetest.get_meta(pos)
meta:set_string("owner",placer:get_player_name())

View File

@ -41,6 +41,7 @@ for i in ipairs(longsofas_list) do
sounds = default.node_sound_wood_defaults(),
selection_box = longsofa_sbox,
node_box = longsofa_cbox,
on_rotate = screwdriver.disallow,
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false)

View File

@ -41,6 +41,7 @@ for i in ipairs(sofas_list) do
sounds = default.node_sound_wood_defaults(),
selection_box = sofa_sbox,
node_box = sofa_cbox,
on_rotate = screwdriver.disallow,
on_place = function(itemstack, placer, pointed_thing)
local pos = pointed_thing.above
local fdir = minetest.dir_to_facedir(placer:get_look_dir(), false)

View File

@ -114,6 +114,7 @@ minetest.register_node("plasmascreen:tv", {
light_source = 10,
selection_box = tv_cbox,
collision_box = tv_cbox,
on_rotate = screwdriver.disallow,
groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2},
after_place_node = function(pos, placer, itemstack)
if not checkwall(pos) then

View File

@ -1,3 +1,3 @@
default
intllib?
screwdriver?

View File

@ -12,6 +12,20 @@
signs_lib = {}
local screwdriver = screwdriver or {}
signs_lib.wallmounted_rotate = function(pos, node, user, mode, new_param2)
if mode ~= screwdriver.ROTATE_AXIS then return false end
minetest.swap_node(pos, {name = node.name, param2 = (node.param2 + 1) % 6})
for _, v in ipairs(minetest.get_objects_inside_radius(pos, 0.5)) do
local e = v:get_luaentity()
if e and e.name == "signs:text" then
v:remove()
end
end
signs_lib.update_sign(pos)
return true
end
signs_lib.modpath = minetest.get_modpath("signs_lib")
signs_lib.regular_wall_sign_model = {
@ -697,6 +711,7 @@ minetest.register_node(":default:sign_wall", {
on_punch = function(pos, node, puncher)
signs_lib.update_sign(pos)
end,
on_rotate = signs_lib.wallmounted_rotate
})
minetest.register_node(":signs:sign_yard", {
@ -831,6 +846,7 @@ minetest.register_node(":locked_sign:sign_wall_locked", {
return pname == owner or pname == minetest.setting_get("name")
or minetest.check_player_privs(pname, {sign_editor=true})
end,
on_rotate = signs_lib.wallmounted_rotate
})
-- metal, colored signs