Make registration functions more consistent

master
benrob0329 2019-12-11 15:59:12 -05:00
parent fc262fcfab
commit 6fbbc8d0cc
3 changed files with 29 additions and 28 deletions

View File

@ -8,18 +8,6 @@ function ikea.furniture.leave_behind(pos, oldnode, oldmetadata, digger)
end
end
-- Defaults For Furniture Kits, Overwritten By The Params Passed In register_kit
ikea.furniture.kit_defaults = {
description = "Default Description For Furniture Kits",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "mesh",
mesh = "error.obj",
tiles = {"unknown_node.png^[colorize:#ff0000:255"},
groups = {carryable = 1},
after_dig_node = ikea.furniture.leave_behind,
}
minetest.register_node(":furniture:box", {
description = "Cardboard Box",
@ -92,10 +80,22 @@ minetest.register_node(":furniture:box_open", {
})
ikea.furniture.kit_defaults = {
description = "Default Description For Furniture Kits",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "mesh",
mesh = "error.obj",
tiles = {"unknown_node.png^[colorize:#ff0000:255"},
groups = {carryable = 1},
after_dig_node = ikea.furniture.leave_behind,
}
function ikea.furniture.register_kit(name, def_raw)
local def_raw = def_raw or {}
-- Furniture Node
-- Use new table to avoid changing the defaults table
local def = {}
table.merge_dictionary(def, ikea.furniture.kit_defaults)
table.merge_dictionary(def, def_raw)

View File

@ -40,29 +40,27 @@ end
-- Defaults for the light registration function
local light_default = {
local light_defaults = {
description = "Default Description For Lights",
paramtype = "light",
paramtype2 = "facedir",
drawtype = "mesh",
mesh = "error.obj",
tiles = {"unknown_node.png^[colorize:#ff0000:255"},
use_texture_alpha = true,
collision_box = nil,
selection_box = nil,
light_source = minetest.LIGHT_MAX,
groups = {static = 1, ikea_light = 1},
}
function ikea.light.register_light(name, def)
local def = {
description = (def.description or light_default.description),
paramtype = "light",
paramtype2 = "facedir",
drawtype = "mesh",
mesh = (def.mesh or light_default.mesh),
tiles = (def.tiles or light_default.tiles),
use_texture_alpha = true,
collision_box = (def.collision_box or light_default.collision_box),
selection_box = (def.selection_box or light_default.selection_box),
light_source = (def.light_source or light_default.light_source),
groups = {static = 1, ikea_light = 1},
}
function ikea.light.register_light(name, def_raw)
local def_raw = def_raw or {}
-- Use new table to avoid changing the defaults table
local def = {}
table.merge_dictionary(def, light_defaults)
table.merge_dictionary(def, def_raw)
-- Register base light node
minetest.register_node(":" .. name, def)

View File

@ -12,6 +12,9 @@ local department_defaults = {
}
function ikea.mapgen.register_department(def_raw)
local def_raw = def_raw or {}
-- Use new table to avoid changing the defaults table
local def = {}
table.merge_dictionary(def, department_defaults)
table.merge_dictionary(def, def_raw)