1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-09-30 07:30:20 +02:00

Add trapdoor/door model specification

This commit is contained in:
An0n3m0us 2019-05-29 19:35:37 +01:00
parent 76a08a7058
commit ee46de28d3

View File

@ -437,11 +437,19 @@ function doors.register(name, def)
def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} 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}} def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}}
def.mesh = "door_a.obj" if def.model then
minetest.register_node(":" .. name .. "_a", def) def.mesh = def.model .. "_a.obj"
minetest.register_node(":" .. name .. "_a", def)
def.mesh = "door_b.obj" def.mesh = def.model .. "_b.obj"
minetest.register_node(":" .. name .. "_b", def) 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 doors.registered_doors[name .. "_a"] = true
doors.registered_doors[name .. "_b"] = true doors.registered_doors[name .. "_b"] = true
@ -460,7 +468,7 @@ doors.register("door_wood", {
}) })
doors.register("door_steel", { doors.register("door_steel", {
tiles = {{name = "doors_door_steel.png", backface_culling = true}}, tiles = {{ name = "doors_door_steel.png", backface_culling = true }},
description = "Steel Door", description = "Steel Door",
inventory_image = "doors_item_steel.png", inventory_image = "doors_item_steel.png",
protected = true, protected = true,
@ -634,10 +642,14 @@ function doors.register_trapdoor(name, def)
local def_opened = table.copy(def) local def_opened = table.copy(def)
local def_closed = table.copy(def) local def_closed = table.copy(def)
def_closed.node_box = { if def.closed and def.opened then
type = "fixed", def_closed.node_box = def.closed
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} else
} def_closed.node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
}
end
def_closed.selection_box = { def_closed.selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
@ -651,10 +663,14 @@ function doors.register_trapdoor(name, def)
def.tile_side def.tile_side
} }
def_opened.node_box = { if def.opened and def.closed then
type = "fixed", def_opened.node_box = def.opened
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} else
} def_opened.node_box = {
type = "fixed",
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}
}
end
def_opened.selection_box = { def_opened.selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}