make homedecor game agnostic (#28)

* make materials.lua with hades, minetest game, farlands items

* make textures file for central handling

* make mods game agnostic

* take out the trash

* handle multiple seats in sofas

* add github luacheck workflow and various luacheck fixes

* add fluxionary scope creep

* fix devtest breaking right to a name policy

Co-authored-by: wsor4035 <24964441+wsor4035@users.noreply.github.com>
Co-authored-by: SFENCE <sfence.software@gmail.com>
This commit is contained in:
wsor4035
2022-05-03 15:21:14 -04:00
committed by GitHub
parent 3ba59dc2d5
commit 546cd7110f
124 changed files with 2584 additions and 2597 deletions

View File

@ -2,6 +2,8 @@ local S = minetest.get_translator("homedecor_bedroom")
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
local wood_tex, wool_tex = homedecor.textures.default_wood, homedecor.textures.wool_white
local bed_sbox = {
type = "wallmounted",
wall_side = { -0.5, -0.5, -0.5, 0.5, 0.5, 1.5 }
@ -31,26 +33,29 @@ local kbed_cbox = {
}
local bed_on_rightclick = minetest.registered_nodes["beds:bed"].on_rightclick
local bed_def = minetest.registered_nodes["beds:bed"]
local bed_on_rightclick = bed_def and bed_def.on_rightclick or nil
homedecor.register("bed_regular", {
mesh = "homedecor_bed_regular.obj",
tiles = {
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
{ name = "default_wood.png", color = 0xffffffff },
{ name = "wool_white.png", color = 0xffffffff },
"wool_white.png",
{ name = wood_tex, color = 0xffffffff },
{ name = wool_tex, color = 0xffffffff },
wool_tex,
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
"wool_white.png^[brighten", -- pillow
wool_tex.."^[brighten", -- pillow
},
inventory_image = "homedecor_bed_inv.png",
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
description = S("Bed"),
groups = {snappy=3, ud_param2_colorable = 1},
groups = {snappy=3, ud_param2_colorable = 1, dig_generic=2},
selection_box = bed_sbox,
node_box = bed_cbox,
sounds = default.node_sound_wood_defaults(),
_sound_def = {
key = "node_sound_wood_defaults",
},
on_rotate = sc_disallow or nil,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
@ -66,30 +71,40 @@ homedecor.register("bed_regular", {
local itemname = itemstack:get_name()
if itemname == "homedecor:bed_regular" then
homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true)
return itemstack
else
elseif bed_on_rightclick then
bed_on_rightclick(pos, node, clicker)
return itemstack
end
end
return itemstack
end,
crafts = {
{
recipe = {
{ "group:stick", "", "group:stick" },
{ "wool_white", "wool_white", "wool_white" },
{ "group:wood", "", "group:wood" },
},
}
}
})
homedecor.register("bed_extended", {
mesh = "homedecor_bed_extended.obj",
tiles = {
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
{ name = "default_wood.png", color = 0xffffffff },
{ name = "wool_white.png", color = 0xffffffff },
"wool_white.png",
{ name = wood_tex, color = 0xffffffff },
{ name = wool_tex, color = 0xffffffff },
wool_tex,
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
"wool_white.png^[brighten",
wool_tex.."^[brighten",
},
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
selection_box = bed_sbox,
node_box = bed_cbox,
groups = {snappy=3, ud_param2_colorable = 1},
sounds = default.node_sound_wood_defaults(),
groups = {snappy=3, ud_param2_colorable = 1, dig_generic=2},
_sound_def = {
key = "node_sound_wood_defaults",
},
expand = { forward = "air" },
on_rotate = sc_disallow or nil,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
@ -97,7 +112,9 @@ homedecor.register("bed_extended", {
end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
bed_on_rightclick(pos, node, clicker)
if bed_on_rightclick then
bed_on_rightclick(pos, node, clicker)
end
return itemstack
end,
drop = "homedecor:bed_regular"
@ -107,20 +124,22 @@ homedecor.register("bed_kingsize", {
mesh = "homedecor_bed_kingsize.obj",
tiles = {
{ name = "homedecor_bed_frame.png", color = 0xffffffff },
{ name = "default_wood.png", color = 0xffffffff },
{ name = "wool_white.png", color = 0xffffffff },
"wool_white.png",
{ name = wood_tex, color = 0xffffffff },
{ name = wool_tex, color = 0xffffffff },
wool_tex,
{ name = "homedecor_bed_bottom.png", color = 0xffffffff },
"wool_white.png^[brighten",
wool_tex.."^[brighten",
},
paramtype2 = "colorwallmounted",
palette = "unifieddyes_palette_colorwallmounted.png",
inventory_image = "homedecor_bed_kingsize_inv.png",
description = S("Bed (king sized)"),
groups = {snappy=3, ud_param2_colorable = 1},
groups = {snappy=3, ud_param2_colorable = 1, dig_generic=2},
selection_box = kbed_sbox,
node_box = kbed_cbox,
sounds = default.node_sound_wood_defaults(),
_sound_def = {
key = "node_sound_wood_defaults",
},
on_rotate = sc_disallow or nil,
after_place_node = function(pos, placer, itemstack, pointed_thing)
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
@ -134,9 +153,18 @@ homedecor.register("bed_kingsize", {
end,
on_dig = unifieddyes.on_dig,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
bed_on_rightclick(pos, node, clicker)
if bed_on_rightclick then
bed_on_rightclick(pos, node, clicker)
end
return itemstack
end,
crafts = {
{
recipe = {
{ "homedecor:bed_regular", "homedecor:bed_regular" }
},
}
}
})
for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do
@ -159,8 +187,10 @@ for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do
{ -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 3, dig_tree = 2 },
_sound_def = {
key = "node_sound_wood_defaults",
},
selection_box = { type = "regular" },
infotext=S("One-drawer Nightstand"),
inventory = {
@ -185,8 +215,10 @@ for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do
{ -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 3, dig_tree = 2 },
_sound_def = {
key = "node_sound_wood_defaults",
},
selection_box = { type = "regular" },
infotext=S("Two-drawer Nightstand"),
inventory = {
@ -318,7 +350,7 @@ minetest.register_craft( {
output = "homedecor:nightstand_mahogany_one_drawer",
recipe = {
"homedecor:nightstand_oak_one_drawer",
"dye:brown",
homedecor.materials.dye_brown,
},
})
@ -333,7 +365,7 @@ minetest.register_craft( {
output = "homedecor:nightstand_mahogany_two_drawers",
recipe = {
"homedecor:nightstand_oak_two_drawers",
"dye:brown",
homedecor.materials.dye_brown,
},
})
@ -343,16 +375,6 @@ minetest.register_craft({
burntime = 30,
})
minetest.register_craft( {
output = "homedecor:bed_regular",
recipe = {
{ "group:stick", "", "group:stick" },
{ "wool:white", "wool:white", "wool:white" },
{ "group:wood", "", "group:wood" },
},
})
unifieddyes.register_color_craft({
output = "homedecor:bed_regular",
palette = "wallmounted",
@ -364,13 +386,6 @@ unifieddyes.register_color_craft({
}
})
minetest.register_craft( {
output = "homedecor:bed_kingsize",
recipe = {
{ "homedecor:bed_regular", "homedecor:bed_regular" }
},
})
unifieddyes.register_color_craft({
output = "homedecor:bed_kingsize",
palette = "wallmounted",