mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2025-06-28 12:56:01 +02:00
Compare commits
16 Commits
2019-06-03
...
2019-06-18
Author | SHA1 | Date | |
---|---|---|---|
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
|
||||
@ -716,6 +705,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 +728,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 +753,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