1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-07-20 22:30:23 +02:00

Compare commits

...

19 Commits

Author SHA1 Message Date
f4db7d0fb1 add a global .luacheckrc 2022-03-29 07:58:15 +02:00
3ba59dc2d5 fix almost all warning spam (#26) 2022-03-29 07:44:05 +02:00
2f0e52f978 add skinsdb hand support for wardrobe skins (#24)
* add skinsdb hand support for wardrobe skins

* add compatibility to previous skinsdb version
2022-03-06 12:20:18 -05:00
694bfe5fe7 namespace plasmascreen and inbox (#22) 2022-02-14 17:54:32 -05:00
769e14fd11 refactor doors code (#21) 2022-02-11 15:44:45 -05:00
16bcc35ba2 remove legacy files 2022-02-10 20:26:41 -05:00
0c2271fa46 fixes warning spam (#20)
* fix fake fire warnings

* fix hd 3d extras warnings

* fix hd climate control warnings

* fix hd clocks warnings

* fix hd cobweb warnings

* fix hd doors/gates warnings

* fix hd exterior warnings

* fix hd fences warnings

* fix hd gastronomy warnings

* fix hd kitchen missing dependency

* fix hd office warnings

* fix hd roofing warnings

* fix hd table warnings

* fix hd trash cans warnings

* fix hd wardrobe warnings

* remove legacy hack
2022-02-07 08:18:17 -05:00
d68e90f017 add hopper support (#18) 2022-02-03 18:40:38 -05:00
a8fceb249d Merge pull request #16 from mt-mods/stairs
drop stairs api support and fix use_texture_alpha for stairs
2021-11-28 00:22:31 -05:00
21ae9f8c17 drop stairs api support and fix use_texture_alpha for stairs 2021-11-27 23:43:59 -05:00
63ad77e242 make beds sleepable https://github.com/mt-mods/homedecor_modpack/issues/13 2021-11-27 20:51:47 -05:00
32a32fa003 fix health expliot https://github.com/mt-mods/homedecor_modpack/issues/14 2021-11-27 20:43:25 -05:00
d9c42344ab fix removing item with inv contents https://github.com/mt-mods/homedecor_modpack/issues/3 2021-11-27 20:32:13 -05:00
f6f6f3a3c3 fix depreciated setyaw call https://github.com/mt-mods/homedecor_modpack/issues/7 2021-11-27 19:56:36 -05:00
f1dc68ab21 Merge branch 'master' into 'master'
Fix broken kitchen cabinet recipes

Closes #39

See merge request VanessaE/homedecor_modpack!22
2021-05-18 06:58:39 +00:00
240c735225 fix broken kitchen cabinet recipes 2021-05-18 16:47:44 +10:00
b6c64c6314 fix broken LBM reference for locked kitchen cabinets 2021-04-15 06:47:47 -04:00
790c03213d fix not-locked drawers not showing up in creative inv
(well not showing up in Unified Inventory anyway :-P )
2021-03-30 21:18:45 -04:00
81e0d4ea7e fix faucets/taps not working on kitchen sinks anymore 2021-03-30 20:55:34 -04:00
84 changed files with 335 additions and 329 deletions

11
.github/workflows/luacheck.yml vendored Normal file
View File

@ -0,0 +1,11 @@
name: luacheck
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: Roang-zero1/factorio-mod-luacheck@master
with:
luacheckrc_url: ""

38
.luacheckrc Normal file
View File

@ -0,0 +1,38 @@
unused_args = false
globals = {
"homedecor",
"homedecor_lighting",
"homedecor_windows_and_treatments",
"homedecor_roofing",
"homedecor_misc",
"homedecor_exterior",
"homedecor_electrical",
"lavalamp",
"lrfurn",
"signs_lib",
-- mod-deps
"armor"
}
read_globals = {
"minetest", "core",
"vector", "ItemStack",
-- Stdlib
string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn"}},
-- mod-deps
"default",
"unifieddyes",
"player_api",
"screwdriver",
"hopper",
"mesecon",
"skins",
"homedecor_doors_and_gates",
"stairsplus",
"creative"
}

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 stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
local function building_blocks_stairs(nodename, def)
minetest.register_node(nodename, def)
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
local mod, name = nodename:match("(.*):(.*)")
minetest.register_alias(mod .. ":slab_" .. name, "stairs:slab_" .. name)
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
stairsplus:register_all(
mod,
name,
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
local mod, name = nodename:match("(.*):(.*)")
stairsplus:register_all(mod, name, nodename, def)
minetest.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name)
minetest.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name)
minetest.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
minetest.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
end
end
building_blocks_stairs("building_blocks:grate", {
drawtype = "glasslike",
description = S("Grate"),
stair_desc = S("Grate Stair"),
slab = S("Grate Slab"),
tiles = {"building_blocks_grate.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
use_texture_alpha = "clip",
groups = {cracky=1},
sounds = default.node_sound_metal_defaults(),
})
building_blocks_stairs("building_blocks:smoothglass", {
drawtype = "glasslike",
description = S("Streak Free Glass"),
stair_desc = S("Streak Free Glass Stair"),
slab_desc = S("Streak Free Glass Slab"),
tiles = {"building_blocks_sglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
building_blocks_stairs("building_blocks:woodglass", {
drawtype = "glasslike",
description = S("Wood Framed Glass"),
stair_desc = S("Wood Framed Glass Stair"),
slab_desc = S("Wood Framed Glass Slab"),
tiles = {"building_blocks_wglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(),
})
@ -79,8 +50,6 @@ building_blocks_stairs("building_blocks:woodglass", {
building_blocks_stairs("building_blocks:Adobe", {
tiles = {"building_blocks_Adobe.png"},
description = S("Adobe"),
stair_desc = S("Adobe Stair"),
slab_desc = S("Adobe Slab"),
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_stone_defaults(),
@ -88,8 +57,6 @@ building_blocks_stairs("building_blocks:Adobe", {
building_blocks_stairs("building_blocks:fakegrass", {
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
description = S("Fake Grass"),
stair_desc = S("Fake Grass Stair"),
slab_desc = S("Fake Grass Slab"),
is_ground_content = true,
groups = {crumbly=3},
sounds = default.node_sound_dirt_defaults({
@ -100,8 +67,6 @@ building_blocks_stairs("building_blocks:hardwood", {
tiles = {"building_blocks_hardwood.png"},
is_ground_content = true,
description = S("Hardwood"),
stair_desc = S("Hardwood Stair"),
slab_desc = S("Hardwood Slab"),
groups = {choppy=1,flammable=1},
sounds = default.node_sound_wood_defaults(),
})
@ -109,15 +74,11 @@ building_blocks_stairs("building_blocks:Roofing", {
tiles = {"building_blocks_Roofing.png"},
is_ground_content = true,
description = S("Roof block"),
stair_desc = S("Roof block Stair"),
slab_desc = S("Roof block Slab"),
groups = {snappy=3},
sounds = default.node_sound_stone_defaults(),
})
building_blocks_stairs("building_blocks:Tar", {
description = S("Tar"),
stair_desc = S("Tar Stair"),
slab_desc = S("Tar Slab"),
tiles = {"building_blocks_tar.png"},
is_ground_content = true,
groups = {crumbly=1, tar_block = 1},
@ -125,8 +86,6 @@ building_blocks_stairs("building_blocks:Tar", {
})
building_blocks_stairs("building_blocks:Marble", {
description = S("Marble"),
stair_desc = S("Marble Stair"),
slab_desc = S("Marble Slab"),
tiles = {"building_blocks_marble.png"},
is_ground_content = true,
groups = {cracky=3, marble = 1},

View File

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

View File

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

View File

@ -21,7 +21,7 @@ if minetest.get_modpath("vessels") then
},
paramtype = "light",
paramtype2 = "facedir",
use_texture_alpha = true
use_texture_alpha = "blend",
})
local sbox = {
@ -35,7 +35,7 @@ if minetest.get_modpath("vessels") then
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
inventory_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
})
@ -54,7 +54,7 @@ if minetest.get_modpath("vessels") then
tiles = {"homedecor_3d_vessels_shelf_glass.png"},
inventory_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
})
end

View File

@ -91,6 +91,10 @@ homedecor.register("medicine_cabinet", {
node.name = "homedecor:medicine_cabinet_open"
minetest.swap_node(pos, node)
end,
can_dig = function(pos)
local inv = minetest.get_meta(pos):get_inventory("main")
return inv:is_empty("main")
end,
infotext=S("Medicine cabinet"),
inventory = {
size=6,
@ -115,6 +119,10 @@ homedecor.register("medicine_cabinet_open", {
node.name = "homedecor:medicine_cabinet"
minetest.swap_node(pos, node)
end,
can_dig = function(pos)
local inv = minetest.get_meta(pos):get_inventory("main")
return inv:is_empty("main")
end,
})
-- "Sanitation" related
@ -163,6 +171,7 @@ homedecor.register("toilet_open", {
selection_box = toilet_sbox,
collision_box = toilet_cbox,
drop = "homedecor:toilet",
use_texture_alpha = "blend",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
@ -223,6 +232,7 @@ homedecor.register("sink", {
"building_blocks_marble.png",
"default_water.png"
},
use_texture_alpha = "blend",
inventory_image="homedecor_bathroom_sink_inv.png",
selection_box = sink_sbox,
collision_box = sink_cbox,
@ -239,9 +249,7 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
if below and
below.name == "homedecor:shower_tray" or
below.name == "homedecor:sink" or
below.name == "homedecor:kitchen_cabinet_with_sink" or
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
string.find(below.name, "homedecor:.*sink") then
local particledef = {
outlet = { x = 0, y = -0.44, z = 0.28 },
velocity_x = { min = -0.1, max = 0.1 },

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", {
mesh = "homedecor_bed_regular.obj",
@ -67,9 +67,9 @@ homedecor.register("bed_regular", {
if itemname == "homedecor:bed_regular" then
homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true)
return itemstack
-- else
-- bed_on_rightclick(pos, node, clicker)
-- return itemstack
else
bed_on_rightclick(pos, node, clicker)
return itemstack
end
end
})
@ -96,10 +96,10 @@ homedecor.register("bed_extended", {
homedecor.unextend_bed(pos)
end,
on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- bed_on_rightclick(pos, node, clicker)
-- return itemstack
-- end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
bed_on_rightclick(pos, node, clicker)
return itemstack
end,
drop = "homedecor:bed_regular"
})
@ -133,10 +133,10 @@ homedecor.register("bed_kingsize", {
end
end,
on_dig = unifieddyes.on_dig,
-- on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- bed_on_rightclick(pos, node, clicker)
-- return itemstack
-- end,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
bed_on_rightclick(pos, node, clicker)
return itemstack
end,
})
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"
},
groups = { snappy = 3 },
use_texture_alpha = "clip",
sounds = default.node_sound_leaves_defaults(),
selection_box = { type="regular" },
})
@ -95,6 +96,7 @@ homedecor.register("ceiling_fan", {
{ -0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625 }
}
},
use_texture_alpha = "clip",
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-1,
sounds = default.node_sound_glass_defaults(),

View File

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

View File

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

View File

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

View File

@ -1,5 +1,12 @@
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 meta = minetest.get_meta(pos)
return meta:get_inventory():is_empty("main")
@ -97,6 +104,23 @@ function homedecor.handle_inventory(name, def, original_def)
end
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
local after_place_node = def.after_place_node
def.after_place_node = function(pos, placer)

View File

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

View File

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

View File

@ -35,6 +35,7 @@ homedecor.register("fence_picket", {
"homedecor_fence_picket_backside.png",
"homedecor_fence_picket.png"
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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.png",
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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.png"
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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.png",
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.1, -0.1),
@ -152,6 +156,7 @@ homedecor.register("fence_barbed_wire", {
description = S("Barbed Wire Fence"),
mesh = "homedecor_fence_barbed_wire.obj",
tiles = {"homedecor_fence_barbed_wire.png"},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.slab_z(-0.125),
@ -162,6 +167,7 @@ homedecor.register("fence_barbed_wire_corner", {
description = S("Barbed Wire Fence Corner"),
mesh = "homedecor_fence_barbed_wire_corner.obj",
tiles = { "homedecor_fence_barbed_wire.png" },
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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",
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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",
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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"
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
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"
},
use_texture_alpha = "clip",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
selection_box = homedecor.nodebox.corner_xz(0.08, -0.08),

View File

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

View File

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

View File

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

View File

@ -1,3 +1,3 @@
name = inbox
name = homedecor_inbox
depends = default, homedecor_common
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

@ -86,6 +86,7 @@ homedecor.register_furnace("microwave_oven", {
output_width = 2,
cook_speed = 1.5,
extra_nodedef_fields = {
use_texture_alpha = "clip",
node_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.125, 0.5, 0.125, 0.5 },
@ -154,6 +155,7 @@ homedecor.kitchen_convert_nodes = {}
for _, mat in ipairs(counter_materials) do
local desc = S("Kitchen Cabinet")
local desc2 = S("Kitchen Cabinet with drawers")
local material = ""
if mat ~= "" then
@ -177,7 +179,7 @@ for _, mat in ipairs(counter_materials) do
.."{homedecor_kitchen_cabinet_front.png"
.."{"..ic_cabinet_sides,
mesh = "homedecor_kitchen_cabinet.obj",
paramtype2 = "wallmounted",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored"..material,
place_param2 = 0,
@ -237,10 +239,9 @@ for _, mat in ipairs(counter_materials) do
.."{homedecor_kitchen_cabinet_front_with_drawers.png"
.."{"..ic_cabinet_sides,
mesh = "homedecor_kitchen_cabinet.obj",
paramtype2 = "wallmounted",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored_with_drawers"..material,
place_param2 = 0,
groups = { snappy = 3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(),
infotext=S("Kitchen Cabinet with drawers"),
@ -282,8 +283,10 @@ for _, mat in ipairs(counter_materials) do
end
})
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet"..material
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] = "homedecor:kitchen_cabinet_locked"..material
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] =
"homedecor:kitchen_cabinet"..material
homedecor.kitchen_convert_nodes[#homedecor.kitchen_convert_nodes + 1] =
"homedecor:kitchen_cabinet"..material.."_locked"
end
@ -300,7 +303,7 @@ homedecor.register("kitchen_cabinet_colorable_half", {
'homedecor_kitchen_cabinet_front_half.png^homedecor_kitchen_cabinet_half_bevel.png'
},
mesh = "homedecor_kitchen_cabinet_half.obj",
paramtype2 = "wallmounted",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored_half",
place_param2 = 0,
@ -363,7 +366,7 @@ homedecor.register("kitchen_cabinet_colorable_with_sink", {
.."{homedecor_kitchen_sink_top.png"
.."{homedecor_kitchen_cabinet_front.png"
.."{"..ic_cabinet_sides,
paramtype2 = "wallmounted",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
airbrush_replacement_node = "homedecor:kitchen_cabinet_colored_with_sink",
place_param2 = 0,
@ -469,10 +472,7 @@ homedecor.register("kitchen_faucet", {
on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
if below and
below.name == "homedecor:sink" or
below.name == "homedecor:kitchen_cabinet_with_sink" or
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
if below and string.find(below.name, "homedecor:.*sink") then
local particledef = {
outlet = { x = 0, y = -0.19, z = 0.13 },
velocity_x = { min = -0.05, max = 0.05 },
@ -573,7 +573,7 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet",
output = "homedecor:kitchen_cabinet_colorable",
recipe = {
{"group:wood", "group:stick", "group:wood", },
{"group:wood", "group:stick", "group:wood", },
@ -582,53 +582,53 @@ minetest.register_craft({
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_steel",
output = "homedecor:kitchen_cabinet_colorable_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"", "homedecor:kitchen_cabinet", ""},
{"", "homedecor:kitchen_cabinet_colorable", ""},
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_steel",
output = "homedecor:kitchen_cabinet_colorable_steel",
recipe = {
{"moreblocks:slab_steelblock_1"},
{ "homedecor:kitchen_cabinet" },
{ "homedecor:kitchen_cabinet_colorable" },
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_marble",
output = "homedecor:kitchen_cabinet_colorable_marble",
recipe = {
{"building_blocks:slab_marble"},
{"homedecor:kitchen_cabinet"},
{"homedecor:kitchen_cabinet_colorable"},
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_marble",
output = "homedecor:kitchen_cabinet_colorable_marble",
recipe = {
{"technic:slab_marble_1"},
{"homedecor:kitchen_cabinet"},
{"homedecor:kitchen_cabinet_colorable"},
}
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_granite",
output = "homedecor:kitchen_cabinet_colorable_granite",
recipe = {
{"technic:slab_granite_1"},
{"homedecor:kitchen_cabinet"},
{"homedecor:kitchen_cabinet_colorable"},
}
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:kitchen_cabinet_half 2",
recipe = { "homedecor:kitchen_cabinet" }
output = "homedecor:kitchen_cabinet_colorable_half 2",
recipe = { "homedecor:kitchen_cabinet_colorable" }
})
minetest.register_craft({
output = "homedecor:kitchen_cabinet_with_sink",
output = "homedecor:kitchen_cabinet_colorable_with_sink",
recipe = {
{"group:wood", "default:steel_ingot", "group:wood", },
{"group:wood", "default:steel_ingot", "group:wood", },

View File

@ -1,4 +1,4 @@
name = homedecor_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

View File

@ -263,7 +263,7 @@ for brightness_level = 0, 14 do
description = S("Thick Glowlight"),
tiles = tiles,
overlay_tiles = overlay,
use_texture_alpha = true,
use_texture_alpha = "blend",
drawtype = "nodebox",
paramtype = "light",
paramtype2 = "colorwallmounted",
@ -329,7 +329,7 @@ for brightness_level = 0, 14 do
description = S("Thin Glowlight"),
tiles = tiles,
overlay_tiles = overlay,
use_texture_alpha = true,
use_texture_alpha = "blend",
drawtype = "nodebox",
paramtype = "light",
paramtype2 = "colorwallmounted",
@ -396,7 +396,7 @@ for brightness_level = 0, 14 do
description = S("Small Glowlight Cube"),
tiles = tiles,
overlay_tiles = overlay,
use_texture_alpha = true,
use_texture_alpha = "blend",
paramtype = "light",
paramtype2 = "colorwallmounted",
drawtype = "nodebox",
@ -448,7 +448,7 @@ for brightness_level = 0, 14 do
"default_gold_block.png",
lighttex
},
use_texture_alpha = true,
use_texture_alpha = "blend",
light_source = brightness_level,
sunlight_propagates = true,
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
@ -473,7 +473,7 @@ for brightness_level = 0, 14 do
description = S("Ground Lantern/Light"),
mesh = "homedecor_ground_lantern.obj",
tiles = { gen_ls_tex_yellow, "homedecor_generic_metal_wrought_iron.png" },
use_texture_alpha = true,
use_texture_alpha = "blend",
inventory_image = "homedecor_ground_lantern_inv.png",
wield_image = "homedecor_ground_lantern_inv.png",
groups = {snappy=3, not_in_creative_inventory = nici},
@ -500,7 +500,7 @@ for brightness_level = 0, 14 do
description = S("Hanging Lantern/Light"),
mesh = "homedecor_hanging_lantern.obj",
tiles = { "homedecor_generic_metal_wrought_iron.png", gen_ls_tex_yellow },
use_texture_alpha = true,
use_texture_alpha = "blend",
inventory_image = "homedecor_hanging_lantern_inv.png",
wield_image = "homedecor_hanging_lantern_inv.png",
groups = {snappy=3, not_in_creative_inventory = nici},
@ -527,7 +527,7 @@ for brightness_level = 0, 14 do
drawtype = "mesh",
mesh = "homedecor_ceiling_lantern.obj",
tiles = { gen_ls_tex_yellow, "homedecor_generic_metal_wrought_iron.png" },
use_texture_alpha = true,
use_texture_alpha = "blend",
inventory_image = "homedecor_ceiling_lantern_inv.png",
description = S("Ceiling Lantern/Light"),
groups = {snappy=3, not_in_creative_inventory = nici},
@ -549,6 +549,7 @@ for brightness_level = 0, 14 do
homedecor.register("lattice_lantern_large_"..brightness_level, {
description = S("Lattice lantern/Light (large)"),
tiles = { gen_ls_tex_yellow.."^homedecor_lattice_lantern_large_overlay.png" },
use_texture_alpha = "clip",
groups = { snappy = 3, not_in_creative_inventory = nici },
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
@ -590,6 +591,7 @@ for brightness_level = 0, 14 do
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0, 0.25 }
},
use_texture_alpha = "clip",
groups = { snappy = 3, not_in_creative_inventory = nici },
light_source = brightness_level,
sounds = default.node_sound_glass_defaults(),
@ -792,7 +794,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
fixed = { -0.1875, -0.5, -0.1875, 0.1875, 0, 0.1875 }
},
walkable = false,
use_texture_alpha = true,
use_texture_alpha = "blend",
light_source = onflag and (default.LIGHT_MAX - 5) or nil,
sunlight_propagates = true,
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici},
@ -916,7 +918,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
gen_ls_tex_yellow,
"homedecor_generic_metal_wrought_iron.png"
},
use_texture_alpha = true,
use_texture_alpha = "blend",
inventory_image = "homedecor_wall_lamp_inv.png",
groups = {snappy=3, not_in_creative_inventory = nici},
light_source = onflag and (default.LIGHT_MAX - 3) or nil,
@ -954,6 +956,7 @@ homedecor.register("candle", {
inventory_image = "homedecor_candle_inv.png",
selection_box = tc_cbox,
walkable = false,
use_texture_alpha = "clip",
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
@ -975,6 +978,7 @@ homedecor.register("candle_thin", {
inventory_image = "homedecor_candle_thin_inv.png",
selection_box = c_cbox,
walkable = false,
use_texture_alpha = "clip",
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
@ -997,6 +1001,7 @@ homedecor.register("candlestick_wrought_iron", {
inventory_image = "homedecor_candlestick_wrought_iron_inv.png",
selection_box = cs_cbox,
walkable = false,
use_texture_alpha = "clip",
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
@ -1012,6 +1017,7 @@ homedecor.register("candlestick_brass", {
inventory_image = "homedecor_candlestick_brass_inv.png",
selection_box = cs_cbox,
walkable = false,
use_texture_alpha = "clip",
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
@ -1031,6 +1037,7 @@ homedecor.register("wall_sconce", {
fixed = { -0.1875, -0.25, 0.3125, 0.1875, 0.25, 0.5 }
},
walkable = false,
use_texture_alpha = "clip",
groups = { snappy = 3 },
light_source = default.LIGHT_MAX-4,
})
@ -1053,7 +1060,7 @@ homedecor.register("oil_lamp", {
{ name = "homedecor_generic_metal.png", color = 0xffa00000 },
"homedecor_oil_lamp_glass.png",
},
use_texture_alpha = true,
use_texture_alpha = "blend",
inventory_image = "homedecor_oil_lamp_inv.png",
selection_box = ol_cbox,
walkable = false,
@ -1132,6 +1139,7 @@ minetest.register_node(":homedecor:chandelier_steel", {
},
drawtype = "mesh",
mesh = "homedecor_chandelier.obj",
use_texture_alpha = "clip",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
})
@ -1158,6 +1166,7 @@ minetest.register_node(":homedecor:chandelier_brass", {
},
drawtype = "mesh",
mesh = "homedecor_chandelier.obj",
use_texture_alpha = "clip",
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
})
@ -1186,6 +1195,7 @@ homedecor.register("torch_wall", {
type = "fixed",
fixed = { -0.15, -0.45, 0.15, 0.15,0.35, 0.5 },
},
use_texture_alpha = "clip",
groups = {cracky=3},
})

View File

@ -112,6 +112,7 @@ for _, f in ipairs(flowers_list) do
"flowers_"..flower..".png"
},
walkable = false,
use_texture_alpha = "clip",
groups = {snappy = 3},
sounds = default.node_sound_glass_defaults(),
selection_box = {
@ -183,7 +184,7 @@ homedecor.register("fishtank", {
"homedecor_fishtank_water_top.png",
"homedecor_fishtank_sides.png",
},
use_texture_alpha = true,
use_texture_alpha = "blend",
selection_box = ft_cbox,
collision_box = ft_cbox,
groups = {cracky=3,oddly_breakable_by_hand=3},
@ -206,7 +207,7 @@ homedecor.register("fishtank_lighted", {
"homedecor_fishtank_sides_lighted.png",
},
light_source = default.LIGHT_MAX-4,
use_texture_alpha = true,
use_texture_alpha = "blend",
selection_box = ft_cbox,
collision_box = ft_cbox,
groups = {cracky=3,oddly_breakable_by_hand=3,not_in_creative_inventory=1},
@ -225,6 +226,7 @@ homedecor.register("cardboard_box_big", {
'homedecor_cardbox_big_tb.png',
'homedecor_cardbox_big_sides.png',
},
use_texture_alpha = "clip",
groups = { snappy = 3 },
infotext=S("Cardboard box"),
inventory = {
@ -245,6 +247,7 @@ homedecor.register("cardboard_box", {
{-0.3125, -0.5, -0.3125, 0.3125, 0, 0.3125},
}
},
use_texture_alpha = "clip",
groups = { snappy = 3 },
infotext=S("Cardboard box"),
inventory = {
@ -366,6 +369,7 @@ homedecor.register("skateboard", {
tiles = { "homedecor_skateboard.png" },
inventory_image = "homedecor_skateboard_inv.png",
description = S("Skateboard"),
use_texture_alpha = "clip",
groups = {snappy=3},
selection_box = skate_cbox,
walkable = false,

View File

@ -77,6 +77,7 @@ homedecor.register("calendar", {
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 }
},
use_texture_alpha = "clip",
groups = {choppy=2,attached_node=1},
legacy_wallmounted = true,
sounds = default.node_sound_defaults(),

View File

@ -11,7 +11,7 @@ read_globals = {
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"screwdriver",
"screwdriver", "homedecor",
}
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
minetest.register_node("plasmascreen:stand", {
homedecor.register("tv_stand", {
description = S("Plasma Screen TV Stand"),
tiles = {"plasmascreen_back.png"},
tiles = {"homedecor_plasmascreen_back.png"},
paramtype = "light",
paramtype2 = "facedir",
drawtype = "nodebox",
@ -26,13 +26,6 @@ minetest.register_node("plasmascreen:stand", {
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 = {
{ -1, 0 },
{ 0, 1 },
@ -95,13 +88,13 @@ local function checkwall(pos)
return true
end
minetest.register_node("plasmascreen:tv", {
homedecor.register("tv", {
description = S("Plasma TV"),
drawtype = "mesh",
mesh = "plasmascreen_tv.obj",
mesh = "homedecor_plasmascreen_tv.obj",
tiles = {
"plasmascreen_case.png",
{ name="plasmascreen_video.png",
"homedecor_plasmascreen_case.png",
{ name="homedecor_plasmascreen_video.png",
animation={
type="vertical_frames",
aspect_w = 42,
@ -111,8 +104,8 @@ minetest.register_node("plasmascreen:tv", {
}
},
inventory_image = "plasmascreen_tv_inv.png",
wield_image = "plasmascreen_tv_inv.png",
inventory_image = "homedecor_plasmascreen_tv_inv.png",
wield_image = "homedecor_plasmascreen_tv_inv.png",
paramtype = "light",
paramtype2 = "facedir",
light_source = 10,
@ -127,20 +120,20 @@ minetest.register_node("plasmascreen:tv", {
end
end,
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
})
minetest.register_node("plasmascreen:tv_off", {
homedecor.register("tv_off", {
description = S("Plasma TV (off)"),
drawtype = "mesh",
mesh = "plasmascreen_tv.obj",
mesh = "homedecor_plasmascreen_tv.obj",
tiles = {
"plasmascreen_case_off.png",
"plasmascreen_screen_off.png",
"homedecor_plasmascreen_case_off.png",
"homedecor_plasmascreen_screen_off.png",
},
inventory_image = "plasmascreen_tv_inv.png",
wield_image = "plasmascreen_tv_inv.png",
inventory_image = "homedecor_plasmascreen_tv_inv.png",
wield_image = "homedecor_plasmascreen_tv_inv.png",
paramtype = "light",
paramtype2 = "facedir",
light_source = 10,
@ -155,15 +148,15 @@ minetest.register_node("plasmascreen:tv_off", {
end
end,
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,
drop = "plasmascreen:tv"
drop = "homedecor:tv"
})
-- crafting recipes
minetest.register_craft({
output = "plasmascreen:tv",
output = "homedecor:tv",
recipe = {
{'default:glass', 'default:coal_lump', 'default:glass'},
{'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
@ -173,15 +166,25 @@ minetest.register_craft({
minetest.register_craft({
type = "shapeless",
output = "plasmascreen:tv",
output = "homedecor:tv",
recipe = {'homedecor:television', 'homedecor:television'},
})
minetest.register_craft({
output = "plasmascreen:stand",
output = "homedecor:tv_stand",
recipe = {
{'', '', ''},
{'', 'default:steel_ingot', ''},
{'group:stick', 'default:coal_lump', 'group:stick'},
}
})
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")

View File

@ -1,3 +1,3 @@
name = plasmascreen
name = homedecor_plasmascreen
depends = default, homedecor_common, homedecor_electronics
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

@ -20,7 +20,7 @@ minetest.register_node(":homedecor:skylight_frosted", {
tiles = { "homedecor_skylight_frosted.png" },
wield_image = "homedecor_skylight_frosted.png",
inventory_image = "homedecor_skylight_frosted_inv.png",
use_texture_alpha = true,
use_texture_alpha = "blend",
groups = { snappy = 3 },
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
@ -134,6 +134,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
paramtype2 = "facedir",
selection_box = slope_cbox,
collision_box = slope_cbox,
use_texture_alpha = "blend",
groups = groups,
on_place = minetest.rotate_node,
sounds = default.node_sound_wood_defaults()

View File

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

View File

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

View File

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

View File

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

View File

@ -19,7 +19,7 @@ local tabletop_materials = {
}
}
leg_materials = {
local leg_materials = {
{ "brass", S("brass") },
{ "wrought_iron", S("wrought iron") },
{ "wood", S("wood") }
@ -34,6 +34,7 @@ for _, t in ipairs(leg_materials) do
inventory_image = "homedecor_table_legs_"..name..".png",
wield_image = "homedecor_table_legs_"..name..".png",
walkable = false,
use_texture_alpha = "blend",
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
selection_box = {
@ -54,7 +55,7 @@ local tables_cbox = {
}
for i, mat in ipairs(tabletop_materials) do
local m, small_s, small_r, large = unpack(mat)
local m = unpack(mat)
local s
if m == "glass" then
@ -76,6 +77,7 @@ for i, mat in ipairs(tabletop_materials) do
'homedecor_blanktile.png',
},
wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png',
use_texture_alpha = "blend",
groups = { snappy = 3 },
sounds = s,
selection_box = tables_cbox,
@ -99,7 +101,7 @@ for i, mat in ipairs(tabletop_materials) do
})
for _, l in ipairs(leg_materials) do
local leg_mat, desc = unpack(l)
local leg_mat = unpack(l)
homedecor.register(string.format("%s_table_%s_with_%s_legs", m, shape, leg_mat), {
description = string.format("%s %s table with %s legs", shape, m, leg_mat),
@ -111,6 +113,7 @@ for i, mat in ipairs(tabletop_materials) do
'homedecor_'..m..'_table_edges.png',
"homedecor_table_legs_"..leg_mat..".png",
},
use_texture_alpha = "blend",
groups = { snappy = 3 },
sounds = s,
})

View File

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

View File

@ -1,5 +1,5 @@
local S = minetest.get_translator("homedecor_wardrobe")
modpath = minetest.get_modpath("homedecor_wardrobe")
local modpath = minetest.get_modpath("homedecor_wardrobe")
local wd_cbox = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 1.5, 0.5}}
@ -26,6 +26,9 @@ if skinsdb_mod_path then
skin_obj:set_preview("homedecor_clothes_"..skin_name.."_preview.png")
skin_obj:set_texture("homedecor_clothes_"..skin_name..".png")
if skin_obj.set_hand_from_texture then
skin_obj:set_hand_from_texture()
end
skin_obj:set_meta("name", S("Wardrobe").." "..skin_name)
skin_obj:set_meta("author", 'Calinou and Jordach')
skin_obj:set_meta("license", 'CC-by-SA-4.0')
@ -173,7 +176,7 @@ if not skinsdb_mod_path then -- If not managed by skinsdb
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

View File

@ -12,7 +12,7 @@ homedecor.register("window_quartered", {
"homedecor_window_quartered.png",
"homedecor_window_quartered.png"
},
use_texture_alpha = true,
use_texture_alpha = "blend",
groups = {snappy=3},
sounds = default.node_sound_glass_defaults(),
node_box = {
@ -43,7 +43,7 @@ homedecor.register("window_plain", {
"homedecor_window_frame.png",
"homedecor_window_frame.png"
},
use_texture_alpha = true,
use_texture_alpha = "blend",
groups = {snappy=3},
sounds = default.node_sound_glass_defaults(),
node_box = {
@ -105,7 +105,7 @@ minetest.register_node(":homedecor:curtain_closed", {
tiles = { "homedecor_curtain.png" },
inventory_image = "homedecor_curtain.png",
drawtype = 'signlike',
use_texture_alpha = true,
use_texture_alpha = "blend",
walkable = false,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory=1 },
sounds = default.node_sound_leaves_defaults(),
@ -128,7 +128,7 @@ minetest.register_node(":homedecor:curtain_open", {
tiles = { "homedecor_curtain_open.png" },
inventory_image = "homedecor_curtain_open.png",
drawtype = 'signlike',
use_texture_alpha = true,
use_texture_alpha = "blend",
walkable = false,
groups = { snappy = 3, ud_param2_colorable = 1 },
sounds = default.node_sound_leaves_defaults(),
@ -179,6 +179,7 @@ homedecor.register("window_flowerbox", {
},
inventory_image = "homedecor_flowerbox_inv.png",
sounds = default.node_sound_stone_defaults(),
use_texture_alpha = "clip",
groups = { snappy = 3 },
node_box = {
type = "fixed",
@ -195,7 +196,7 @@ homedecor.register("stained_glass", {
tiles = {"homedecor_stained_glass.png"},
inventory_image = "homedecor_stained_glass.png",
groups = {snappy=3},
use_texture_alpha = true,
use_texture_alpha = "blend",
light_source = 3,
sounds = default.node_sound_glass_defaults(),
node_box = {

View File

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

View File

@ -22,7 +22,7 @@ minetest.register_node("lavalamp:lavalamp", {
},
},
},
use_texture_alpha = true,
use_texture_alpha = "blend",
inventory_image = "lavalamp_lamp_inv.png",
paramtype = "light",
paramtype2 = "color",

View File