Merge remote-tracking branch 'upstream/master'

This commit is contained in:
bri cassa 2022-03-06 16:31:31 +01:00
commit 680f8e8995
77 changed files with 217 additions and 278 deletions

View File

@ -1,19 +0,0 @@
{
"name": "homedecor_modpack",
"description": "This mod adds a whole bunch of new items to Minetest suitable for decorating inside and outside a home.",
"keywords": [
"building",
"cosmetic",
"homedecor modpack",
"homedecor_modpack"
],
"homepage": "http://daconcepts.com/vanessa/hobbies/minetest/homedecor-crafting-guide/homedecor-craft-guide.html",
"project": "https://github.com/minetest-mods/homedecor_modpack",
"forum": "http://forum.minetest.net/viewtopic.php?f=11&t=2041",
"screenshots": [
"http://daconcepts.com/vanessa/hobbies/minetest/screenshots/homedecor1.png"
],
"authors": [
"VanessaE"
]
}

View File

@ -1,77 +1,48 @@
local S = minetest.get_translator("building_blocks") local S = minetest.get_translator("building_blocks")
local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
local function building_blocks_stairs(nodename, def) local function building_blocks_stairs(nodename, def)
minetest.register_node(nodename, def) minetest.register_node(nodename, def)
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then if minetest.get_modpath("moreblocks") then
local mod, name = nodename:match("(.*):(.*)") local mod, name = nodename:match("(.*):(.*)")
minetest.register_alias(mod .. ":slab_" .. name, "stairs:slab_" .. name) stairsplus:register_all(mod, name, nodename, def)
minetest.register_alias(mod .. ":stair_" .. name, "stairs:stair_" .. name)
local stairs_groups = {}
for _, groupname in ipairs(stairs_groups_names) do
stairs_groups[groupname] = def.groups[groupname]
end
if minetest.get_modpath("moreblocks") then minetest.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name)
stairsplus:register_all( minetest.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name)
mod, minetest.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
name, minetest.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
nodename,
{
description = def.description,
tiles = def.tiles,
groups = stairs_groups,
sounds = def.sounds,
}
)
else
stairs.register_stair_and_slab(name,nodename,
stairs_groups,
def.tiles,
def.stair_desc,
def.slab_desc,
def.sounds
--FIXME: Missing descriptions for Inner and Outer stairs
-- See https://github.com/minetest/minetest_game/pull/2584
)
end
end end
end end
building_blocks_stairs("building_blocks:grate", { building_blocks_stairs("building_blocks:grate", {
drawtype = "glasslike", drawtype = "glasslike",
description = S("Grate"), description = S("Grate"),
stair_desc = S("Grate Stair"),
slab = S("Grate Slab"),
tiles = {"building_blocks_grate.png"}, tiles = {"building_blocks_grate.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = true, is_ground_content = true,
use_texture_alpha = "clip",
groups = {cracky=1}, groups = {cracky=1},
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
}) })
building_blocks_stairs("building_blocks:smoothglass", { building_blocks_stairs("building_blocks:smoothglass", {
drawtype = "glasslike", drawtype = "glasslike",
description = S("Streak Free Glass"), description = S("Streak Free Glass"),
stair_desc = S("Streak Free Glass Stair"),
slab_desc = S("Streak Free Glass Slab"),
tiles = {"building_blocks_sglass.png"}, tiles = {"building_blocks_sglass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = true, is_ground_content = true,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3}, groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
}) })
building_blocks_stairs("building_blocks:woodglass", { building_blocks_stairs("building_blocks:woodglass", {
drawtype = "glasslike", drawtype = "glasslike",
description = S("Wood Framed Glass"), description = S("Wood Framed Glass"),
stair_desc = S("Wood Framed Glass Stair"),
slab_desc = S("Wood Framed Glass Slab"),
tiles = {"building_blocks_wglass.png"}, tiles = {"building_blocks_wglass.png"},
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = true, is_ground_content = true,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3}, groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
}) })
@ -79,8 +50,6 @@ building_blocks_stairs("building_blocks:woodglass", {
building_blocks_stairs("building_blocks:Adobe", { building_blocks_stairs("building_blocks:Adobe", {
tiles = {"building_blocks_Adobe.png"}, tiles = {"building_blocks_Adobe.png"},
description = S("Adobe"), description = S("Adobe"),
stair_desc = S("Adobe Stair"),
slab_desc = S("Adobe Slab"),
is_ground_content = true, is_ground_content = true,
groups = {crumbly=3}, groups = {crumbly=3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
@ -88,8 +57,6 @@ building_blocks_stairs("building_blocks:Adobe", {
building_blocks_stairs("building_blocks:fakegrass", { building_blocks_stairs("building_blocks:fakegrass", {
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
description = S("Fake Grass"), description = S("Fake Grass"),
stair_desc = S("Fake Grass Stair"),
slab_desc = S("Fake Grass Slab"),
is_ground_content = true, is_ground_content = true,
groups = {crumbly=3}, groups = {crumbly=3},
sounds = default.node_sound_dirt_defaults({ sounds = default.node_sound_dirt_defaults({
@ -100,8 +67,6 @@ building_blocks_stairs("building_blocks:hardwood", {
tiles = {"building_blocks_hardwood.png"}, tiles = {"building_blocks_hardwood.png"},
is_ground_content = true, is_ground_content = true,
description = S("Hardwood"), description = S("Hardwood"),
stair_desc = S("Hardwood Stair"),
slab_desc = S("Hardwood Slab"),
groups = {choppy=1,flammable=1}, groups = {choppy=1,flammable=1},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
}) })
@ -109,15 +74,11 @@ building_blocks_stairs("building_blocks:Roofing", {
tiles = {"building_blocks_Roofing.png"}, tiles = {"building_blocks_Roofing.png"},
is_ground_content = true, is_ground_content = true,
description = S("Roof block"), description = S("Roof block"),
stair_desc = S("Roof block Stair"),
slab_desc = S("Roof block Slab"),
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
}) })
building_blocks_stairs("building_blocks:Tar", { building_blocks_stairs("building_blocks:Tar", {
description = S("Tar"), description = S("Tar"),
stair_desc = S("Tar Stair"),
slab_desc = S("Tar Slab"),
tiles = {"building_blocks_tar.png"}, tiles = {"building_blocks_tar.png"},
is_ground_content = true, is_ground_content = true,
groups = {crumbly=1, tar_block = 1}, groups = {crumbly=1, tar_block = 1},
@ -125,8 +86,6 @@ building_blocks_stairs("building_blocks:Tar", {
}) })
building_blocks_stairs("building_blocks:Marble", { building_blocks_stairs("building_blocks:Marble", {
description = S("Marble"), description = S("Marble"),
stair_desc = S("Marble Stair"),
slab_desc = S("Marble Slab"),
tiles = {"building_blocks_marble.png"}, tiles = {"building_blocks_marble.png"},
is_ground_content = true, is_ground_content = true,
groups = {cracky=3, marble = 1}, groups = {cracky=3, marble = 1},

View File

@ -179,6 +179,7 @@ minetest.register_node("fake_fire:fancy_fire", {
mesh = "fancy_fire.obj", mesh = "fancy_fire.obj",
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
use_texture_alpha = "clip",
groups = {oddly_breakable_by_hand=3, flammable=0}, groups = {oddly_breakable_by_hand=3, flammable=0},
sunlight_propagates = true, sunlight_propagates = true,
light_source = 13, light_source = 13,

View File

@ -1,2 +1,2 @@
name = fake_fire name = fake_fire
depends = default depends = default, basic_materials

View File

@ -21,7 +21,7 @@ if minetest.get_modpath("vessels") then
}, },
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
use_texture_alpha = true use_texture_alpha = "blend",
}) })
local sbox = { local sbox = {
@ -35,7 +35,7 @@ if minetest.get_modpath("vessels") then
tiles = {"homedecor_3d_vessels_shelf_glass.png"}, tiles = {"homedecor_3d_vessels_shelf_glass.png"},
inventory_image = "homedecor_3d_vessels_glass_bottle_inv.png", inventory_image = "homedecor_3d_vessels_glass_bottle_inv.png",
wield_image = "homedecor_3d_vessels_glass_bottle_inv.png", wield_image = "homedecor_3d_vessels_glass_bottle_inv.png",
use_texture_alpha = true, use_texture_alpha = "blend",
selection_box = sbox selection_box = sbox
}) })
@ -54,7 +54,7 @@ if minetest.get_modpath("vessels") then
tiles = {"homedecor_3d_vessels_shelf_glass.png"}, tiles = {"homedecor_3d_vessels_shelf_glass.png"},
inventory_image = "homedecor_3d_vessels_drinking_glass_inv.png", inventory_image = "homedecor_3d_vessels_drinking_glass_inv.png",
wield_image = "homedecor_3d_vessels_drinking_glass_inv.png", wield_image = "homedecor_3d_vessels_drinking_glass_inv.png",
use_texture_alpha = true, use_texture_alpha = "blend",
selection_box = sbox selection_box = sbox
}) })
end end

View File

@ -91,6 +91,10 @@ homedecor.register("medicine_cabinet", {
node.name = "homedecor:medicine_cabinet_open" node.name = "homedecor:medicine_cabinet_open"
minetest.swap_node(pos, node) minetest.swap_node(pos, node)
end, end,
can_dig = function(pos)
local inv = minetest.get_meta(pos):get_inventory("main")
return inv:is_empty("main")
end,
infotext=S("Medicine cabinet"), infotext=S("Medicine cabinet"),
inventory = { inventory = {
size=6, size=6,
@ -115,6 +119,10 @@ homedecor.register("medicine_cabinet_open", {
node.name = "homedecor:medicine_cabinet" node.name = "homedecor:medicine_cabinet"
minetest.swap_node(pos, node) minetest.swap_node(pos, node)
end, end,
can_dig = function(pos)
local inv = minetest.get_meta(pos):get_inventory("main")
return inv:is_empty("main")
end,
}) })
-- "Sanitation" related -- "Sanitation" related

View File

@ -31,7 +31,7 @@ local kbed_cbox = {
} }
-- local bed_on_rightclick = minetest.registered_nodes["beds:bed"].on_rightclick local bed_on_rightclick = minetest.registered_nodes["beds:bed"].on_rightclick
homedecor.register("bed_regular", { homedecor.register("bed_regular", {
mesh = "homedecor_bed_regular.obj", mesh = "homedecor_bed_regular.obj",
@ -67,9 +67,9 @@ homedecor.register("bed_regular", {
if itemname == "homedecor:bed_regular" then if itemname == "homedecor:bed_regular" then
homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true) homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true)
return itemstack return itemstack
-- else else
-- bed_on_rightclick(pos, node, clicker) bed_on_rightclick(pos, node, clicker)
-- return itemstack return itemstack
end end
end end
}) })
@ -96,10 +96,10 @@ homedecor.register("bed_extended", {
homedecor.unextend_bed(pos) homedecor.unextend_bed(pos)
end, end,
on_dig = unifieddyes.on_dig, on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- bed_on_rightclick(pos, node, clicker) bed_on_rightclick(pos, node, clicker)
-- return itemstack return itemstack
-- end, end,
drop = "homedecor:bed_regular" drop = "homedecor:bed_regular"
}) })
@ -133,10 +133,10 @@ homedecor.register("bed_kingsize", {
end end
end, end,
on_dig = unifieddyes.on_dig, on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- bed_on_rightclick(pos, node, clicker) bed_on_rightclick(pos, node, clicker)
-- return itemstack return itemstack
-- end, end,
}) })
for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do

View File

@ -10,6 +10,7 @@ homedecor.register("air_conditioner", {
"default_glass.png" "default_glass.png"
}, },
groups = { snappy = 3 }, groups = { snappy = 3 },
use_texture_alpha = "clip",
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
selection_box = { type="regular" }, selection_box = { type="regular" },
}) })
@ -95,6 +96,7 @@ homedecor.register("ceiling_fan", {
{ -0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625 } { -0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625 }
} }
}, },
use_texture_alpha = "clip",
groups = { snappy = 3 }, groups = { snappy = 3 },
light_source = default.LIGHT_MAX-1, light_source = default.LIGHT_MAX-1,
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),

