Compare commits

...

4 Commits

Author SHA1 Message Date
d10fd96d1c handle interact with node check in non mtg games with a fallback 2024-04-01 19:51:48 -04:00
0d5cab9455 replace hardcoded game agnostic texture support and homedecor.textures to xcompat (#66)
* switch existing to xcompat textures

* replace the rest of the hard coded texture conversions to use homedecor.textures
2024-03-03 15:52:58 -05:00
080551e647 Is ground content (#64)
see https://github.com/pandorabox-io/pandorabox.io/issues/836
2024-02-29 18:49:24 -05:00
280924c02b add in xcompat for game agnostic handling dry (#63) 2024-02-25 12:04:20 -05:00
34 changed files with 117 additions and 317 deletions

View File

@ -39,4 +39,5 @@ read_globals = {
"creative",
"doors",
"i3",
"xcompat",
}

View File

@ -25,7 +25,4 @@ required:
* [Unifieddyes](https://github.com/mt-mods/unifieddyes)
* [Basic Materials](https://github.com/mt-mods/basic_materials)
optional:
* [Sound Api](https://github.com/mt-mods/sound_api) - note: needed for sound support
* [xcompat](https://github.com/mt-mods/xcompat)

View File

@ -13,6 +13,8 @@ local function building_blocks_stairs(nodename, def)
def._mcl_hardness=1.6
end
def.is_ground_content = def.is_ground_content == true
minetest.register_node(nodename, def)
if minetest.get_modpath("moreblocks") then
local mod, name = nodename:match("(.*):(.*)")
@ -31,7 +33,7 @@ building_blocks_stairs("building_blocks:grate", {
tiles = {"building_blocks_grate.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {cracky=1, dig_generic=3},
_sound_def = {
@ -44,7 +46,7 @@ building_blocks_stairs("building_blocks:smoothglass", {
tiles = {"building_blocks_sglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
_sound_def = {
@ -57,7 +59,7 @@ building_blocks_stairs("building_blocks:woodglass", {
tiles = {"building_blocks_wglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
_sound_def = {
@ -68,20 +70,21 @@ building_blocks_stairs("building_blocks:woodglass", {
building_blocks_stairs("building_blocks:Adobe", {
tiles = {"building_blocks_Adobe.png"},
description = S("Adobe"),
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=3, dig_stone=2},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
local grasstex = {"[combine:16x16^[noalpha^[colorize:#006400"}
if minetest.get_modpath("default") then
grasstex = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}
end
local grasstex = {
homedecor.textures.grass.top,
homedecor.textures.grass.dirt,
homedecor.textures.grass.side
}
building_blocks_stairs("building_blocks:fakegrass", {
tiles = grasstex,
description = S("Fake Grass"),
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=3, dig_sand=3},
_sound_def = {
key = "node_sound_dirt_defaults",
@ -89,7 +92,7 @@ building_blocks_stairs("building_blocks:fakegrass", {
})
building_blocks_stairs("building_blocks:hardwood", {
tiles = {"building_blocks_hardwood.png"},
is_ground_content = true,
is_ground_content = false,
description = S("Hardwood"),
groups = {choppy=1,flammable=1, dig_tree=1},
_sound_def = {
@ -98,7 +101,7 @@ building_blocks_stairs("building_blocks:hardwood", {
})
building_blocks_stairs("building_blocks:Roofing", {
tiles = {"building_blocks_Roofing.png"},
is_ground_content = true,
is_ground_content = false,
description = S("Roof block"),
groups = {snappy=3, dig_generic=4},
_sound_def = {
@ -108,7 +111,7 @@ building_blocks_stairs("building_blocks:Roofing", {
building_blocks_stairs("building_blocks:Tar", {
description = S("Tar"),
tiles = {"building_blocks_tar.png"},
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=1, tar_block = 1, dig_generic=4},
_sound_def = {
key = "node_sound_stone_defaults",
@ -117,7 +120,7 @@ building_blocks_stairs("building_blocks:Tar", {
building_blocks_stairs("building_blocks:Marble", {
description = S("Marble"),
tiles = {"building_blocks_marble.png"},
is_ground_content = true,
is_ground_content = false,
groups = {cracky=3, marble = 1, dig_stone=2},
_sound_def = {
key = "node_sound_stone_defaults",
@ -139,16 +142,13 @@ minetest.register_node("building_blocks:brobble_spread", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
local graveltex = "[combine:16x16^[noalpha^[colorize:#3a3b3c"
if minetest.get_modpath("default") then
graveltex = "default_gravel.png"
end
local graveltex = homedecor.textures.gravel
minetest.register_node("building_blocks:gravel_spread", {
drawtype = "raillike",
description = S("Gravel Spread"),
@ -162,7 +162,7 @@ if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopbloc
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=2, dig_generic=4, handy=1},
_mcl_hardness=0.6,
_sound_def = {
@ -184,7 +184,7 @@ minetest.register_node("building_blocks:Tarmac_spread", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
groups = {cracky=3, dig_generic=4, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {
@ -204,7 +204,7 @@ minetest.register_node("building_blocks:terrycloth_towel", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
@ -228,7 +228,7 @@ minetest.register_node("building_blocks:BWtile", {
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
@ -245,7 +245,7 @@ minetest.register_node("building_blocks:Fireplace", {
paramtype2 = "facedir",
light_source = minetest.LIGHT_MAX,
sunlight_propagates = true,
is_ground_content = true,
is_ground_content = false,
groups = {cracky=2, dig_generic=4, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {

View File

@ -146,6 +146,7 @@ minetest.register_node("fake_fire:ice_fire", {
paramtype = "light",
paramtype2 = "facedir",
groups = {dig_immediate=3, not_in_creative_inventory=1, dig_generic=3, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
sunlight_propagates = true,
buildable_to = true,
@ -177,7 +178,7 @@ local sbox = {
fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16},
}
local wtex = homedecor.textures.default_junglewood
local wtex = homedecor.textures.wood.jungle.planks
minetest.register_node("fake_fire:fancy_fire", {
inventory_image = "fancy_fire_inv.png",
@ -188,6 +189,7 @@ minetest.register_node("fake_fire:fancy_fire", {
paramtype2 = "facedir",
use_texture_alpha = "clip",
groups = {oddly_breakable_by_hand=3, flammable=0, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
sunlight_propagates = true,
light_source = 13,
@ -234,6 +236,7 @@ minetest.register_node("fake_fire:embers", {
},
light_source = 9,
groups = {crumbly=3, dig_stone=2, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
paramtype = "light",
_sound_def = {
@ -266,6 +269,7 @@ for _, mat in ipairs(materials) do
description = desc,
tiles = {tex.."^chimney_top.png", tex},
groups = {snappy=3, dig_stone=2, handy=1},
is_ground_content = false,
_mcl_hardness=0.6,
paramtype = "light",
_sound_def = {

View File

@ -2,8 +2,8 @@ local S = minetest.get_translator("homedecor_bathroom")
local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil
local wood_tex = homedecor.textures.default_wood
local water_tex = homedecor.textures.water
local wood_tex = homedecor.textures.wood.apple.planks
local water_tex = homedecor.textures.water.tile
homedecor.register("bathroom_tiles_dark", {
description = S("Bathroom/kitchen tiles (dark)"),

View File

@ -2,7 +2,7 @@ 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 wood_tex, wool_tex = homedecor.textures.wood.apple.planks, homedecor.textures.wool.white
local bed_sbox = {
type = "wallmounted",

View File

@ -7,7 +7,7 @@ homedecor.register("air_conditioner", {
mesh = "homedecor_ac.obj",
tiles = {
"homedecor_ac.png",
homedecor.textures.glass
homedecor.textures.glass.pane
},
groups = { snappy = 3, dig_stone = 3 },
use_texture_alpha = "clip",

View File

@ -1,12 +1,6 @@
local S = minetest.get_translator("homedecor_clocks")
local wood
if minetest.get_modpath("default") then
wood = "default_wood.png"
else
wood = "[combine:16x16^[noalpha^[colorize:#563d2d"
end
local wood = homedecor.textures.wood.apple.planks
local plastic_craft = {
output = "homedecor:analog_clock_plastic 2",
@ -135,7 +129,7 @@ homedecor.register("grandfather_clock", {
description = S("Grandfather Clock"),
mesh = "homedecor_grandfather_clock.obj",
tiles = {
homedecor.textures.glass,
homedecor.textures.glass.pane,
"homedecor_grandfather_clock_face.png",
homedecor.lux_wood,
"homedecor_grandfather_clock_face_edge.png",

View File

@ -54,8 +54,7 @@ homedecor.color_dark_grey = 0xff606060
homedecor.color_med_grey = 0xffa0a0a0
-- load different handler subsystems
dofile(modpath.."/textures.lua")
dofile(modpath.."/materials.lua")
dofile(modpath.."/xcompat.lua")
dofile(modpath.."/nodeboxes.lua")
dofile(modpath.."/expansion.lua")
dofile(modpath.."/furnaces.lua")

View File

@ -12,6 +12,22 @@ local default_can_dig = function(pos,player)
return meta:get_inventory():is_empty("main")
end
local default_can_interact_with_node = function(player, pos)
--if we have default, use it
if default then return default.can_interact_with_node(player, pos) end
local owner = minetest.get_meta(pos):get_string("owner") or ""
--check that we have a valid player
if not player or not player:is_player() then return false end
--check there privs for compat with areas
if minetest.check_player_privs(player, "protection_bypass") then return true end
--if a normal player, check if they are the owner
if owner == "" or owner == player:get_player_name() then return true end
return false
end
local default_inventory_formspecs = {
["4"]="size[8,6]"..
@ -133,7 +149,7 @@ function homedecor.handle_inventory(name, def, original_def)
local allow_move = def.allow_metadata_inventory_move
def.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
if not default.can_interact_with_node(player, pos) then
if not default_can_interact_with_node(player, pos) then
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to "
..minetest.get_meta(pos):get_string("owner").." at "..minetest.pos_to_string(pos))
return 0
@ -144,7 +160,7 @@ function homedecor.handle_inventory(name, def, original_def)
local allow_put = def.allow_metadata_inventory_put
def.allow_metadata_inventory_put = function(pos, listname, index, stack, player)
if not default.can_interact_with_node(player, pos) then
if not default_can_interact_with_node(player, pos) then
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
..minetest.get_meta(pos):get_string("owner").." at "..minetest.pos_to_string(pos))
return 0
@ -155,7 +171,7 @@ function homedecor.handle_inventory(name, def, original_def)
local allow_take = def.allow_metadata_inventory_take
def.allow_metadata_inventory_take = function(pos, listname, index, stack, player)
if not default.can_interact_with_node(player, pos) then
if not default_can_interact_with_node(player, pos) then
minetest.log("action", player:get_player_name().." tried to access a "..name.." belonging to"
..minetest.get_meta(pos):get_string("owner").." at ".. minetest.pos_to_string(pos))
return 0
@ -166,7 +182,7 @@ function homedecor.handle_inventory(name, def, original_def)
local can_dig = def.can_dig or default_can_dig
def.can_dig = function(pos, player)
return default.can_interact_with_node(player, pos) and (can_dig and can_dig(pos, player) == true)
return default_can_interact_with_node(player, pos) and (can_dig and can_dig(pos, player) == true)
end
def.on_key_use = function(pos, player)

View File

@ -1,213 +0,0 @@
homedecor.materials = {
dirt = "default:dirt",
sand = "default:sand",
gravel = "default:gravel",
copper_ingot = "default:copper_ingot",
steel_ingot = "default:steel_ingot",
gold_ingot = "default:gold_ingot",
tin_ingot = "default:tin_ingot",
mese_crystal_fragment = "default:mese_crystal_fragment",
torch = "default:torch",
diamond = "default:diamond",
clay_lump = "default:clay_lump",
water_bucket = "bucket:bucket_water",
empty_bucket = "bucket:bucket_empty",
dye_dark_grey = "dye:dark_grey",
dye_black = "dye:black",
dye_white = "dye:white",
dye_green = "dye:green",
dye_red = "dye:red",
dye_yellow = "dye:yellow",
dye_brown = "dye:brown",
dye_blue = "dye:blue",
dye_violet = "dye:violet",
dye_grey = "dye:grey",
dye_dark_green = "dye:dark_green",
dye_orange = "dye:orange",
dye_pink = "dye:pink",
silicon = "mesecons_materials:silicon",
string = "farming:string",
paper = "default:paper",
book = "default:book",
iron_lump = "default:iron_lump",
wool_grey = "wool:grey",
wool_green = "wool:green",
wool_dark_green = "wool:dark_green",
wool_brown = "wool:brown",
wool_black = "wool:black",
wool_white = "wool:white",
slab_stone = "stairs:slab_stone",
slab_wood = "stairs:slab_wood",
glass_block = "default:glass",
glass_bottle = "vessels:glass_bottle",
coal_lump = "default:coal_lump",
stone = "default:stone",
cobble = "default:cobble",
brick = "default:brick",
obsidian_glass = "default:obsidian_glass",
}
if minetest.get_modpath("moreores") then
homedecor.materials.silver_ingot = "moreores:silver_ingot"
end
if minetest.get_modpath("mcl_core") then
homedecor.materials = {
dirt = "mcl_core:dirt",
sand = "mcl_core:sand",
gravel = "mcl_core:gravel",
copper_ingot = "mcl_copper:copper_ingot",
steel_ingot = "mcl_core:iron_ingot",
gold_ingot = "mcl_core:gold_ingot",
tin_ingot = "mcl_core:iron_ingot",
mese_crystal_fragment = "mcl_core:iron_ingot",
torch = "mcl_torches:torch",
diamond = "mcl_core:diamond",
clay_lump = "default:clay_lump",
water_bucket = "mcl_buckets:bucket:bucket_water",
empty_bucket = "mcl_buckets:bucket_empty",
dye_dark_grey = "mcl_dyes:dark_grey",
dye_black = "mcl_dyes:black",
dye_white = "mcl_dyes:white",
dye_green = "mcl_dyes:green",
dye_red = "mcl_dyes:red",
dye_yellow = "mcl_dyes:yellow",
dye_brown = "mcl_dyes:brown",
dye_blue = "mcl_dyes:blue",
dye_violet = "mcl_dyes:violet",
dye_grey = "mcl_dyes:grey",
dye_dark_green = "mcl_dyes:dark_green",
dye_orange = "mcl_dyes:orange",
dye_pink = "mcl_dyes:pink",
silicon = "mcl_core:iron_ingot",
string = "mcl_mobitems:string",
paper = "mcl_core:paper",
book = "mcl_core:book",
iron_lump = "mcl_core:stone_with_iron",
wool_grey = "mcl_wool:grey",
wool_green = "mcl_wool:green",
wool_dark_green = "mcl_wool:dark_green",
wool_brown = "mcl_wool:brown",
wool_black = "mcl_wool:black",
wool_white = "mcl_wool:white",
slab_stone = "mcl_stairs:slab_stone",
slab_wood = "mcl_stairs:slab_wood",
glass_block = "mcl_core:glass",
glass_bottle = "mcl_core:glass_bottle",
coal_lump = "mcl_core:coal",
stone = "mcl_core:stone",
cobble = "mcl_core:cobble",
brick = "mcl_core:brick",
}
elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
homedecor.materials = {
dirt = "fl_topsoil:dirt",
sand = "fl_stone:sand",
gravel = "fl_topsoil:gravel",
steel_ingot = "fl_ores:iron_ingot",
gold_ingot = "fl_ores:gold_ingot",
mese_crystal_fragment = "fl_ores:iron_ingot",
torch = "fl_light_sources:torch",
diamond = "fl_ores:diamond",
clay_lump = "fl_bricks:clay_lump",
water_bucket = "fl_bucket:bucket_water",
empty_bucket = "fl_bucket:bucket",
dye_dark_grey = "fl_dyes:dark_grey_dye",
dye_black = "fl_dyes:black_dye",
dye_white = "fl_dyes:white_dye",
dye_green = "fl_dyes:green_dye",
dye_red = "fl_dyes:red_dye",
dye_yellow = "fl_dyes:yellow_dye",
dye_brown = "fl_dyes:brown_dye",
dye_blue = "fl_dyes:blue_dye",
dye_violet = "fl_dyes:violet_dye",
dye_grey = "fl_dyes:grey_dye",
dye_dark_green = "fl_dyes:dark_green_dye",
dye_orange = "fl_dyes:orange_dye",
dye_pink = "fl_dyes:pink_dye",
copper_ingot = "fl_ores:copper_ingot",
tin_ingot = "fl_ores:tin_ingot",
silver_ingot = "fl_ores:iron_ingot",
silicon = "mesecons_materials:silicon",
string = "fl_plantlife:oxeye_daisy",
paper = "basic_materials:plastic_sheet",
iron_lump = "fl_ores:iron_ore",
wool_grey = "",
wool_green = "",
wool_dark_green = "",
wool_brown = "",
wool_black = "",
wool_white = "",
slab_stone = "fl_stone:stone_slab",
slab_wood = "fl_trees:apple_plank_slab",
glass_block = "fl_glass:framed_glass",
glass_bottle = "fl_bottles:bottle",
coal_lump = "fl_ores:coal_ore",
stone = "fl_stone:stone",
cobble = "fl_stone:stone_rubble",
brick = "",
}
elseif minetest.get_modpath("hades_core") then
homedecor.materials = {
sand = "hades_core:fertile_sand",
gravel = "hades_core:gravel",
copper_ingot = "hades_core:copper_ingot",
steel_ingot = "hades_core:steel_ingot",
gold_ingot = "hades_core:gold_ingot",
tin_ingot = "hades_core:tin_ingot",
silver_ingot = "--unknown--",
mese_crystal_fragment = "hades_core:mese_crystal_fragment",
torch = "hades_torches:torch",
diamond = "hades_core:diamond",
clay_lump = "hades_core:clay_lump",
clay_brick = "hades_core:clay_brick",
--[[
Since hades doesnt have buckets or water for the user,
using dirt from near water to pull the water out
]]
water_bucket = "hades_core:dirt",
empty_bucket = "hades_core:fertile_sand",
dye_dark_grey = "dye:dark_grey",
dye_black = "dye:black",
dye_white = "dye:white",
dye_green = "dye:green",
dye_red = "dye:red",
dye_yellow = "dye:yellow",
dye_brown = "dye:brown",
dye_blue = "dye:blue",
dye_violet = "dye:violet",
dye_grey = "dye:grey",
dye_dark_green = "dye:dark_green",
dye_orange = "dye:orange",
dye_pink = "dye:pink",
silicon = "hades_materials:silicon",
string = "hades_farming:string",
paper = "hades_core:paper",
book = "hades_core:book",
iron_lump = "hades_core:iron_lump",
wool_grey = "wool:grey",
wool_green = "wool:green",
wool_dark_green = "wool:dark_green",
wool_brown = "wool:brown",
wool_black = "wool:black",
wool_white = "wool:white",
slab_stone = "stairs:slab_stone",
slab_wood = "stairs:slab_wood",
glass_block = "hades_core:glass",
glass_bottle = "vessels:glass_bottle",
obsidian_glass = "hades_core:obsidian_glass",
coal_lump = "hades_core:coal_lump",
stone = "hades_core:stone",
cobble = "hades_core:cobble",
brick = "hades_core:brick"
}
if minetest.get_modpath("hades_bucket") then
homedecor.materials["water_bucket"] = "hades_bucket:bucket_water"
homedecor.materials["empty_bucket"] = "hades_bucket:bucket_empty"
end
if minetest.get_modpath("hades_extraores") then
homedecor.materials["silver_ingot"] = "hades_extraores:silver_ingot"
end
end

View File

@ -1,4 +1,4 @@
name = homedecor_common
description = Homedecor mod: common
depends = basic_materials, unifieddyes
depends = basic_materials, unifieddyes, xcompat
optional_depends = screwdriver, hopper, default, creative, sound_api, fl_stone, fl_mapgen, i3, mcl_core, mcl_mapgen_core, void_essential, mapgen

View File

@ -19,6 +19,8 @@ function homedecor.register(name, original_def)
def._mcl_hardness=1.6
end
def.is_ground_content = def.is_ground_content == true
def.drawtype = def.drawtype
or (def.mesh and "mesh")
or (def.node_box and "nodebox")

View File

@ -1,34 +0,0 @@
homedecor.plain_wood = { name = "homedecor_generic_wood_plain.png", color = 0xffa76820 }
homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff7d2506 }
homedecor.white_wood = "homedecor_generic_wood_plain.png"
homedecor.dark_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff39240f }
homedecor.lux_wood = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
homedecor.textures = {
glass =
"[combine:16x16:" ..
"0,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff:" ..
"0,0=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
"0,15=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
"15,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff",
default_wood = "[combine:16x16^[noalpha^[colorize:#654321",
default_junglewood = "[combine:16x16^[noalpha^[colorize:#563d2d",
water = "[combine:16x16^[noalpha^[colorize:#00008b",
wool_white = "[combine:16x16^[noalpha^[colorize:#ffffff",
wool_black = "[combine:16x16^[noalpha^[colorize:#000000",
wool_grey = "[combine:16x16^[noalpha^[colorize:#313b3c",
wool_dark_grey = "[combine:16x16^[noalpha^[colorize:#313b3c",
}
if minetest.get_modpath("default") then
homedecor.textures = {
glass = "default_glass.png",
default_wood = "default_wood.png",
default_junglewood = "default_junglewood.png",
water = "default_water.png",
wool_white = "wool_white.png",
wool_black = "wool_black.png",
wool_grey = "wool_grey.png",
wool_dark_grey = "wool_dark_grey.png",
}
end

View File

@ -0,0 +1,8 @@
homedecor.plain_wood = { name = "homedecor_generic_wood_plain.png", color = 0xffa76820 }
homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff7d2506 }
homedecor.white_wood = "homedecor_generic_wood_plain.png"
homedecor.dark_wood = { name = "homedecor_generic_wood_plain.png", color = 0xff39240f }
homedecor.lux_wood = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
homedecor.materials = xcompat.materials
homedecor.textures = xcompat.textures

View File

@ -247,6 +247,7 @@ for i, g in ipairs(gate_list) do
paramtype = "light",
use_texture_alpha = "clip",
groups = {snappy=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
sounds = default.node_sound_wood_defaults(),
paramtype2 = "facedir",
@ -709,4 +710,4 @@ minetest.register_lbm({
end
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})
end
})
})

View File

@ -43,7 +43,7 @@ homedecor.register("barbecue", {
minetest.register_alias("homedecor:barbecue_meat", "air")
local wood_tex = homedecor.textures.default_wood
local wood_tex = homedecor.textures.wood.apple.planks
homedecor.register("doghouse", {
mesh = "homedecor_doghouse.obj",
@ -288,8 +288,7 @@ homedecor.register("swing_rope", {
selection_box = homedecor.nodebox.null
})
local water_tex = "default_water.png"
if not minetest.get_modpath("default") then water_tex = "[combine:16x16^[noalpha^[colorize:#00008b" end
local water_tex = homedecor.textures.water.tile
local cobble_tex = minetest.registered_nodes["mapgen_stone"].tiles[1]
local stone_drop = minetest.registered_nodes["mapgen_stone"].drop
if stone_drop and type(stone_drop) == "string" then

View File

@ -5,7 +5,7 @@ local ob_cbox = {
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 }
}
local wood_tex = homedecor.textures.default_wood
local wood_tex = homedecor.textures.wood.apple.planks
homedecor.register("openframe_bookshelf", {
description = S("Bookshelf (open-frame)"),

View File

@ -145,7 +145,7 @@ homedecor.register("dishwasher_"..m, {
})
end
local wood_tex = homedecor.textures.default_wood
local wood_tex = homedecor.textures.wood.apple.planks
local cabinet_sides = "("..wood_tex.."^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
local cabinet_sides_colored = "(homedecor_generic_wood_plain.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"

View File

@ -80,8 +80,7 @@ local ib_cbox = {
fixed = { -6/16, -8/16, -4/16, 17/16, 4/16, 4/16 }
}
local wool_tex = "wool_grey.png"
if not minetest.get_modpath("wool") then wool_tex = "[combine:16x16^[noalpha^[colorize:#3A3B3C" end
local wool_tex = homedecor.textures.wool.grey
homedecor.register("ironing_board", {
description = S("Ironing board"),

View File

@ -276,6 +276,7 @@ for brightness_level = 0, 14 do
},
node_box = glowlight_nodebox.half,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici, dig_glass=1, axey=5 },
is_ground_content = false,
_mcl_hardness=1.6,
light_source = brightness_level,
_sound_def = {
@ -345,6 +346,7 @@ for brightness_level = 0, 14 do
},
node_box = glowlight_nodebox.quarter,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici, dig_glass=1, axey=5 },
is_ground_content = false,
_mcl_hardness=1.6,
light_source = brightness_level,
_sound_def = {
@ -415,6 +417,7 @@ for brightness_level = 0, 14 do
},
node_box = glowlight_nodebox.small_cube,
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory = nici, dig_glass=1, axey=5 },
is_ground_content = false,
_mcl_hardness=1.6,
light_source = brightness_level,
_sound_def = {
@ -449,7 +452,7 @@ for brightness_level = 0, 14 do
lighttex = "homedecor_plasma_lamp_off.png"
end
local gtex=minetest.get_modpath("default") and "default_gold_block.png" or "[combine:16x16^[noalpha^[colorize:#FFD700"
local gtex=homedecor.textures.metal.gold.block
homedecor.register("plasma_lamp_"..brightness_level, {
description = S("Plasma Lamp/Light"),
drawtype = "mesh",
@ -700,8 +703,7 @@ for brightness_level = 0, 14 do
fixed = { -0.25, -0.5, -0.25, 0.25, 1.5, 0.25 }
}
local wool_brightened=(minetest.get_modpath("wool") and "wool_grey.png" or "[combine:16x16^[noalpha6[colorize:#A9A9A9")
.. "^[colorize:#ffffff:"..(brightness_level * 15)
local wool_brightened=homedecor.textures.wool.grey .. "^[colorize:#ffffff:"..(brightness_level * 15)
homedecor.register("table_lamp_"..brightness_level, {
description = S("Table Lamp/Light"),
@ -869,6 +871,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
"group:mesecon_conductor_craftable"
},
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",
@ -918,6 +921,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
"group:mesecon_conductor_craftable"
},
groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",
@ -1133,6 +1137,7 @@ minetest.register_node(":homedecor:chain_steel_top", {
paramtype = "light",
inventory_image = "basic_materials_chain_steel_inv.png",
groups = {cracky=3, dig_glass=1, pickaxey=5},
is_ground_content = false,
_mcl_hardness=1.6,
selection_box = topchains_sbox,
})
@ -1148,6 +1153,7 @@ minetest.register_node(":homedecor:chain_brass_top", {
paramtype = "light",
inventory_image = "basic_materials_chain_brass_inv.png",
groups = {cracky=3, dig_glass=1, pickaxey=5},
is_ground_content = false,
_mcl_hardness=1.6,
selection_box = topchains_sbox,
})
@ -1176,6 +1182,7 @@ minetest.register_node(":homedecor:chandelier_steel", {
mesh = "homedecor_chandelier.obj",
use_texture_alpha = "clip",
groups = {cracky=3, dig_glass=1, pickaxey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",
@ -1206,6 +1213,7 @@ minetest.register_node(":homedecor:chandelier_brass", {
mesh = "homedecor_chandelier.obj",
use_texture_alpha = "clip",
groups = {cracky=3, dig_glass=1, pickaxey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",

View File

@ -11,8 +11,8 @@ local S = minetest.get_translator("homedecor_misc")
homedecor_misc = {}
local wool_black, wool_grey = homedecor.textures.wool_black, homedecor.textures.wool_grey
local wood_tex = homedecor.textures.default_wood
local wool_black, wool_grey = homedecor.textures.wool.black, homedecor.textures.wool.grey
local wood_tex = homedecor.textures.wood.apple.planks
homedecor.register("ceiling_paint", {
description = S("Textured Ceiling Paint"),
@ -637,6 +637,7 @@ minetest.register_node(":homedecor:tatami_mat", {
drawtype = "nodebox",
paramtype = "light",
groups = {snappy=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
node_box = {
type = "fixed",
@ -1037,6 +1038,7 @@ minetest.register_node(":homedecor:japanese_wall_top", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
selection_box = jp_cbox,
collision_box = jp_cbox,
@ -1056,6 +1058,7 @@ minetest.register_node(":homedecor:japanese_wall_middle", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
selection_box = jp_cbox,
collision_box = jp_cbox,
@ -1075,6 +1078,7 @@ minetest.register_node(":homedecor:japanese_wall_bottom", {
paramtype = "light",
paramtype2 = "facedir",
groups = {snappy=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
selection_box = jp_cbox,
collision_box = jp_cbox,

View File

@ -1,6 +1,6 @@
local S = minetest.get_translator("homedecor_pictures_and_paintings")
local wood_tex = homedecor.textures.default_wood
local wood_tex = homedecor.textures.wood.apple.planks
local pframe_cbox = {
type = "fixed",

View File

@ -5,10 +5,11 @@ homedecor_roofing = {}
minetest.register_node(":homedecor:skylight", {
description = S("Glass Skylight"),
drawtype = "raillike",
tiles = { homedecor.textures.glass },
wield_image = homedecor.textures.glass,
tiles = { homedecor.textures.glass.pane },
wield_image = homedecor.textures.glass.pane,
inventory_image = "homedecor_skylight_inv.png",
groups = { snappy = 3, dig_tree = 2 , axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
paramtype = "light",
_sound_def = {
@ -26,6 +27,7 @@ minetest.register_node(":homedecor:skylight_frosted", {
inventory_image = "homedecor_skylight_frosted_inv.png",
use_texture_alpha = "blend",
groups = { snappy = 3, dig_tree = 2, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
paramtype = "light",
_sound_def = {
@ -45,6 +47,7 @@ for s, s_loc in pairs({ ["asphalt"] = S("asphalt"), ["terracotta"] = S("terracot
paramtype = "light",
walkable = false,
groups = { snappy = 3, dig_tree = 2, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_wood_defaults",
@ -104,6 +107,7 @@ homedecor_roofing.register_outer_corner = function(modname, subname, groups, slo
selection_box = ocorner_cbox,
collision_box = ocorner_cbox,
groups = groups,
is_ground_content = false,
_mcl_hardness=1.6,
on_place = minetest.rotate_node,
_sound_def = {
@ -129,6 +133,7 @@ homedecor_roofing.register_inner_corner = function(modname, subname, groups, slo
paramtype2 = "facedir",
collision_box = icorner_cbox,
groups = groups,
is_ground_content = false,
_mcl_hardness=1.6,
on_place = minetest.rotate_node,
_sound_def = {
@ -156,6 +161,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups
collision_box = slope_cbox,
use_texture_alpha = "blend",
groups = groups,
is_ground_content = false,
_mcl_hardness=1.6,
on_place = minetest.rotate_node,
_sound_def = {
@ -330,8 +336,7 @@ homedecor_roofing.register_slope("homedecor", "glass",
S("Glass Shingles")
)
local brick_tex = "default_brick.png"
if not minetest.get_modpath("default") then brick_tex = "[combine:16x16^[noalpha^[colorize:#AA4A44" end
local brick_tex = homedecor.textures.brick
homedecor.register("chimney", {
description = S("Chimney"),

View File

@ -20,6 +20,7 @@ minetest.register_node(":lrfurn:armchair", {
palette = "unifieddyes_palette_colorwallmounted.png",
inventory_image = "lrfurn_armchair_inv.png",
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_wood_defaults",
@ -39,9 +40,9 @@ homedecor.register("armchair", {
description = S("Armchair"),
mesh = "forniture_armchair.obj",
tiles = {
homedecor.textures.wool_white,
{ name = homedecor.textures.wool_dark_grey, color = 0xffffffff },
{ name = homedecor.textures.default_wood, color = 0xffffffff }
homedecor.textures.wool.white,
{ name = homedecor.textures.wool.dark_grey, color = 0xffffffff },
{ name = homedecor.textures.wood.apple.planks, color = 0xffffffff }
},
inventory_image = "homedecor_armchair_inv.png",
paramtype2 = "colorwallmounted",

View File

@ -19,6 +19,7 @@ minetest.register_node(":lrfurn:longsofa", {
inventory_image = "lrfurn_longsofa_inv.png",
wield_scale = { x = 0.6, y = 0.6, z = 0.6 },
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_wood_defaults",

View File

@ -162,7 +162,7 @@ homedecor.register("kitchen_chair_padded", {
mesh = "homedecor_kitchen_chair.obj",
tiles = {
homedecor.plain_wood,
homedecor.textures.wool_white,
homedecor.textures.wool.white,
},
inventory_image = "homedecor_chair_padded_inv.png",
paramtype2 = "colorwallmounted",

View File

@ -19,6 +19,7 @@ minetest.register_node(":lrfurn:sofa", {
inventory_image = "lrfurn_sofa_inv.png",
wield_scale = { x = 0.6, y = 0.6, z = 0.6 },
groups = {snappy=3, ud_param2_colorable = 1, dig_tree=2, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_wood_defaults",

View File

@ -59,6 +59,7 @@ minetest.register_node(":lrfurn:coffeetable", {
paramtype2 = "facedir",
use_texture_alpha = "blend",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_wood_defaults",

View File

@ -17,6 +17,7 @@ minetest.register_node(":lrfurn:endtable", {
paramtype2 = "facedir",
use_texture_alpha = "blend",
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_wood_defaults",

View File

@ -94,6 +94,7 @@ local def = {
paramtype2 = "facedir",
groups = {snappy = 3, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
selection_box = wd_cbox,
collision_box = wd_cbox,

View File

@ -161,7 +161,7 @@ homedecor.register("curtain_open", {
local mats = {
{ "brass", S("brass"), "homedecor_generic_metal_brass.png" },
{ "wrought_iron", S("wrought iron"), "homedecor_generic_metal_wrought_iron.png" },
{ "wood", S("wood"), homedecor.textures.default_wood }
{ "wood", S("wood"), homedecor.textures.wood.apple.planks }
}
for _, m in ipairs(mats) do

View File

@ -136,6 +136,7 @@ minetest.register_node("itemframes:frame",{
paramtype2 = "facedir",
sunlight_propagates = true,
groups = {choppy = 2, dig_immediate = 2, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
legacy_wallmounted = true,
_sound_def = {
@ -217,6 +218,7 @@ minetest.register_node("itemframes:pedestal",{
tiles = {"itemframes_pedestal.png"},
paramtype = "light",
groups = {cracky = 3, dig_stone = 2, pickaxey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",

View File

@ -35,6 +35,7 @@ minetest.register_node("lavalamp:lavalamp", {
fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 },
},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_glass_defaults",
@ -66,6 +67,7 @@ minetest.register_node("lavalamp:lavalamp_off", {
fixed = { -0.25, -0.5, -0.25, 0.25,0.5, 0.25 },
},
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1, axey=5},
is_ground_content = false,
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_glass_defaults",