2013-04-20 04:48:42 +02:00
|
|
|
-- Node definitions for Homedecor doors
|
|
|
|
|
2019-04-21 17:25:21 +02:00
|
|
|
local S = homedecor.gettext
|
2019-05-27 11:09:42 +02:00
|
|
|
local mesecons_mp = minetest.get_modpath("mesecons")
|
2013-04-20 04:48:42 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
-- new doors using minetest_game doors API
|
2017-01-24 21:43:20 +01:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
local door_list = {
|
|
|
|
{ name = "wood_plain",
|
|
|
|
description = "Plain Wooden Door",
|
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
|
|
|
open = "homedecor_door_open",
|
|
|
|
close = "homedecor_door_close",
|
|
|
|
}
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "exterior_fancy",
|
2019-05-25 06:01:04 +02:00
|
|
|
description = "Fancy Wood/Glass Door",
|
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
|
|
|
open = "homedecor_door_open",
|
|
|
|
close = "homedecor_door_close",
|
2016-12-15 22:23:31 +01:00
|
|
|
},
|
2019-05-25 06:01:04 +02:00
|
|
|
backface = true,
|
2019-05-27 08:35:59 +02:00
|
|
|
alpha = true,
|
|
|
|
custom_model = "homedecor_door_fancy"
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
{ name = "french_oak",
|
|
|
|
description = "French door, Oak-colored",
|
2019-05-25 06:01:04 +02:00
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_glass_defaults(),
|
|
|
|
},
|
2019-05-27 08:35:59 +02:00
|
|
|
backface = true,
|
|
|
|
alpha = true,
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
custom_model = "homedecor_door_french"
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
{ name = "french_mahogany",
|
|
|
|
description = "French door, Mahogany-colored",
|
2019-05-25 06:01:04 +02:00
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_glass_defaults(),
|
|
|
|
},
|
2019-05-27 08:35:59 +02:00
|
|
|
backface = true,
|
|
|
|
alpha = true,
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
custom_model = "homedecor_door_french"
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
{ name = "french_white",
|
|
|
|
description = "French door, White",
|
2019-05-25 06:01:04 +02:00
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_glass_defaults(),
|
|
|
|
},
|
2019-05-27 08:35:59 +02:00
|
|
|
backface = true,
|
|
|
|
alpha = true,
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
custom_model = "homedecor_door_french"
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
{ name = "basic_panel",
|
|
|
|
description = "Basic white panel Door",
|
2019-05-25 06:01:04 +02:00
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
|
|
|
open = "homedecor_door_open",
|
|
|
|
close = "homedecor_door_close",
|
|
|
|
}
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "wrought_iron",
|
2019-05-25 06:01:04 +02:00
|
|
|
description = "Wrought Iron Gate/Door",
|
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_metal_defaults(),
|
|
|
|
open = "doors_steel_door_open",
|
|
|
|
close = "doors_steel_door_close",
|
|
|
|
},
|
|
|
|
backface = true,
|
2019-05-27 08:35:59 +02:00
|
|
|
custom_model = "homedecor_door_wrought_iron"
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
{ name = "carolina",
|
|
|
|
description = "Wooden Carolina door",
|
2019-05-25 06:01:04 +02:00
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
|
|
|
open = "homedecor_door_open",
|
|
|
|
close = "homedecor_door_close",
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
2019-05-25 06:01:04 +02:00
|
|
|
backface = true,
|
|
|
|
alpha = true
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
|
|
|
|
2019-05-27 08:35:59 +02:00
|
|
|
{ name = "woodglass",
|
|
|
|
description = "Wooden door with glass insert, type 3",
|
2019-05-25 06:01:04 +02:00
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
|
|
|
open = "homedecor_door_open",
|
|
|
|
close = "homedecor_door_close",
|
|
|
|
},
|
|
|
|
backface = true,
|
2019-05-27 08:35:59 +02:00
|
|
|
alpha = true,
|
|
|
|
custom_model = "homedecor_door_wood_glass_3"
|
2015-04-25 05:50:51 +02:00
|
|
|
},
|
2013-04-20 04:48:42 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
{ name = "closet_mahogany",
|
|
|
|
description = "Mahogany Closet Door",
|
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
2019-05-27 08:35:59 +02:00
|
|
|
},
|
|
|
|
custom_model = "homedecor_door_closet"
|
2019-05-25 06:01:04 +02:00
|
|
|
},
|
2015-04-25 16:15:43 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
{ name = "closet_oak",
|
|
|
|
description = "Oak Closet Door",
|
|
|
|
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
|
|
|
|
sounds = {
|
|
|
|
main = default.node_sound_wood_defaults(),
|
2019-05-27 08:35:59 +02:00
|
|
|
},
|
|
|
|
custom_model = "homedecor_door_closet"
|
2019-05-25 06:01:04 +02:00
|
|
|
},
|
|
|
|
}
|
2013-04-29 13:07:05 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
local old_doors = {}
|
2019-05-27 03:49:19 +02:00
|
|
|
local mesecons
|
|
|
|
|
|
|
|
-- This part blatantly copied from Mesecons, and modified :-)
|
2019-05-27 11:09:42 +02:00
|
|
|
if mesecons_mp then
|
2019-05-27 03:49:19 +02:00
|
|
|
mesecons = {
|
|
|
|
effector = {
|
|
|
|
action_on = function(pos, node)
|
|
|
|
local door = doors.get(pos)
|
|
|
|
if door then
|
|
|
|
door:open()
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
action_off = function(pos, node)
|
|
|
|
local door = doors.get(pos)
|
|
|
|
if door then
|
|
|
|
door:close()
|
|
|
|
end
|
|
|
|
end,
|
|
|
|
rules = mesecon.rules.pplate
|
|
|
|
}
|
|
|
|
}
|
|
|
|
end
|
2019-05-25 06:01:04 +02:00
|
|
|
|
2019-05-28 13:57:23 +02:00
|
|
|
local hd_3d = minetest.get_modpath("homedecor_3d_extras")
|
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
for _, door in ipairs(door_list) do
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
doors.register("homedecor_"..door.name, {
|
2019-05-25 06:01:04 +02:00
|
|
|
tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }},
|
|
|
|
description = door.description,
|
|
|
|
inventory_image = "homedecor_door_"..door.name.."_inv.png",
|
|
|
|
groups = table.copy(door.groups),
|
|
|
|
sounds = door.sounds.main,
|
|
|
|
sound_open = door.sounds.open,
|
2019-05-27 03:49:19 +02:00
|
|
|
sound_close = door.sounds.close,
|
|
|
|
mesecons = mesecons
|
2019-05-25 06:01:04 +02:00
|
|
|
})
|
2019-05-27 08:35:59 +02:00
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
local nn_a = "doors:homedecor_"..door.name.."_a"
|
|
|
|
local nn_b = "doors:homedecor_"..door.name.."_b"
|
2019-05-27 08:35:59 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
if door.alpha then
|
2019-06-18 21:04:08 +02:00
|
|
|
local def = table.copy(minetest.registered_nodes[nn_a])
|
2019-05-27 08:35:59 +02:00
|
|
|
def.use_texture_alpha = true
|
|
|
|
def.mesh = "door_a.obj" -- leaving this out will break the _a model
|
|
|
|
minetest.register_node(":"..nn_a, def) -- assignment when the override takes place
|
|
|
|
|
2019-06-18 21:04:08 +02:00
|
|
|
def = table.copy(minetest.registered_nodes[nn_b])
|
2019-05-27 08:35:59 +02:00
|
|
|
def.use_texture_alpha = true
|
|
|
|
minetest.register_node(":"..nn_b, def)
|
|
|
|
end
|
|
|
|
|
2019-05-28 13:57:23 +02:00
|
|
|
if door.custom_model and hd_3d then
|
2019-06-18 21:04:08 +02:00
|
|
|
def = table.copy(minetest.registered_nodes[nn_a])
|
2019-05-27 08:35:59 +02:00
|
|
|
def.mesh = door.custom_model.."_a.obj"
|
|
|
|
minetest.register_node(":"..nn_a, def)
|
|
|
|
|
2019-06-18 21:04:08 +02:00
|
|
|
def = table.copy(minetest.registered_nodes[nn_b])
|
2019-05-27 08:35:59 +02:00
|
|
|
def.mesh = door.custom_model.."_b.obj"
|
|
|
|
minetest.register_node(":"..nn_b, def)
|
|
|
|
end
|
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left"
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right"
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
|
|
|
|
minetest.register_alias("doors:"..door.name.."_a", "doors:homedecor_"..door.name.."_a")
|
|
|
|
minetest.register_alias("doors:"..door.name.."_b", "doors:homedecor_"..door.name.."_b")
|
2013-04-20 04:48:42 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
-- Gates
|
|
|
|
|
2017-01-24 21:43:20 +01:00
|
|
|
local gate_list = {
|
2017-02-23 00:51:07 +01:00
|
|
|
{ "picket", S("Unpainted Picket Fence Gate") },
|
|
|
|
{ "picket_white", S("White Picket Fence Gate") },
|
|
|
|
{ "barbed_wire", S("Barbed Wire Fence Gate") },
|
|
|
|
{ "chainlink", S("Chainlink Fence Gate") },
|
|
|
|
{ "half_door", S("\"Half\" Door") },
|
|
|
|
{ "half_door_white", S("\"Half\" Door (white)") }
|
2017-01-24 21:43:20 +01:00
|
|
|
}
|
2013-04-20 04:48:42 +02:00
|
|
|
|
|
|
|
local gate_models_closed = {
|
|
|
|
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
|
|
|
|
|
|
|
|
{{ -0.5, -0.5, 0.498, 0.5, 0.5, 0.498 }},
|
|
|
|
|
|
|
|
{{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, -- left post
|
2016-12-15 22:23:31 +01:00
|
|
|
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
2013-04-20 04:48:42 +02:00
|
|
|
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
|
|
|
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
|
|
|
{ -6/16, -8/16, 7/16, 6/16, 8/16, 7/16 }}, -- the wire
|
|
|
|
|
|
|
|
{{ -8/16, -8/16, 6/16, -7/16, 8/16, 8/16 }, -- left post
|
2016-12-15 22:23:31 +01:00
|
|
|
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
2013-04-20 04:48:42 +02:00
|
|
|
{ -8/16, 7/16, 13/32, 8/16, 8/16, 15/32 }, -- top piece
|
|
|
|
{ -8/16, -8/16, 13/32, 8/16, -7/16, 15/32 }, -- bottom piece
|
|
|
|
{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 }, -- the chainlink itself
|
2017-02-23 00:51:07 +01:00
|
|
|
{ -8/16, -3/16, 6/16, -6/16, 3/16, 8/16 }}, -- the lump representing the lock
|
|
|
|
|
|
|
|
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
|
|
|
|
|
|
|
{{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
|
|
|
|
2013-04-20 04:48:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
local gate_models_open = {
|
|
|
|
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
|
|
|
|
|
|
|
|
{{ 0.498, -0.5, -0.5, 0.498, 0.5, 0.5 }},
|
2015-01-20 23:59:50 +01:00
|
|
|
|
2013-04-20 04:48:42 +02:00
|
|
|
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -6/16 }, -- left post
|
2016-12-15 22:23:31 +01:00
|
|
|
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
2013-04-20 04:48:42 +02:00
|
|
|
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
|
|
|
|
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
|
|
|
|
{ 7/16, -8/16, -6/16, 7/16, 8/16, 6/16 }}, -- the wire
|
|
|
|
|
|
|
|
{{ 6/16, -8/16, -8/16, 8/16, 8/16, -7/16 }, -- left post
|
2016-12-15 22:23:31 +01:00
|
|
|
{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, -- right post
|
2013-04-20 04:48:42 +02:00
|
|
|
{ 13/32, 7/16, -8/16, 15/32, 8/16, 8/16 }, -- top piece
|
|
|
|
{ 13/32, -8/16, -8/16, 15/32, -7/16, 8/16 }, -- bottom piece
|
|
|
|
{ 7/16, -8/16, -8/16, 7/16, 8/16, 8/16 }, -- the chainlink itself
|
2017-02-23 00:51:07 +01:00
|
|
|
{ 6/16, -3/16, -8/16, 8/16, 3/16, -6/16 }}, -- the lump representing the lock
|
|
|
|
|
|
|
|
{{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
|
|
|
|
|
|
|
{{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16 }}, -- the whole door :P
|
2013-04-20 04:48:42 +02:00
|
|
|
}
|
|
|
|
|
2017-01-24 21:43:20 +01:00
|
|
|
for i, g in ipairs(gate_list) do
|
2013-04-20 04:48:42 +02:00
|
|
|
|
2017-01-24 21:43:20 +01:00
|
|
|
local gate, gatedesc = unpack(g)
|
2013-04-20 04:48:42 +02:00
|
|
|
|
2015-05-04 07:26:37 +02:00
|
|
|
local tiles = {
|
|
|
|
"homedecor_gate_"..gate.."_tb.png",
|
|
|
|
"homedecor_gate_"..gate.."_tb.png",
|
|
|
|
"homedecor_gate_"..gate.."_lr.png",
|
|
|
|
"homedecor_gate_"..gate.."_lr.png",
|
|
|
|
"homedecor_gate_"..gate.."_fb.png^[transformFX",
|
|
|
|
"homedecor_gate_"..gate.."_fb.png"
|
2015-05-04 06:19:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if gate == "barbed_wire" then
|
2015-05-04 07:26:37 +02:00
|
|
|
tiles = {
|
2015-05-04 06:19:55 +02:00
|
|
|
"homedecor_gate_barbed_wire_edges.png",
|
|
|
|
"homedecor_gate_barbed_wire_edges.png",
|
|
|
|
"homedecor_gate_barbed_wire_edges.png",
|
|
|
|
"homedecor_gate_barbed_wire_edges.png",
|
2015-05-04 07:26:37 +02:00
|
|
|
"homedecor_gate_barbed_wire_fb.png^[transformFX",
|
|
|
|
"homedecor_gate_barbed_wire_fb.png"
|
2015-05-04 06:19:55 +02:00
|
|
|
}
|
|
|
|
end
|
|
|
|
|
2015-05-04 07:26:37 +02:00
|
|
|
if gate == "picket" or gate == "picket_white" then
|
|
|
|
tiles = {
|
|
|
|
"homedecor_blanktile.png",
|
|
|
|
"homedecor_blanktile.png",
|
|
|
|
"homedecor_blanktile.png",
|
|
|
|
"homedecor_blanktile.png",
|
|
|
|
"homedecor_gate_"..gate.."_back.png",
|
|
|
|
"homedecor_gate_"..gate.."_front.png"
|
|
|
|
}
|
2015-05-04 06:19:55 +02:00
|
|
|
end
|
|
|
|
|
2013-10-27 07:16:20 +01:00
|
|
|
local def = {
|
2013-04-20 04:48:42 +02:00
|
|
|
drawtype = "nodebox",
|
2017-01-24 21:43:20 +01:00
|
|
|
description = gatedesc,
|
2015-05-04 06:19:55 +02:00
|
|
|
tiles = tiles,
|
2013-04-20 04:48:42 +02:00
|
|
|
paramtype = "light",
|
|
|
|
groups = {snappy=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = { -0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
|
|
|
|
},
|
|
|
|
node_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = gate_models_closed[i]
|
|
|
|
},
|
2016-07-31 01:17:23 +02:00
|
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
2013-10-09 18:47:22 +02:00
|
|
|
homedecor.flip_gate(pos, node, clicker, gate, "closed")
|
2016-07-31 01:17:23 +02:00
|
|
|
return itemstack
|
2013-10-27 07:16:20 +01:00
|
|
|
end,
|
2019-05-27 11:09:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
if mesecons_mp then
|
|
|
|
def.mesecons = {
|
2013-10-27 07:16:20 +01:00
|
|
|
effector = {
|
2019-05-27 04:13:15 +02:00
|
|
|
rules = mesecon.rules.pplate,
|
2016-11-03 03:26:06 +01:00
|
|
|
action_on = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "closed") end
|
2013-10-27 07:16:20 +01:00
|
|
|
}
|
|
|
|
}
|
2019-05-27 11:09:42 +02:00
|
|
|
end
|
2013-10-27 07:16:20 +01:00
|
|
|
|
|
|
|
-- gates when placed default to closed, closed.
|
|
|
|
|
2019-04-20 21:49:36 +02:00
|
|
|
minetest.register_node(":homedecor:gate_"..gate.."_closed", def)
|
2013-10-27 07:16:20 +01:00
|
|
|
|
|
|
|
-- this is either a terrible idea or a great one
|
2015-08-16 17:24:08 +02:00
|
|
|
def = table.copy(def)
|
2013-10-27 07:16:20 +01:00
|
|
|
def.groups.not_in_creative_inventory = 1
|
|
|
|
def.selection_box.fixed = { 0.4, -0.5, -0.5, 0.5, 0.5, 0.5 }
|
|
|
|
def.node_box.fixed = gate_models_open[i]
|
2015-05-04 06:19:55 +02:00
|
|
|
def.tiles = {
|
2017-02-23 00:53:52 +01:00
|
|
|
tiles[1].."^[transformR90",
|
|
|
|
tiles[2].."^[transformR270",
|
2015-05-04 06:19:55 +02:00
|
|
|
tiles[6],
|
|
|
|
tiles[5],
|
|
|
|
tiles[4],
|
|
|
|
tiles[3]
|
|
|
|
}
|
2013-10-27 07:16:20 +01:00
|
|
|
def.drop = "homedecor:gate_"..gate.."_closed"
|
2016-07-31 01:17:23 +02:00
|
|
|
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
2013-10-28 01:55:12 +01:00
|
|
|
homedecor.flip_gate(pos, node, clicker, gate, "open")
|
2016-07-31 01:17:23 +02:00
|
|
|
return itemstack
|
2013-10-27 07:16:20 +01:00
|
|
|
end
|
2019-05-27 11:09:42 +02:00
|
|
|
|
|
|
|
if mesecons_mp then
|
|
|
|
def.mesecons.effector = {
|
|
|
|
rules = mesecon.rules.pplate,
|
|
|
|
action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
|
|
|
|
}
|
|
|
|
end
|
2013-04-20 04:48:42 +02:00
|
|
|
|
2019-04-20 21:49:36 +02:00
|
|
|
minetest.register_node(":homedecor:gate_"..gate.."_open", def)
|
2013-04-20 04:48:42 +02:00
|
|
|
end
|
|
|
|
|
2013-04-20 22:42:35 +02:00
|
|
|
minetest.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open")
|
|
|
|
minetest.register_alias("homedecor:fence_barbed_wire_gate_closed", "homedecor:gate_barbed_wire_closed")
|
|
|
|
minetest.register_alias("homedecor:fence_chainlink_gate_open", "homedecor:gate_chainlink_open")
|
|
|
|
minetest.register_alias("homedecor:fence_chainlink_gate_closed", "homedecor:gate_chainlink_closed")
|
2013-04-20 04:48:42 +02:00
|
|
|
minetest.register_alias("homedecor:fence_picket_gate_open", "homedecor:gate_picket_open")
|
|
|
|
minetest.register_alias("homedecor:fence_picket_gate_closed", "homedecor:gate_picket_closed")
|
|
|
|
minetest.register_alias("homedecor:fence_picket_gate_white_open", "homedecor:gate_picket_white_open")
|
|
|
|
minetest.register_alias("homedecor:fence_picket_gate_white_closed", "homedecor:gate_picket_white_closed")
|
|
|
|
|
2013-10-28 01:55:12 +01:00
|
|
|
function homedecor.flip_gate(pos, node, player, gate, oc)
|
2013-06-05 22:46:59 +02:00
|
|
|
|
2013-04-20 04:48:42 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
local fdir = node.param2 or 0
|
2013-10-27 07:16:20 +01:00
|
|
|
|
2016-12-15 23:24:11 +01:00
|
|
|
local gateresult
|
2013-04-20 04:48:42 +02:00
|
|
|
if oc == "closed" then
|
2013-06-05 22:46:59 +02:00
|
|
|
gateresult = "homedecor:gate_"..gate.."_open"
|
2013-04-20 04:48:42 +02:00
|
|
|
else
|
2013-06-05 22:46:59 +02:00
|
|
|
gateresult = "homedecor:gate_"..gate.."_closed"
|
2013-04-20 04:48:42 +02:00
|
|
|
end
|
2013-04-29 11:27:18 +02:00
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
minetest.set_node(pos, {name = gateresult, param2 = fdir})
|
|
|
|
minetest.sound_play("homedecor_gate_open_close", {
|
|
|
|
pos=pos,
|
|
|
|
max_hear_distance = 5,
|
|
|
|
gain = 2,
|
|
|
|
})
|
2013-10-27 07:16:20 +01:00
|
|
|
|
|
|
|
-- the following opens and closes gates below and above in sync with this one
|
|
|
|
|
|
|
|
local above = {x=pos.x, y=pos.y+1, z=pos.z}
|
|
|
|
local below = {x=pos.x, y=pos.y-1, z=pos.z}
|
|
|
|
local nodeabove = minetest.get_node(above)
|
|
|
|
local nodebelow = minetest.get_node(below)
|
2013-06-05 22:46:59 +02:00
|
|
|
|
|
|
|
if string.find(nodeabove.name, "homedecor:gate_"..gate) then
|
2019-05-25 06:01:04 +02:00
|
|
|
minetest.set_node(above, {name = gateresult, param2 = fdir})
|
2013-06-05 22:46:59 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
if string.find(nodebelow.name, "homedecor:gate_"..gate) then
|
2019-05-25 06:01:04 +02:00
|
|
|
minetest.set_node(below, {name = gateresult, param2 = fdir})
|
2013-06-05 22:46:59 +02:00
|
|
|
end
|
2013-04-20 04:48:42 +02:00
|
|
|
end
|
2013-06-05 22:46:59 +02:00
|
|
|
|
2019-05-25 01:08:13 +02:00
|
|
|
-- Japanese-style wood/paper door
|
2015-04-25 05:50:51 +02:00
|
|
|
homedecor.register("door_japanese_closed", {
|
2017-01-24 21:43:20 +01:00
|
|
|
description = S("Japanese-style door"),
|
2015-04-25 05:50:51 +02:00
|
|
|
inventory_image = "homedecor_door_japanese_inv.png",
|
2014-10-03 18:19:38 +02:00
|
|
|
tiles = {
|
2017-01-25 10:22:28 +01:00
|
|
|
homedecor.lux_wood,
|
2015-04-25 05:50:51 +02:00
|
|
|
"homedecor_japanese_paper.png"
|
2014-10-03 18:19:38 +02:00
|
|
|
},
|
2015-04-25 05:50:51 +02:00
|
|
|
mesh = "homedecor_door_japanese_closed.obj",
|
2014-10-03 18:19:38 +02:00
|
|
|
groups = { snappy = 3 },
|
2015-04-29 14:14:36 +02:00
|
|
|
sounds = default.node_sound_wood_defaults(),
|
2014-10-03 18:19:38 +02:00
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
2015-01-20 23:59:50 +01:00
|
|
|
fixed = {-0.5, -0.5, 0, 0.5, 1.5, 0.0625},
|
2014-10-03 18:19:38 +02:00
|
|
|
},
|
2015-04-25 05:50:51 +02:00
|
|
|
collision_box = {
|
2014-10-03 18:19:38 +02:00
|
|
|
type = "fixed",
|
2015-04-25 05:50:51 +02:00
|
|
|
fixed = {-0.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
2014-10-03 18:19:38 +02:00
|
|
|
},
|
2015-09-08 10:16:31 +02:00
|
|
|
expand = { top = "placeholder" },
|
2016-07-31 01:17:23 +02:00
|
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
2015-04-25 05:50:51 +02:00
|
|
|
minetest.set_node(pos, {name = "homedecor:door_japanese_open", param2 = node.param2})
|
2016-07-31 01:17:23 +02:00
|
|
|
return itemstack
|
2015-04-25 05:50:51 +02:00
|
|
|
end
|
2014-10-03 18:19:38 +02:00
|
|
|
})
|
|
|
|
|
2015-09-08 10:16:31 +02:00
|
|
|
homedecor.register("door_japanese_open", {
|
2014-10-03 18:19:38 +02:00
|
|
|
tiles = {
|
2017-01-25 10:22:28 +01:00
|
|
|
homedecor.lux_wood,
|
2015-04-25 05:50:51 +02:00
|
|
|
"homedecor_japanese_paper.png"
|
2014-10-03 18:19:38 +02:00
|
|
|
},
|
2015-04-25 05:50:51 +02:00
|
|
|
mesh = "homedecor_door_japanese_open.obj",
|
2014-10-03 18:19:38 +02:00
|
|
|
groups = { snappy = 3, not_in_creative_inventory = 1 },
|
2015-04-29 14:14:36 +02:00
|
|
|
sounds = default.node_sound_wood_defaults(),
|
2015-05-14 12:25:11 +02:00
|
|
|
on_rotate = screwdriver.disallow,
|
2014-10-03 18:19:38 +02:00
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {-1.5, -0.5, -0.0625, 0.5, 1.5, 0},
|
|
|
|
},
|
2015-04-25 05:50:51 +02:00
|
|
|
collision_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {-1.5, -0.5, -0.0625, -0.5, 1.5, 0},
|
|
|
|
},
|
2015-09-08 10:16:31 +02:00
|
|
|
expand = { top = "placeholder" },
|
2016-07-31 01:17:23 +02:00
|
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
2015-04-25 05:50:51 +02:00
|
|
|
minetest.set_node(pos, {name = "homedecor:door_japanese_closed", param2 = node.param2})
|
2016-07-31 01:17:23 +02:00
|
|
|
return itemstack
|
2014-10-03 18:19:38 +02:00
|
|
|
end,
|
2015-04-25 05:50:51 +02:00
|
|
|
drop = "homedecor:door_japanese_closed",
|
2014-10-03 18:19:38 +02:00
|
|
|
})
|
|
|
|
|
2019-04-20 21:49:36 +02:00
|
|
|
-- crafting
|
|
|
|
|
2019-05-25 01:08:13 +02:00
|
|
|
-- half-doors
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:gate_half_door_closed 4",
|
|
|
|
recipe = {
|
2019-05-27 09:09:48 +02:00
|
|
|
"homedecor:door_wood_plain_a",
|
|
|
|
"homedecor:door_wood_plain_a"
|
2019-05-25 01:08:13 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:gate_half_door_white_closed 4",
|
|
|
|
recipe = {
|
2019-05-27 09:09:48 +02:00
|
|
|
"homedecor:door_bedroom_a",
|
|
|
|
"homedecor:door_bedroom_a"
|
2019-05-25 01:08:13 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
2019-04-20 21:49:36 +02:00
|
|
|
-- Gates
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:gate_picket_white_closed",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:fence_picket_white"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:fence_picket_white",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:gate_picket_white_closed"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:gate_picket_closed",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:fence_picket"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:fence_picket",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:gate_picket_closed"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:gate_barbed_wire_closed",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:fence_barbed_wire"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:fence_barbed_wire",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:gate_barbed_wire_closed"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:gate_chainlink_closed",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:fence_chainlink"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
|
|
|
output = "homedecor:fence_chainlink",
|
|
|
|
recipe = {
|
|
|
|
"homedecor:gate_chainlink_closed"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
------ Doors
|
|
|
|
|
|
|
|
-- plain wood, non-windowed
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_wood_plain_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "group:wood", "group:wood", "" },
|
|
|
|
{ "group:wood", "group:wood", "default:steel_ingot" },
|
|
|
|
{ "group:wood", "group:wood", "" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- fancy exterior
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_exterior_fancy_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "group:wood", "default:glass" },
|
|
|
|
{ "group:wood", "group:wood" },
|
|
|
|
{ "group:wood", "group:wood" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- wood and glass (grid style)
|
|
|
|
|
|
|
|
-- bare
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_wood_glass_oak_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "default:glass", "group:wood" },
|
|
|
|
{ "group:wood", "default:glass" },
|
|
|
|
{ "default:glass", "group:wood" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_wood_glass_oak_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "group:wood", "default:glass" },
|
|
|
|
{ "default:glass", "group:wood" },
|
|
|
|
{ "group:wood", "default:glass" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- mahogany
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_wood_glass_mahogany_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
"dye:brown",
|
2019-05-27 09:09:48 +02:00
|
|
|
"homedecor:door_wood_glass_oak_a",
|
|
|
|
"homedecor:door_wood_glass_oak_a"
|
2019-04-20 21:49:36 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- white
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_wood_glass_white_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
"dye:white",
|
2019-05-27 09:09:48 +02:00
|
|
|
"homedecor:door_wood_glass_oak_a",
|
|
|
|
"homedecor:door_wood_glass_oak_a"
|
2019-04-20 21:49:36 +02:00
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Closet doors
|
|
|
|
|
|
|
|
-- oak
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_closet_oak_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "", "group:stick", "group:stick" },
|
|
|
|
{ "default:steel_ingot", "group:stick", "group:stick" },
|
|
|
|
{ "", "group:stick", "group:stick" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- mahogany
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
|
|
|
type = "shapeless",
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_closet_mahogany_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
2019-05-27 09:09:48 +02:00
|
|
|
"homedecor:door_closet_oak_a",
|
|
|
|
"homedecor:door_closet_oak_a",
|
2019-04-20 21:49:36 +02:00
|
|
|
"dye:brown"
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- wrought fence-like door
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_wrought_iron_a 2",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
|
|
|
|
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
|
|
|
|
{ "homedecor:pole_wrought_iron", "default:iron_lump" }
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- bedroom door
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_bedroom_a",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "dye:white", "dye:white", "" },
|
2019-05-27 09:09:48 +02:00
|
|
|
{ "homedecor:door_wood_plain_a", "basic_materials:brass_ingot", "" },
|
2019-04-20 21:49:36 +02:00
|
|
|
{ "", "", "" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- woodglass door
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_woodglass_a",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "group:wood", "default:glass", "" },
|
|
|
|
{ "group:wood", "default:glass", "basic_materials:brass_ingot" },
|
|
|
|
{ "group:wood", "group:wood", "" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- woodglass door type 2
|
|
|
|
|
|
|
|
minetest.register_craft( {
|
2019-05-27 09:09:48 +02:00
|
|
|
output = "homedecor:door_woodglass2_a",
|
2019-04-20 21:49:36 +02:00
|
|
|
recipe = {
|
|
|
|
{ "default:glass", "default:glass", "" },
|
|
|
|
{ "group:wood", "group:wood", "default:iron_lump" },
|
|
|
|
{ "group:wood", "group:wood", "" },
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
|
output = "homedecor:door_japanese_closed",
|
|
|
|
recipe = {
|
|
|
|
{ "homedecor:japanese_wall_top" },
|
|
|
|
{ "homedecor:japanese_wall_bottom" }
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
|
|
|
-- aliases
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
minetest.register_alias("homedecor:jpn_door_top", "air")
|
|
|
|
minetest.register_alias("homedecor:jpn_door_top_open", "air")
|
|
|
|
|
|
|
|
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
|
|
|
|
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
|
|
|
|
|
|
|
|
minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
|
|
|
|
minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
|
|
|
|
|
|
|
|
minetest.register_alias("doors:wood_glass_oak_a", "doors:homedecor_french_oak_a")
|
|
|
|
minetest.register_alias("doors:wood_glass_oak_b", "doors:homedecor_french_oak_b")
|
|
|
|
|
|
|
|
minetest.register_alias("doors:wood_glass_white_a", "doors:homedecor_french_white_a")
|
|
|
|
minetest.register_alias("doors:wood_glass_white_b", "doors:homedecor_french_white_b")
|
|
|
|
|
|
|
|
minetest.register_alias("doors:wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
|
|
|
|
minetest.register_alias("doors:wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
|
|
|
|
|
2019-06-06 07:17:43 +02:00
|
|
|
minetest.register_alias("doors:homedecor_wood_glass_oak_a", "doors:homedecor_french_oak_a")
|
|
|
|
minetest.register_alias("doors:homedecor_wood_glass_oak_b", "doors:homedecor_french_oak_b")
|
|
|
|
|
|
|
|
minetest.register_alias("doors:homedecor_wood_glass_white_a", "doors:homedecor_french_white_a")
|
|
|
|
minetest.register_alias("doors:homedecor_wood_glass_white_b", "doors:homedecor_french_white_b")
|
|
|
|
|
|
|
|
minetest.register_alias("doors:homedecor_wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
|
|
|
|
minetest.register_alias("doors:homedecor_wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
|
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
minetest.register_alias("doors:homedecor_woodglass2_a", "doors:homedecor_carolina_a")
|
|
|
|
minetest.register_alias("doors:homedecor_woodglass2_b", "doors:homedecor_carolina_b")
|
|
|
|
|
|
|
|
minetest.register_alias("doors:woodglass2_a", "doors:homedecor_carolina_a")
|
|
|
|
minetest.register_alias("doors:woodglass2_b", "doors:homedecor_carolina_b")
|
2014-10-03 18:19:38 +02:00
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
minetest.register_alias("doors:homedecor_bedroom_a", "doors:homedecor_basic_panel_a")
|
|
|
|
minetest.register_alias("doors:homedecor_bedroom_b", "doors:homedecor_basic_panel_b")
|
2018-10-25 18:30:21 +02:00
|
|
|
|
give most doors more meaningful, distinct node names
to avoid confusion
doors:wood_glass_{oak,white,mahogany}_{a,b} --> doors:homedecor_french_{oak,white,mahogany}_{a,b}
doors:woodglass2_{a,b} --> doors:homedecor_carolina_{a,b}
doors:bedroom_{a,b} --> doors:homedecor_basic_panel_{a,b}
All others:
doors:$foo_{a,b} --> doors:homedecor_$foo_{a,b}
2019-06-03 09:42:06 +02:00
|
|
|
minetest.register_alias("doors:bedroom_a", "doors:homedecor_basic_panel_a")
|
|
|
|
minetest.register_alias("doors:bedroom_b", "doors:homedecor_basic_panel_b")
|
2019-05-25 06:01:04 +02:00
|
|
|
|
|
|
|
-- flip old homedecor doors around, since they use minetest_game doors API now
|
|
|
|
|
2019-06-06 07:17:43 +02:00
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_left"
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_right"
|
|
|
|
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_left"
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_right"
|
|
|
|
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_left"
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_right"
|
2019-06-05 10:26:22 +02:00
|
|
|
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_left"
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_right"
|
|
|
|
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_bedroom_left"
|
|
|
|
old_doors[#old_doors + 1] = "homedecor:door_bedroom_right"
|
|
|
|
|
2019-05-25 06:01:04 +02:00
|
|
|
minetest.register_lbm({
|
2019-06-06 07:17:43 +02:00
|
|
|
name = ":homedecor:convert_doors_3",
|
2019-05-25 06:01:04 +02:00
|
|
|
label = "Convert Homedecor doors to mtg doors API",
|
|
|
|
nodenames = old_doors,
|
|
|
|
run_at_every_load = false,
|
|
|
|
action = function(pos, node)
|
|
|
|
-- old doors param2: N=0, E=1, S=2, W=3
|
|
|
|
local newparam2 = (node.param2 + 2) % 4
|
|
|
|
local e = string.find(node.name, "_", -7)
|
|
|
|
local dir = string.sub(node.name, e+1)
|
2019-06-05 10:26:22 +02:00
|
|
|
local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1)
|
2019-05-25 06:01:04 +02:00
|
|
|
if dir == "right" then
|
2019-06-06 07:17:43 +02:00
|
|
|
print("Want to replace "..node.name.." with "..newname.."_a")
|
2019-05-25 06:01:04 +02:00
|
|
|
minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
|
|
|
|
else
|
2019-06-06 07:17:43 +02:00
|
|
|
print("Want to replace "..node.name.." with "..newname.."_b")
|
2019-05-25 06:01:04 +02:00
|
|
|
minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 })
|
|
|
|
end
|
|
|
|
minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})
|
|
|
|
end
|
|
|
|
})
|