View File

@ -88,6 +88,7 @@ homedecor.register("grandfather_clock", {
"homedecor_grandfather_clock_face_edge.png", "homedecor_grandfather_clock_face_edge.png",
"homedecor_generic_metal_brass.png" "homedecor_generic_metal_brass.png"
}, },
use_texture_alpha = "clip",
inventory_image = "homedecor_grandfather_clock_inv.png", inventory_image = "homedecor_grandfather_clock_inv.png",
groups = { snappy = 3 }, groups = { snappy = 3 },
selection_box = gf_cbox, selection_box = gf_cbox,

View File

@ -30,6 +30,7 @@ minetest.register_node(":homedecor:cobweb_centered", {
drawtype = "nodebox", drawtype = "nodebox",
tiles = { "homedecor_cobweb.png" }, tiles = { "homedecor_cobweb.png" },
inventory_image = "homedecor_cobweb.png", inventory_image = "homedecor_cobweb.png",
use_texture_alpha = "clip",
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
sunlight_propagates = true, sunlight_propagates = true,
@ -59,6 +60,7 @@ minetest.register_node(":homedecor:cobweb_flat", {
inventory_image = "homedecor_cobweb.png", inventory_image = "homedecor_cobweb.png",
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
use_texture_alpha = "clip",
sunlight_propagates = true, sunlight_propagates = true,
liquid_viscosity = 8, liquid_viscosity = 8,
liquidtype = "source", liquidtype = "source",

View File

@ -148,7 +148,8 @@ function homedecor.register_furnace(name, furnacedef)
can_dig = furnace_can_dig, can_dig = furnace_can_dig,
allow_metadata_inventory_put = furnace_allow_put, allow_metadata_inventory_put = furnace_allow_put,
allow_metadata_inventory_move = furnace_allow_move, allow_metadata_inventory_move = furnace_allow_move,
inventory = { lockable = true } inventory = { lockable = true },
is_furnace = true
} }
local def_active = { local def_active = {
@ -162,7 +163,8 @@ function homedecor.register_furnace(name, furnacedef)
can_dig = furnace_can_dig, can_dig = furnace_can_dig,
allow_metadata_inventory_put = furnace_allow_put, allow_metadata_inventory_put = furnace_allow_put,
allow_metadata_inventory_move = furnace_allow_move, allow_metadata_inventory_move = furnace_allow_move,
inventory = { lockable = true } inventory = { lockable = true },
is_furnace = true
} }
if furnacedef.extra_nodedef_fields then if furnacedef.extra_nodedef_fields then

View File

@ -1,5 +1,12 @@
local S = minetest.get_translator("homedecor_common") local S = minetest.get_translator("homedecor_common")
local has_hopper = minetest.get_modpath("hopper")
local has_safe_hopper = has_hopper and
-- mod from https://github.com/minetest-mods/hopper respects the owner
(hopper.neighbors or
-- mod from https://notabug.org/TenPlus1/hopper respects the owner since 20220123
(hopper.version and hopper.version >= "20220123"))
local default_can_dig = function(pos,player) local default_can_dig = function(pos,player)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
return meta:get_inventory():is_empty("main") return meta:get_inventory():is_empty("main")
@ -97,6 +104,23 @@ function homedecor.handle_inventory(name, def, original_def)
end end
local locked = inventory.locked local locked = inventory.locked
if has_hopper and (not locked or has_safe_hopper) then
if inventory.size then
hopper:add_container({
{"top", "homedecor:"..name, "main"},
{"bottom", "homedecor:"..name, "main"},
{"side", "homedecor:"..name, "main"},
})
elseif original_def.is_furnace then
hopper:add_container({
{"top", "homedecor:"..name, "dst"},
{"bottom", "homedecor:"..name, "src"},
{"side", "homedecor:"..name, "fuel"},
})
end
end
if locked then if locked then
local after_place_node = def.after_place_node local after_place_node = def.after_place_node
def.after_place_node = function(pos, placer) def.after_place_node = function(pos, placer)

View File

@ -1,4 +1,4 @@
name = homedecor_common name = homedecor_common
description = Homedecor mod: common description = Homedecor mod: common
depends = default, creative depends = default, creative
optional_depends = screwdriver optional_depends = screwdriver, hopper

View File

@ -6,6 +6,8 @@ local placeholder_node = "homedecor:expansion_placeholder"
function homedecor.register(name, original_def) function homedecor.register(name, original_def)
local def = table.copy(original_def) local def = table.copy(original_def)
def.is_furnace = nil
def.drawtype = def.drawtype def.drawtype = def.drawtype
or (def.mesh and "mesh") or (def.mesh and "mesh")
or (def.node_box and "nodebox") or (def.node_box and "nodebox")

View File

@ -4,209 +4,137 @@ local S = minetest.get_translator("homedecor_doors_and_gates")
local mesecons_mp = minetest.get_modpath("mesecons") local mesecons_mp = minetest.get_modpath("mesecons")
homedecor_doors_and_gates = {} homedecor_doors_and_gates = {}
-- new doors using minetest_game doors API
local door_list = { local door_list = {
{ {
name = "wood_plain", name = "wood_plain",
description = S("Plain Wooden Door"), description = S("Plain Wooden Door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { sound_open = "homedecor_door_open",
main = default.node_sound_wood_defaults(), sound_close = "homedecor_door_close",
open = "homedecor_door_open",
close = "homedecor_door_close",
}
}, },
{ {
name = "exterior_fancy", name = "exterior_fancy",
description = S("Fancy Wood/Glass Door"), description = S("Fancy Wood/Glass Door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { sound_open = "homedecor_door_open",
main = default.node_sound_wood_defaults(), sound_close = "homedecor_door_close",
open = "homedecor_door_open", mesh = "homedecor_door_fancy.obj"
close = "homedecor_door_close",
},
backface = true,
alpha = true,
custom_model = "homedecor_door_fancy"
}, },
{ {
name = "french_oak", name = "french_oak",
description = S("French door, Oak-colored"), description = S("French door, Oak-colored"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_glass_defaults(),
sounds = { mesh = "homedecor_door_french.obj"
main = default.node_sound_glass_defaults(),
},
backface = true,
alpha = true,
custom_model = "homedecor_door_french"
}, },
{ {
name = "french_mahogany", name = "french_mahogany",
description = S("French door, Mahogany-colored"), description = S("French door, Mahogany-colored"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_glass_defaults(),
sounds = { mesh = "homedecor_door_french.obj"
main = default.node_sound_glass_defaults(),
},
backface = true,
alpha = true,
custom_model = "homedecor_door_french"
}, },
{ {
name = "french_white", name = "french_white",
description = S("French door, White"), description = S("French door, White"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_glass_defaults(),
sounds = { mesh = "homedecor_door_french.obj"
main = default.node_sound_glass_defaults(),
},
backface = true,
alpha = true,
custom_model = "homedecor_door_french"
}, },
{ {
name = "basic_panel", name = "basic_panel",
description = S("Basic white panel Door"), description = S("Basic white panel Door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { sound_open = "homedecor_door_open",
main = default.node_sound_wood_defaults(), sound_close = "homedecor_door_close",
open = "homedecor_door_open",
close = "homedecor_door_close",
}
}, },
{ {
name = "wrought_iron", name = "wrought_iron",
description = S("Wrought Iron Gate/Door"), description = S("Wrought Iron Gate/Door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_metal_defaults(),
sounds = { sound_open = "doors_steel_door_open",
main = default.node_sound_metal_defaults(), sound_close = "doors_steel_door_close",
open = "doors_steel_door_open", mesh = "homedecor_door_wrought_iron.obj"
close = "doors_steel_door_close",
},
backface = true,
custom_model = "homedecor_door_wrought_iron"
}, },
{ {
name = "carolina", name = "carolina",
description = S("Wooden Carolina door"), description = S("Wooden Carolina door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { sound_open = "homedecor_door_open",
main = default.node_sound_wood_defaults(), sound_close = "homedecor_door_close",
open = "homedecor_door_open",
close = "homedecor_door_close",
},
backface = true,
alpha = true
}, },
{ {
name = "woodglass", name = "woodglass",
description = S("Wooden door with glass insert, type 3"), description = S("Wooden door with glass insert, type 3"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { sound_open = "homedecor_door_open",
main = default.node_sound_wood_defaults(), sound_close = "homedecor_door_close",
open = "homedecor_door_open", mesh = "homedecor_door_wood_glass_3.obj"
close = "homedecor_door_close",
},
backface = true,
alpha = true,
custom_model = "homedecor_door_wood_glass_3"
}, },
{ {
name = "closet_mahogany", name = "closet_mahogany",
description = S("Mahogany Closet Door"), description = S("Mahogany Closet Door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { mesh = "homedecor_door_closet.obj"
main = default.node_sound_wood_defaults(),
},
custom_model = "homedecor_door_closet"
}, },
{ {
name = "closet_oak", name = "closet_oak",
description = S("Oak Closet Door"), description = S("Oak Closet Door"),
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(),
sounds = { mesh = "homedecor_door_closet"
main = default.node_sound_wood_defaults(),
},
custom_model = "homedecor_door_closet"
}, },
} }
local old_doors = {} local old_doors = {}
local mesecons
-- This part blatantly copied from Mesecons, and modified :-) local door_types = {"_a", "_b", "_c", "_d"}
if mesecons_mp then
mesecons = { local function generate_door(def)
effector = { local default_settings = {
action_on = function(pos, node) tiles = {{ name = "homedecor_door_" .. def.name .. ".png", backface_culling = true }},
local door = doors.get(pos) inventory_image = "homedecor_door_" .. def.name .. "_inv.png",
if door then use_texture_alpha = "blend",
door:open() groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
end mesecons = {
end, effector = {
action_off = function(pos, node) action_on = function(pos, node)
local door = doors.get(pos) local door = doors.get(pos)
if door then if door then door:open() end
door:close() end,
end action_off = function(pos, node)
end, local door = doors.get(pos)
rules = mesecon.rules.pplate if door then door:close() end
} end,
rules = mesecon and mesecon.rules.pplate or nil
}
},
} }
for k, v in pairs(default_settings) do
if not def[k] then def[k] = v end
end
def.name = nil
return def
end end
local hd_3d = minetest.get_modpath("homedecor_3d_extras")
for _, door in ipairs(door_list) do for _, door in ipairs(door_list) do
doors.register("homedecor_"..door.name, { local name = door.name
tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }}, doors.register("homedecor_" .. name, generate_door(door))
description = door.description,
inventory_image = "homedecor_door_"..door.name.."_inv.png",
groups = table.copy(door.groups),
sounds = door.sounds.main,
sound_open = door.sounds.open,
sound_close = door.sounds.close,
mesecons = mesecons
})
local nn_a = "doors:homedecor_"..door.name.."_a" --hack to get around doors not allowing custom meshes
local nn_b = "doors:homedecor_"..door.name.."_b" if door.mesh then
for _, v in pairs(door_types) do
if door.alpha then minetest.override_item("doors:homedecor_" .. name .. v, {
local def = table.copy(minetest.registered_nodes[nn_a]) mesh = door.mesh
def.use_texture_alpha = true })
def.mesh = "door_a.obj" -- leaving this out will break the _a model end
minetest.register_node(":"..nn_a, def) -- assignment when the override takes place
def = table.copy(minetest.registered_nodes[nn_b])
def.use_texture_alpha = true
minetest.register_node(":"..nn_b, def)
end end
if door.custom_model and hd_3d then --compatibility
def = table.copy(minetest.registered_nodes[nn_a]) old_doors[#old_doors + 1] = "homedecor:door_"..name.."_left"
def.mesh = door.custom_model.."_a.obj" old_doors[#old_doors + 1] = "homedecor:door_"..name.."_right"
minetest.register_node(":"..nn_a, def)
def = table.copy(minetest.registered_nodes[nn_b]) minetest.register_alias("doors:"..name.."_a", "doors:homedecor_"..name.."_a")
def.mesh = door.custom_model.."_b.obj" minetest.register_alias("doors:"..name.."_b", "doors:homedecor_"..name.."_b")
minetest.register_node(":"..nn_b, def)
end
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left"
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right"
minetest.register_alias("doors:"..door.name.."_a", "doors:homedecor_"..door.name.."_a")
minetest.register_alias("doors:"..door.name.."_b", "doors:homedecor_"..door.name.."_b")
end end
-- Gates -- Gates
@ -307,6 +235,7 @@ for i, g in ipairs(gate_list) do
description = gatedesc, description = gatedesc,
tiles = tiles, tiles = tiles,
paramtype = "light", paramtype = "light",
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir", paramtype2 = "facedir",
@ -769,4 +698,4 @@ minetest.register_lbm({
end end
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"}) minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})
end end
}) })

View File

@ -94,6 +94,7 @@ homedecor.register("lattice_"..name, {
description = S("Garden Lattice (@1)", desc), description = S("Garden Lattice (@1)", desc),
tiles = {"homedecor_lattice"..texture}, tiles = {"homedecor_lattice"..texture},
inventory_image = "homedecor_lattice"..texture, inventory_image = "homedecor_lattice"..texture,
use_texture_alpha = "clip",
groups = { snappy=3 }, groups = { snappy=3 },
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -121,6 +122,7 @@ homedecor.register("swing", {
"homedecor_swing_top.png" "homedecor_swing_top.png"
}, },
inventory_image = "homedecor_swing_inv.png", inventory_image = "homedecor_swing_inv.png",
use_texture_alpha = "clip",
groups = { snappy=3, oddly_breakable_by_hand=3 }, groups = { snappy=3, oddly_breakable_by_hand=3 },
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
walkable = false, walkable = false,
@ -219,6 +221,7 @@ homedecor.register("well", {
}, },
inventory_image = "homedecor_well_inv.png", inventory_image = "homedecor_well_inv.png",
description = S("Water well"), description = S("Water well"),
use_texture_alpha = "clip",
groups = { snappy = 3 }, groups = { snappy = 3 },
selection_box = homedecor.nodebox.slab_y(2), selection_box = homedecor.nodebox.slab_y(2),
collision_box = homedecor.nodebox.slab_y(2), collision_box = homedecor.nodebox.slab_y(2),
@ -265,6 +268,7 @@ for color, color_loc in pairs(homedecor_exterior.shrub_colors) do
tiles = {"homedecor_shrubbery_"..color..".png"}, tiles = {"homedecor_shrubbery_"..color..".png"},
paramtype = "light", paramtype = "light",
is_ground_content = false, is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3, flammable=2}, groups = {snappy=3, flammable=2},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
}) })
@ -280,6 +284,7 @@ for color, color_loc in pairs(homedecor_exterior.shrub_colors) do
}, },
paramtype = "light", paramtype = "light",
is_ground_content = false, is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3, flammable=2}, groups = {snappy=3, flammable=2},
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
selection_box = shrub_cbox, selection_box = shrub_cbox,

