mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2025-06-28 12:56:01 +02:00
Compare commits
17 Commits
2019-06-03
...
2019-06-20
Author | SHA1 | Date | |
---|---|---|---|
11e6b5d92a | |||
7e7b2bcabb | |||
b28f1314da | |||
17ea2040e2 | |||
ed9fb6a34d | |||
13862c1a48 | |||
e289e79aea | |||
80ab12710b | |||
1b94c940d7 | |||
df44dd3dad | |||
bff90189fc | |||
b407f06dc4 | |||
e6dc2c5508 | |||
bde2bf2bf6 | |||
ea160a6519 | |||
631813bb2d | |||
f33636d473 |
@ -89,28 +89,19 @@ end
|
||||
-- 3d-ify default mtg wood and steel doors and trap doors
|
||||
|
||||
if minetest.get_modpath("doors") then
|
||||
local function clone_node(name)
|
||||
local node2 = {}
|
||||
local node = minetest.registered_nodes[name]
|
||||
for k,v in pairs(node) do
|
||||
node2[k]=v
|
||||
end
|
||||
return node2
|
||||
end
|
||||
|
||||
local def
|
||||
for _,mat in ipairs({"wood", "steel"}) do
|
||||
def = clone_node("doors:door_"..mat.."_a")
|
||||
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"])
|
||||
def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
|
||||
minetest.register_node(":doors:door_"..mat.."_a", def)
|
||||
|
||||
def = clone_node("doors:door_"..mat.."_b")
|
||||
def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"])
|
||||
def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
|
||||
minetest.register_node(":doors:door_"..mat.."_b", def)
|
||||
end
|
||||
|
||||
for _,mat in ipairs({"", "_steel"}) do
|
||||
def = clone_node("doors:trapdoor"..mat)
|
||||
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat])
|
||||
def.drawtype = "mesh"
|
||||
def.mesh = "homedecor_3d_trapdoor"..mat..".obj"
|
||||
def.tiles = {
|
||||
@ -119,7 +110,7 @@ if minetest.get_modpath("doors") then
|
||||
}
|
||||
minetest.register_node(":doors:trapdoor"..mat, def)
|
||||
|
||||
def = clone_node("doors:trapdoor"..mat.."_open")
|
||||
def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"])
|
||||
def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
|
||||
def.drawtype = "mesh"
|
||||
def.tiles = {
|
||||
|
@ -1,3 +1,3 @@
|
||||
default
|
||||
creative
|
||||
|
||||
intllib?
|
||||
|
@ -3,17 +3,6 @@
|
||||
local S = homedecor.gettext
|
||||
local mesecons_mp = minetest.get_modpath("mesecons")
|
||||
|
||||
-- clone node
|
||||
|
||||
function hd_doors_clone_node(name)
|
||||
local node2 = {}
|
||||
local node = minetest.registered_nodes[name]
|
||||
for k,v in pairs(node) do
|
||||
node2[k]=v
|
||||
end
|
||||
return node2
|
||||
end
|
||||
|
||||
-- new doors using minetest_game doors API
|
||||
|
||||
local door_list = {
|
||||
@ -181,22 +170,22 @@ for _, door in ipairs(door_list) do
|
||||
local nn_b = "doors:homedecor_"..door.name.."_b"
|
||||
|
||||
if door.alpha then
|
||||
local def = hd_doors_clone_node(nn_a)
|
||||
local def = table.copy(minetest.registered_nodes[nn_a])
|
||||
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
|
||||
|
||||
def = hd_doors_clone_node(nn_b)
|
||||
def = table.copy(minetest.registered_nodes[nn_b])
|
||||
def.use_texture_alpha = true
|
||||
minetest.register_node(":"..nn_b, def)
|
||||
end
|
||||
|
||||
if door.custom_model and hd_3d then
|
||||
def = hd_doors_clone_node(nn_a)
|
||||
def = table.copy(minetest.registered_nodes[nn_a])
|
||||
def.mesh = door.custom_model.."_a.obj"
|
||||
minetest.register_node(":"..nn_a, def)
|
||||
|
||||
def = hd_doors_clone_node(nn_b)
|
||||
def = table.copy(minetest.registered_nodes[nn_b])
|
||||
def.mesh = door.custom_model.."_b.obj"
|
||||
minetest.register_node(":"..nn_b, def)
|
||||
end
|
||||
@ -468,8 +457,8 @@ minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_half_door_closed 4",
|
||||
recipe = {
|
||||
"homedecor:door_wood_plain_a",
|
||||
"homedecor:door_wood_plain_a"
|
||||
"doors:homedecor_wood_plain_a",
|
||||
"doors:homedecor_wood_plain_a"
|
||||
},
|
||||
})
|
||||
|
||||
@ -477,8 +466,8 @@ minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:gate_half_door_white_closed 4",
|
||||
recipe = {
|
||||
"homedecor:door_bedroom_a",
|
||||
"homedecor:door_bedroom_a"
|
||||
"doors:homedecor_bedroom_a",
|
||||
"doors:homedecor_bedroom_a"
|
||||
},
|
||||
})
|
||||
|
||||
@ -553,7 +542,7 @@ minetest.register_craft( {
|
||||
-- plain wood, non-windowed
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_wood_plain_a 2",
|
||||
output = "doors:homedecor_wood_plain 2",
|
||||
recipe = {
|
||||
{ "group:wood", "group:wood", "" },
|
||||
{ "group:wood", "group:wood", "default:steel_ingot" },
|
||||
@ -564,7 +553,7 @@ minetest.register_craft( {
|
||||
-- fancy exterior
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_exterior_fancy_a 2",
|
||||
output = "doors:homedecor_exterior_fancy 2",
|
||||
recipe = {
|
||||
{ "group:wood", "default:glass" },
|
||||
{ "group:wood", "group:wood" },
|
||||
@ -572,12 +561,10 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
-- wood and glass (grid style)
|
||||
|
||||
-- bare
|
||||
-- French style wood/glass
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_wood_glass_oak_a 2",
|
||||
output = "doors:homedecor_french_oak 2",
|
||||
recipe = {
|
||||
{ "default:glass", "group:wood" },
|
||||
{ "group:wood", "default:glass" },
|
||||
@ -586,7 +573,7 @@ minetest.register_craft( {
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_wood_glass_oak_a 2",
|
||||
output = "doors:homedecor_french_oak 2",
|
||||
recipe = {
|
||||
{ "group:wood", "default:glass" },
|
||||
{ "default:glass", "group:wood" },
|
||||
@ -594,27 +581,23 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
-- mahogany
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:door_wood_glass_mahogany_a 2",
|
||||
output = "doors:homedecor_french_mahogany 2",
|
||||
recipe = {
|
||||
"dye:brown",
|
||||
"homedecor:door_wood_glass_oak_a",
|
||||
"homedecor:door_wood_glass_oak_a"
|
||||
"doors:homedecor_wood_glass_oak_a",
|
||||
"doors:homedecor_wood_glass_oak_a"
|
||||
},
|
||||
})
|
||||
|
||||
-- white
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:door_wood_glass_white_a 2",
|
||||
output = "doors:homedecor_french_white 2",
|
||||
recipe = {
|
||||
"dye:white",
|
||||
"homedecor:door_wood_glass_oak_a",
|
||||
"homedecor:door_wood_glass_oak_a"
|
||||
"doors:homedecor_wood_glass_oak_a",
|
||||
"doors:homedecor_wood_glass_oak_a"
|
||||
},
|
||||
})
|
||||
|
||||
@ -623,7 +606,7 @@ minetest.register_craft( {
|
||||
-- oak
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_closet_oak_a 2",
|
||||
output = "doors:homedecor_closet_oak 2",
|
||||
recipe = {
|
||||
{ "", "group:stick", "group:stick" },
|
||||
{ "default:steel_ingot", "group:stick", "group:stick" },
|
||||
@ -635,18 +618,18 @@ minetest.register_craft( {
|
||||
|
||||
minetest.register_craft( {
|
||||
type = "shapeless",
|
||||
output = "homedecor:door_closet_mahogany_a 2",
|
||||
output = "doors:homedecor_closet_mahogany 2",
|
||||
recipe = {
|
||||
"homedecor:door_closet_oak_a",
|
||||
"homedecor:door_closet_oak_a",
|
||||
"doors:homedecor_closet_oak_a",
|
||||
"doors:homedecor_closet_oak_a",
|
||||
"dye:brown"
|
||||
},
|
||||
})
|
||||
|
||||
-- wrought fence-like door
|
||||
-- wrought iron fence-like door
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_wrought_iron_a 2",
|
||||
output = "doors:homedecor_wrought_iron 2",
|
||||
recipe = {
|
||||
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
|
||||
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
|
||||
@ -654,21 +637,21 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
-- bedroom door
|
||||
-- bedroom/panel door
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_bedroom_a",
|
||||
output = "doors:homedecor_basic_panel",
|
||||
recipe = {
|
||||
{ "dye:white", "dye:white", "" },
|
||||
{ "homedecor:door_wood_plain_a", "basic_materials:brass_ingot", "" },
|
||||
{ "doors:homedecor_wood_plain_a", "basic_materials:brass_ingot", "" },
|
||||
{ "", "", "" },
|
||||
},
|
||||
})
|
||||
|
||||
-- woodglass door
|
||||
-- basic wood/glass single-lite door
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_woodglass_a",
|
||||
output = "doors:homedecor_woodglass",
|
||||
recipe = {
|
||||
{ "group:wood", "default:glass", "" },
|
||||
{ "group:wood", "default:glass", "basic_materials:brass_ingot" },
|
||||
@ -676,10 +659,10 @@ minetest.register_craft( {
|
||||
},
|
||||
})
|
||||
|
||||
-- woodglass door type 2
|
||||
-- "Carolina" door
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:door_woodglass2_a",
|
||||
output = "doors:homedecor_carolina",
|
||||
recipe = {
|
||||
{ "default:glass", "default:glass", "" },
|
||||
{ "group:wood", "group:wood", "default:iron_lump" },
|
||||
@ -716,6 +699,15 @@ minetest.register_alias("doors:wood_glass_white_b", "doors:homedecor
|
||||
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")
|
||||
|
||||
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")
|
||||
|
||||
minetest.register_alias("doors:homedecor_woodglass2_a", "doors:homedecor_carolina_a")
|
||||
minetest.register_alias("doors:homedecor_woodglass2_b", "doors:homedecor_carolina_b")
|
||||
|
||||
@ -730,8 +722,23 @@ minetest.register_alias("doors:bedroom_b", "doors:homedecor
|
||||
|
||||
-- flip old homedecor doors around, since they use minetest_game doors API now
|
||||
|
||||
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"
|
||||
|
||||
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"
|
||||
|
||||
minetest.register_lbm({
|
||||
name = ":homedecor:convert_doors",
|
||||
name = ":homedecor:convert_doors_3",
|
||||
label = "Convert Homedecor doors to mtg doors API",
|
||||
nodenames = old_doors,
|
||||
run_at_every_load = false,
|
||||
@ -740,10 +747,12 @@ minetest.register_lbm({
|
||||
local newparam2 = (node.param2 + 2) % 4
|
||||
local e = string.find(node.name, "_", -7)
|
||||
local dir = string.sub(node.name, e+1)
|
||||
local newname = "doors:"..string.sub(node.name, 16, e-1)
|
||||
local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1)
|
||||
if dir == "right" then
|
||||
print("Want to replace "..node.name.." with "..newname.."_a")
|
||||
minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
|
||||
else
|
||||
print("Want to replace "..node.name.." with "..newname.."_b")
|
||||
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"})
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -106,7 +106,7 @@ minetest.register_node(":homedecor:curtain_closed", {
|
||||
drawtype = 'signlike',
|
||||
use_texture_alpha = true,
|
||||
walkable = false,
|
||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
||||
groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory=1 },
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorwallmounted",
|
||||
@ -116,12 +116,7 @@ minetest.register_node(":homedecor:curtain_closed", {
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||
if string.find(topnode.name, "homedecor:curtainrod") then
|
||||
-- Open the curtains
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir })
|
||||
end
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
@ -143,12 +138,7 @@ minetest.register_node(":homedecor:curtain_open", {
|
||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
||||
end,
|
||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||
local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
|
||||
if string.find(topnode.name, "homedecor:curtainrod") then
|
||||
-- Close the curtains
|
||||
local fdir = node.param2
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir })
|
||||
end
|
||||
minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
@ -390,7 +380,7 @@ minetest.register_craft({
|
||||
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:curtain_closed 4",
|
||||
output = "homedecor:curtain_open 4",
|
||||
recipe = {
|
||||
{ "wool:white", "", ""},
|
||||
{ "wool:white", "", ""},
|
||||
@ -399,7 +389,7 @@ minetest.register_craft( {
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:curtain_closed 4",
|
||||
output = "homedecor:curtain_open 4",
|
||||
recipe = {
|
||||
{ "cottages:wool", "", ""},
|
||||
{ "cottages:wool", "", ""},
|
||||
|
Reference in New Issue
Block a user