Merge remote-tracking branch 'upstream/master'
19
bower.json
|
@ -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"
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -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},
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
name = fake_fire
|
name = fake_fire
|
||||||
depends = default
|
depends = default, basic_materials
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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(),
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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
|
||||||
})
|
})
|
|
@ -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,
|
||||||
|
|
|
@ -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),
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -12,7 +12,7 @@ read_globals = {
|
||||||
"VoxelManip", "VoxelArea",
|
"VoxelManip", "VoxelArea",
|
||||||
"PseudoRandom", "ItemStack",
|
"PseudoRandom", "ItemStack",
|
||||||
"default",
|
"default",
|
||||||
"screwdriver",
|
"screwdriver", "homedecor",
|
||||||
}
|
}
|
||||||
|
|
||||||
globals = {
|
globals = {
|
|
@ -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 =
|
|
@ -1,3 +1,3 @@
|
||||||
name = inbox
|
name = homedecor_inbox
|
||||||
depends = default, homedecor_common
|
depends = default, homedecor_common
|
||||||
optional_depends = screwdriver
|
optional_depends = screwdriver
|
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 152 B |
Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 319 B |
Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 156 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
@ -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
|
||||||
|
|
|
@ -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(),
|
||||||
|
|
|
@ -11,7 +11,7 @@ read_globals = {
|
||||||
"vector", "nodeupdate",
|
"vector", "nodeupdate",
|
||||||
"VoxelManip", "VoxelArea",
|
"VoxelManip", "VoxelArea",
|
||||||
"PseudoRandom", "ItemStack",
|
"PseudoRandom", "ItemStack",
|
||||||
"screwdriver",
|
"screwdriver", "homedecor",
|
||||||
}
|
}
|
||||||
|
|
||||||
globals = {
|
globals = {
|
|
@ -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.")
|
|
@ -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
|
Before Width: | Height: | Size: 184 B After Width: | Height: | Size: 184 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 313 B |
Before Width: | Height: | Size: 105 B After Width: | Height: | Size: 105 B |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
@ -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()
|
||||||
|
|
|
@ -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
|
||||||
})
|
})
|
||||||
|
|
|
@ -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
|
||||||
})
|
})
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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,
|
||||||
})
|
})
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|