View File

@ -35,6 +35,7 @@ homedecor.register("fence_picket", {
"homedecor_fence_picket_backside.png", "homedecor_fence_picket_backside.png",
"homedecor_fence_picket.png" "homedecor_fence_picket.png"
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.slab_z(-0.1), selection_box = homedecor.nodebox.slab_z(-0.1),
@ -51,6 +52,7 @@ homedecor.register("fence_picket_corner", {
"homedecor_fence_picket_backside.png", "homedecor_fence_picket_backside.png",
"homedecor_fence_picket.png", "homedecor_fence_picket.png",
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.1, -0.1), selection_box = homedecor.nodebox.corner_xz(0.1, -0.1),
@ -67,6 +69,7 @@ homedecor.register("fence_picket_white", {
"homedecor_fence_picket_white_backside.png", "homedecor_fence_picket_white_backside.png",
"homedecor_fence_picket_white.png" "homedecor_fence_picket_white.png"
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.slab_z(-0.1), selection_box = homedecor.nodebox.slab_z(-0.1),
@ -83,6 +86,7 @@ homedecor.register("fence_picket_corner_white", {
"homedecor_fence_picket_white_backside.png", "homedecor_fence_picket_white_backside.png",
"homedecor_fence_picket_white.png", "homedecor_fence_picket_white.png",
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.1, -0.1), selection_box = homedecor.nodebox.corner_xz(0.1, -0.1),
@ -152,6 +156,7 @@ homedecor.register("fence_barbed_wire", {
description = S("Barbed Wire Fence"), description = S("Barbed Wire Fence"),
mesh = "homedecor_fence_barbed_wire.obj", mesh = "homedecor_fence_barbed_wire.obj",
tiles = {"homedecor_fence_barbed_wire.png"}, tiles = {"homedecor_fence_barbed_wire.png"},
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.slab_z(-0.125), selection_box = homedecor.nodebox.slab_z(-0.125),
@ -162,6 +167,7 @@ homedecor.register("fence_barbed_wire_corner", {
description = S("Barbed Wire Fence Corner"), description = S("Barbed Wire Fence Corner"),
mesh = "homedecor_fence_barbed_wire_corner.obj", mesh = "homedecor_fence_barbed_wire_corner.obj",
tiles = { "homedecor_fence_barbed_wire.png" }, tiles = { "homedecor_fence_barbed_wire.png" },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.125, -0.125), selection_box = homedecor.nodebox.corner_xz(0.125, -0.125),
@ -179,6 +185,7 @@ homedecor.register("fence_chainlink", {
"homedecor_fence_chainlink_fb.png", "homedecor_fence_chainlink_fb.png",
"homedecor_fence_chainlink_fb.png", "homedecor_fence_chainlink_fb.png",
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.slab_z(-0.125), selection_box = homedecor.nodebox.slab_z(-0.125),
@ -197,6 +204,7 @@ homedecor.register("fence_chainlink_corner", {
"homedecor_fence_chainlink_corner_front.png", "homedecor_fence_chainlink_corner_front.png",
"homedecor_fence_chainlink_corner_front.png", "homedecor_fence_chainlink_corner_front.png",
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.125, -0.125), selection_box = homedecor.nodebox.corner_xz(0.125, -0.125),
@ -213,6 +221,7 @@ homedecor.register("fence_wrought_iron_2", {
"homedecor_fence_wrought_iron_2_fb.png", "homedecor_fence_wrought_iron_2_fb.png",
"homedecor_fence_wrought_iron_2_fb.png" "homedecor_fence_wrought_iron_2_fb.png"
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.slab_z(-0.08), selection_box = homedecor.nodebox.slab_z(-0.08),
@ -240,6 +249,7 @@ homedecor.register("fence_wrought_iron_2_corner", {
"homedecor_fence_corner_wrought_iron_2_sides.png^[transformFX", "homedecor_fence_corner_wrought_iron_2_sides.png^[transformFX",
"homedecor_fence_corner_wrought_iron_2_sides.png" "homedecor_fence_corner_wrought_iron_2_sides.png"
}, },
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.08, -0.08), selection_box = homedecor.nodebox.corner_xz(0.08, -0.08),

View File

@ -136,6 +136,7 @@ homedecor.register("toaster", {
tiles = { "homedecor_toaster_sides.png" }, tiles = { "homedecor_toaster_sides.png" },
inventory_image = "homedecor_toaster_inv.png", inventory_image = "homedecor_toaster_inv.png",
walkable = false, walkable = false,
use_texture_alpha = "clip",
groups = { snappy=3 }, groups = { snappy=3 },
node_box = { node_box = {
type = "fixed", type = "fixed",
@ -165,6 +166,7 @@ homedecor.register("toaster_loaf", {
"homedecor_toaster_sides.png" "homedecor_toaster_sides.png"
}, },
walkable = false, walkable = false,
use_texture_alpha = "clip",
groups = { snappy=3, not_in_creative_inventory=1 }, groups = { snappy=3, not_in_creative_inventory=1 },
node_box = { node_box = {
type = "fixed", type = "fixed",

View File

@ -12,7 +12,7 @@ read_globals = {
"VoxelManip", "VoxelArea", "VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack", "PseudoRandom", "ItemStack",
"default", "default",
"screwdriver", "screwdriver", "homedecor",
} }
globals = { globals = {

View File

@ -3,7 +3,7 @@ local S = minetest.get_translator("inbox")
local inbox = {} local inbox = {}
minetest.register_craft({ minetest.register_craft({
output ="inbox:empty", output ="homedecor:inbox",
recipe = { recipe = {
{"","default:steel_ingot",""}, {"","default:steel_ingot",""},
{"default:steel_ingot","","default:steel_ingot"}, {"default:steel_ingot","","default:steel_ingot"},
@ -16,17 +16,17 @@ local mb_cbox = {
fixed = { -5/16, -8/16, -8/16, 5/16, 2/16, 8/16 } fixed = { -5/16, -8/16, -8/16, 5/16, 2/16, 8/16 }
} }
minetest.register_node("inbox:empty", { homedecor.register("inbox", {
paramtype = "light", paramtype = "light",
drawtype = "mesh", drawtype = "mesh",
mesh = "inbox_mailbox.obj", mesh = "homedecor_inbox_mailbox.obj",
description = S("Mailbox"), description = S("Mailbox"),
tiles = { tiles = {
"inbox_red_metal.png", "homedecor_inbox_red_metal.png",
"inbox_white_metal.png", "homedecor_inbox_white_metal.png",
"inbox_grey_metal.png", "homedecor_inbox_grey_metal.png",
}, },
inventory_image = "mailbox_inv.png", inventory_image = "homedecor_mailbox_inv.png",
selection_box = mb_cbox, selection_box = mb_cbox,
collision_box = mb_cbox, collision_box = mb_cbox,
paramtype2 = "facedir", paramtype2 = "facedir",
@ -105,6 +105,8 @@ minetest.register_node("inbox:empty", {
end, end,
}) })
minetest.register_alias("inbox:empty", "homedecor:inbox")
function inbox.get_inbox_formspec(pos) function inbox.get_inbox_formspec(pos)
local spos = pos.x .. "," .. pos.y .. "," ..pos.z local spos = pos.x .. "," .. pos.y .. "," ..pos.z
local formspec = local formspec =

View File

@ -1,3 +1,3 @@
name = inbox name = homedecor_inbox
depends = default, homedecor_common depends = default, homedecor_common
optional_depends = screwdriver optional_depends = screwdriver

View File

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

View File

Before

Width:  |  Height:  |  Size: 319 B

After

Width:  |  Height:  |  Size: 319 B

View File

Before

Width:  |  Height:  |  Size: 156 B

After

Width:  |  Height:  |  Size: 156 B

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,4 +1,4 @@
name = homedecor_kitchen name = homedecor_kitchen
description = Homedecor mod: kitchen description = Homedecor mod: kitchen
depends = homedecor_common, default, basic_materials, dye depends = homedecor_common, default, basic_materials, dye, unifieddyes
optional_depends = moreblocks, building_blocks, technic, bucket, screwdriver optional_depends = moreblocks, building_blocks, technic, bucket, screwdriver

View File

@ -77,6 +77,7 @@ homedecor.register("calendar", {
wall_bottom = { -4/16, -8/16, -8/16, 4/16, -5/16, 5/16 }, wall_bottom = { -4/16, -8/16, -8/16, 4/16, -5/16, 5/16 },
wall_top = { -4/16, 5/16, -8/16, 4/16, 8/16, 5/16 } wall_top = { -4/16, 5/16, -8/16, 4/16, 8/16, 5/16 }
}, },
use_texture_alpha = "clip",
groups = {choppy=2,attached_node=1}, groups = {choppy=2,attached_node=1},
legacy_wallmounted = true, legacy_wallmounted = true,
sounds = default.node_sound_defaults(), sounds = default.node_sound_defaults(),

View File

@ -11,7 +11,7 @@ read_globals = {
"vector", "nodeupdate", "vector", "nodeupdate",
"VoxelManip", "VoxelArea", "VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack", "PseudoRandom", "ItemStack",
"screwdriver", "screwdriver", "homedecor",
} }
globals = { globals = {

View File

@ -2,9 +2,9 @@ local S = minetest.get_translator("plasmascreen")
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
minetest.register_node("plasmascreen:stand", { homedecor.register("tv_stand", {
description = S("Plasma Screen TV Stand"), description = S("Plasma Screen TV Stand"),
tiles = {"plasmascreen_back.png"}, tiles = {"homedecor_plasmascreen_back.png"},
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
drawtype = "nodebox", drawtype = "nodebox",
@ -26,13 +26,6 @@ minetest.register_node("plasmascreen:stand", {
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2}, groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2},
}) })
minetest.register_alias("plasmascreen:screen1", "air")
minetest.register_alias("plasmascreen:screen2", "air")
minetest.register_alias("plasmascreen:screen3", "air")
minetest.register_alias("plasmascreen:screen4", "air")
minetest.register_alias("plasmascreen:screen5", "plasmascreen:tv")
minetest.register_alias("plasmascreen:screen6", "air")
local fdir_to_left = { local fdir_to_left = {
{ -1, 0 }, { -1, 0 },
{ 0, 1 }, { 0, 1 },
@ -95,13 +88,13 @@ local function checkwall(pos)
return true return true
end end
minetest.register_node("plasmascreen:tv", { homedecor.register("tv", {
description = S("Plasma TV"), description = S("Plasma TV"),
drawtype = "mesh", drawtype = "mesh",
mesh = "plasmascreen_tv.obj", mesh = "homedecor_plasmascreen_tv.obj",
tiles = { tiles = {
"plasmascreen_case.png", "homedecor_plasmascreen_case.png",
{ name="plasmascreen_video.png", { name="homedecor_plasmascreen_video.png",
animation={ animation={
type="vertical_frames", type="vertical_frames",
aspect_w = 42, aspect_w = 42,
@ -111,8 +104,8 @@ minetest.register_node("plasmascreen:tv", {
} }
}, },
inventory_image = "plasmascreen_tv_inv.png", inventory_image = "homedecor_plasmascreen_tv_inv.png",
wield_image = "plasmascreen_tv_inv.png", wield_image = "homedecor_plasmascreen_tv_inv.png",
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
light_source = 10, light_source = 10,
@ -127,20 +120,20 @@ minetest.register_node("plasmascreen:tv", {
end end
end, end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, {name = "plasmascreen:tv_off", param2 = node.param2}) minetest.set_node(pos, {name = "homedecor:tv_off", param2 = node.param2})
end end
}) })
minetest.register_node("plasmascreen:tv_off", { homedecor.register("tv_off", {
description = S("Plasma TV (off)"), description = S("Plasma TV (off)"),
drawtype = "mesh", drawtype = "mesh",
mesh = "plasmascreen_tv.obj", mesh = "homedecor_plasmascreen_tv.obj",
tiles = { tiles = {
"plasmascreen_case_off.png", "homedecor_plasmascreen_case_off.png",
"plasmascreen_screen_off.png", "homedecor_plasmascreen_screen_off.png",
}, },
inventory_image = "plasmascreen_tv_inv.png", inventory_image = "homedecor_plasmascreen_tv_inv.png",
wield_image = "plasmascreen_tv_inv.png", wield_image = "homedecor_plasmascreen_tv_inv.png",
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
light_source = 10, light_source = 10,
@ -155,15 +148,15 @@ minetest.register_node("plasmascreen:tv_off", {
end end
end, end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
minetest.set_node(pos, {name = "plasmascreen:tv", param2 = node.param2}) minetest.set_node(pos, {name = "homedecor:tv", param2 = node.param2})
end, end,
drop = "plasmascreen:tv" drop = "homedecor:tv"
}) })
-- crafting recipes -- crafting recipes
minetest.register_craft({ minetest.register_craft({
output = "plasmascreen:tv", output = "homedecor:tv",
recipe = { recipe = {
{'default:glass', 'default:coal_lump', 'default:glass'}, {'default:glass', 'default:coal_lump', 'default:glass'},
{'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'}, {'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
@ -173,12 +166,12 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
type = "shapeless", type = "shapeless",
output = "plasmascreen:tv", output = "homedecor:tv",
recipe = {'homedecor:television', 'homedecor:television'}, recipe = {'homedecor:television', 'homedecor:television'},
}) })
minetest.register_craft({ minetest.register_craft({
output = "plasmascreen:stand", output = "homedecor:tv_stand",
recipe = { recipe = {
{'', '', ''}, {'', '', ''},
{'', 'default:steel_ingot', ''}, {'', 'default:steel_ingot', ''},
@ -186,4 +179,14 @@ minetest.register_craft({
} }
}) })
minetest.register_alias("plasmascreen:screen1", "air")
minetest.register_alias("plasmascreen:screen2", "air")
minetest.register_alias("plasmascreen:screen3", "air")
minetest.register_alias("plasmascreen:screen4", "air")
minetest.register_alias("plasmascreen:screen6", "air")
minetest.register_alias("plasmascreen:screen5", "homedecor:tv")
minetest.register_alias("plasmascreen:stand", "homedecor:tv_stand")
minetest.register_alias("plasmascreen:tv", "homedecor:tv")
minetest.register_alias("plasmascreen:tv_off", "homedecor:tv_off")
minetest.log("action", "[plasmascreen] loaded.") minetest.log("action", "[plasmascreen] loaded.")

View File

@ -1,3 +1,3 @@
name = plasmascreen name = homedecor_plasmascreen
depends = default, homedecor_common, homedecor_electronics depends = default, homedecor_common, homedecor_electronics
optional_depends = screwdriver optional_depends = screwdriver

View File

Before

Width:  |  Height:  |  Size: 184 B

After

Width:  |  Height:  |  Size: 184 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 313 B

After

Width:  |  Height:  |  Size: 313 B

View File

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 105 B

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -134,6 +134,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
paramtype2 = "facedir", paramtype2 = "facedir",
selection_box = slope_cbox, selection_box = slope_cbox,
collision_box = slope_cbox, collision_box = slope_cbox,
use_texture_alpha = "blend",
groups = groups, groups = groups,
on_place = minetest.rotate_node, on_place = minetest.rotate_node,
sounds = default.node_sound_wood_defaults() sounds = default.node_sound_wood_defaults()

View File

@ -47,7 +47,6 @@ minetest.register_node(":lrfurn:longsofa", {
end end
pos.y = pos.y-0.5 pos.y = pos.y-0.5
clicker:setpos(pos) clicker:setpos(pos)
clicker:set_hp(20)
return itemstack return itemstack
end end
}) })

View File

@ -47,7 +47,6 @@ minetest.register_node(":lrfurn:sofa", {
end end
pos.y = pos.y-0.5 pos.y = pos.y-0.5
clicker:setpos(pos) clicker:setpos(pos)
clicker:set_hp(20)
return itemstack return itemstack
end end
}) })

View File

@ -57,6 +57,7 @@ minetest.register_node(":lrfurn:coffeetable", {
}, },
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
use_texture_alpha = "blend",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
node_box = { node_box = {

View File

@ -15,6 +15,7 @@ minetest.register_node(":lrfurn:endtable", {
}, },
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
use_texture_alpha = "blend",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
node_box = { node_box = {

View File

@ -34,6 +34,7 @@ for _, t in ipairs(leg_materials) do
inventory_image = "homedecor_table_legs_"..name..".png", inventory_image = "homedecor_table_legs_"..name..".png",
wield_image = "homedecor_table_legs_"..name..".png", wield_image = "homedecor_table_legs_"..name..".png",
walkable = false, walkable = false,
use_texture_alpha = "blend",
groups = {snappy=3}, groups = {snappy=3},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
selection_box = { selection_box = {
@ -76,6 +77,7 @@ for i, mat in ipairs(tabletop_materials) do
'homedecor_blanktile.png', 'homedecor_blanktile.png',
}, },
wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png', wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png',
use_texture_alpha = "blend",
groups = { snappy = 3 }, groups = { snappy = 3 },
sounds = s, sounds = s,
selection_box = tables_cbox, selection_box = tables_cbox,
@ -111,6 +113,7 @@ for i, mat in ipairs(tabletop_materials) do
'homedecor_'..m..'_table_edges.png', 'homedecor_'..m..'_table_edges.png',
"homedecor_table_legs_"..leg_mat..".png", "homedecor_table_legs_"..leg_mat..".png",
}, },
use_texture_alpha = "blend",
groups = { snappy = 3 }, groups = { snappy = 3 },
sounds = s, sounds = s,
}) })

View File

@ -61,6 +61,7 @@ homedecor.register("trash_can", {
tiles = { "homedecor_trash_can.png" }, tiles = { "homedecor_trash_can.png" },
inventory_image = "homedecor_trash_can_inv.png", inventory_image = "homedecor_trash_can_inv.png",
description = S("Small Trash Can"), description = S("Small Trash Can"),
use_texture_alpha = "clip",
groups = {snappy=3}, groups = {snappy=3},
selection_box = trash_cbox, selection_box = trash_cbox,
collision_box = trash_cbox, collision_box = trash_cbox,

View File

@ -173,7 +173,7 @@ if not skinsdb_mod_path then -- If not managed by skinsdb
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)
local skin = player:get_attribute("homedecor:player_skin") local skin = player:get_meta():get("homedecor:player_skin")
if skin and skin ~= "" then if skin and skin ~= "" then

View File

@ -100,7 +100,7 @@ local update_item = function(pos, node)
local e = minetest.add_entity(pos,"itemframes:item") local e = minetest.add_entity(pos,"itemframes:item")
if node.name == "itemframes:frame" then if node.name == "itemframes:frame" then
local yaw = math.pi * 2 - node.param2 * math.pi / 2 local yaw = math.pi * 2 - node.param2 * math.pi / 2
e:setyaw(yaw) e:set_yaw(yaw)
end end
end end
end end

View File