diff --git a/game_api.txt b/game_api.txt index eb22e834..8d7f0255 100644 --- a/game_api.txt +++ b/game_api.txt @@ -230,8 +230,9 @@ The doors mod allows modders to register custom doors and trapdoors. description = "Trapdoor description", inventory_image = "mod_trapdoor_inv.png", - closed = {} -- Nodebox for closed model - opened = {} -- Nodebox for opened model + nodebox_closed = {} -- Nodebox for closed model + nodebox_opened = {} -- Nodebox for opened model + -- (optional) both nodeboxes must be used, not one only groups = {choppy = 2}, tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor tile_side = "doors_trapdoor_side.png", diff --git a/mods/doors/init.lua b/mods/doors/init.lua index d7735fd4..7e1d4051 100644 --- a/mods/doors/init.lua +++ b/mods/doors/init.lua @@ -437,18 +437,12 @@ function doors.register(name, def) def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} - if def.model then + if def.model == def.model or "door" then def.mesh = def.model .. "_a.obj" minetest.register_node(":" .. name .. "_a", def) def.mesh = def.model .. "_b.obj" minetest.register_node(":" .. name .. "_b", def) - else - def.mesh = "door_a.obj" - minetest.register_node(":" .. name .. "_a", def) - - def.mesh = "door_b.obj" - minetest.register_node(":" .. name .. "_b", def) end doors.registered_doors[name .. "_a"] = true @@ -642,8 +636,8 @@ function doors.register_trapdoor(name, def) local def_opened = table.copy(def) local def_closed = table.copy(def) - if def.closed and def.opened then - def_closed.node_box = def.closed + if def.nodebox_closed and def.nodebox_opened then + def_closed.node_box = def.nodebox_closed else def_closed.node_box = { type = "fixed", @@ -663,8 +657,8 @@ function doors.register_trapdoor(name, def) def.tile_side } - if def.opened and def.closed then - def_opened.node_box = def.opened + if def.nodebox_opened and def.nodebox_closed then + def_opened.node_box = def.nodebox_opened else def_opened.node_box = { type = "fixed",