mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2025-06-28 14:36:20 +02:00
stair dependencies
This commit is contained in:
@ -38,8 +38,10 @@ end
|
||||
df_dependencies.mods_required.stairs = true
|
||||
df_dependencies.mods_required.moreblocks = true
|
||||
df_dependencies.mods_required.doors = true
|
||||
df_dependencies.mods_required.mcl_stairs = true
|
||||
|
||||
df_dependencies.register_all_stairs = function(name, override_def)
|
||||
|
||||
local node_name_to_stair_properties = function(name, override)
|
||||
local mod = minetest.get_current_modname()
|
||||
|
||||
local node_def = minetest.registered_nodes[mod..":"..name]
|
||||
@ -49,7 +51,11 @@ df_dependencies.register_all_stairs = function(name, override_def)
|
||||
for index, value in pairs(override_def) do
|
||||
node_copy[index] = value
|
||||
end
|
||||
|
||||
return mod, node_copy
|
||||
end
|
||||
|
||||
df_dependencies.register_stairs = function(name, override_def)
|
||||
local mod, node_copy = node_name_to_stair_properties(name, override_def)
|
||||
if minetest.get_modpath("stairs") then
|
||||
stairs.register_stair_and_slab(
|
||||
name,
|
||||
@ -61,25 +67,38 @@ df_dependencies.register_all_stairs = function(name, override_def)
|
||||
node_copy.sounds
|
||||
)
|
||||
end
|
||||
if minetest.get_modpath("mcl_stairs") then
|
||||
mcl_stairs.register_stair_and_slab_simple(
|
||||
name,
|
||||
mod ..":" .. name,
|
||||
S("@1 Stair", node_copy.description),
|
||||
S("@1 Slab", node_copy.description),
|
||||
S("Double @1 Slab", node_copy.description)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
df_dependencies.register_more_stairs = function(name, override_def)
|
||||
local mod, node_copy = node_name_to_stair_properties(name, override_def)
|
||||
if minetest.get_modpath("moreblocks") then
|
||||
stairsplus:register_all(mod, name, mod..":"..name, node_copy)
|
||||
end
|
||||
end
|
||||
|
||||
df_dependencies.register_all_fences = function (name, override_def)
|
||||
local mod = minetest.get_current_modname()
|
||||
local mod, node_def = node_name_to_stair_properties(name, override_def)
|
||||
|
||||
local material = mod..":"..name
|
||||
local node_def = minetest.registered_nodes[material]
|
||||
override_def = override_def or {}
|
||||
|
||||
local material = override_def.material or mod..":"..name
|
||||
local burntime = override_def.burntime
|
||||
local texture = override_def.texture or node_def.tiles[1]
|
||||
|
||||
if minetest.get_modpath("default") then
|
||||
default.register_fence(material .. "_fence", {
|
||||
description = S("@1 Fence", node_def.description),
|
||||
texture = override_def.texture or node_def.tiles[1],
|
||||
material = override_def.material or material,
|
||||
texture = texture,
|
||||
material = material,
|
||||
groups = deep_copy(node_def.groups or {}), -- the default register_fence function modifies the groups table passed in, so send a copy instead to be on the safe side.
|
||||
sounds = node_def.sounds
|
||||
})
|
||||
@ -93,8 +112,8 @@ df_dependencies.register_all_fences = function (name, override_def)
|
||||
|
||||
default.register_fence_rail(material .. "_fence_rail", {
|
||||
description = S("@1 Fence Rail", node_def.description),
|
||||
texture = override_def.texture or node_def.tiles[1],
|
||||
material = override_def.material or material,
|
||||
texture = texture,
|
||||
material = material,
|
||||
groups = deep_copy(node_def.groups or {}), -- the default register_fence_rail function modifies the groups table passed in, so send a copy instead to be on the safe side.
|
||||
sounds = node_def.sounds
|
||||
})
|
||||
@ -108,20 +127,18 @@ df_dependencies.register_all_fences = function (name, override_def)
|
||||
|
||||
default.register_mesepost(material .. "_mese_light", {
|
||||
description = S("@1 Mese Post Light", node_def.description),
|
||||
texture = override_def.texture or node_def.tiles[1],
|
||||
material = override_def.material or material,
|
||||
texture = texture,
|
||||
material = material,
|
||||
groups = deep_copy(node_def.groups or {}), -- the default register_fence_rail function modifies the groups table passed in, so send a copy instead to be on the safe side.
|
||||
sounds = node_def.sounds
|
||||
})
|
||||
else
|
||||
-- TODO
|
||||
end
|
||||
|
||||
if minetest.get_modpath("doors") then
|
||||
doors.register_fencegate(material .. "_fence_gate", {
|
||||
description = S("@1 Fence Gate", node_def.description),
|
||||
texture = override_def.texture or node_def.tiles[1],
|
||||
material = override_def.material or material,
|
||||
texture = texture,
|
||||
material = material,
|
||||
groups = deep_copy(node_def.groups or {}), -- the default register_fence_rail function modifies the groups table passed in, so send a copy instead to be on the safe side.
|
||||
sounds = node_def.sounds
|
||||
})
|
||||
@ -133,8 +150,11 @@ df_dependencies.register_all_fences = function (name, override_def)
|
||||
burntime = burntime * 2, -- ignoring four sticks
|
||||
})
|
||||
end
|
||||
else
|
||||
-- TODO
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
df_dependencies.register_all_stairs_and_fences = function(name, override_def)
|
||||
df_dependencies.register_stairs(name, override_def)
|
||||
df_dependencies.register_more_stairs(name, override_def)
|
||||
df_dependencies.register_all_fences(name, override_def)
|
||||
end
|
@ -1,4 +1,4 @@
|
||||
name = df_dependencies
|
||||
description = A utility mod for df_caverns that gathers all dependencies on minetest_game in one place, to ease compatibility efforts with mineclone and other such games
|
||||
depends =
|
||||
optional_depends = beds, bucket, default, doors, farming, fireflies, mcl_beds, mcl_buckets, mcl_chests, mcl_compatibility, mcl_copper, mcl_core, mcl_doors, mcl_farming, mcl_furnaces, mcl_init, mcl_lanterns, mcl_mapgen, mcl_mobitems, mcl_ocean, mcl_potions, mcl_sounds, mcl_strongholds, mcl_torches, mcl_wool, mcl_worlds, mclx_core, mesecons, moreblocks, stairs, vessels, wool
|
||||
optional_depends = beds, bucket, default, doors, farming, fireflies, mcl_beds, mcl_buckets, mcl_chests, mcl_compatibility, mcl_copper, mcl_core, mcl_doors, mcl_farming, mcl_furnaces, mcl_init, mcl_lanterns, mcl_mapgen, mcl_mobitems, mcl_ocean, mcl_potions, mcl_sounds, mcl_strongholds, mcl_torches, mcl_wool, mcl_worlds, mclx_core, mesecons, moreblocks, stairs, vessels, wool, mcl_stairs
|
@ -6,7 +6,9 @@ local function select_required(...)
|
||||
newdef[string.match(node, "(.-):")] = node
|
||||
end
|
||||
local ret = df_dependencies.select_required(newdef)
|
||||
assert(minetest.registered_items[ret] ~= nil, "Node " .. ret .. " was returned by a selection call but is not registered.")
|
||||
minetest.after(0, function()
|
||||
assert(minetest.registered_items[ret] ~= nil, "Node " .. ret .. " was returned by a selection call but is not registered.")
|
||||
end)
|
||||
return ret
|
||||
end
|
||||
|
||||
@ -17,7 +19,9 @@ local function select_optional(...)
|
||||
end
|
||||
local ret = df_dependencies.select_optional(newdef)
|
||||
if ret ~= nil then
|
||||
assert(minetest.registered_items[ret] ~= nil, "Node " .. ret .. " was returned by an optional selection call but is not registered.")
|
||||
minetest.after(0, function()
|
||||
assert(minetest.registered_items[ret] ~= nil, "Node " .. ret .. " was returned by an optional selection call but is not registered.")
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
@ -84,3 +88,14 @@ df_dependencies.node_name_bed_top = select_required("beds:bed_top", "mcl_beds:be
|
||||
-- from "doors"
|
||||
df_dependencies.node_name_door_wood_a = select_required("doors:door_wood_a", "mcl_doors:wooden_door_b_1")
|
||||
df_dependencies.node_name_door_hidden = select_required("doors:hidden", "mcl_doors:wooden_door_t_1")
|
||||
|
||||
|
||||
-- from "stairs"
|
||||
|
||||
df_dependencies.node_name_slab_goblin_cap_stem_wood = select_required("stairs:slab_goblin_cap_stem_wood", "mcl_stairs:slab_goblin_cap_stem_wood")
|
||||
df_dependencies.node_name_slab_slade_brick = select_required("stairs:slab_slade_brick", "mcl_stairs:slab_slade_brick")
|
||||
df_dependencies.node_name_stair_goblin_cap_stem_wood = select_required("stairs:stair_goblin_cap_stem_wood", "mcl_stairs:stair_goblin_cap_stem_wood")
|
||||
df_dependencies.node_name_stair_inner_slade_brick = select_required("stairs:stair_inner_slade_brick", "mcl_stairs:stair_slade_brick_inner")
|
||||
df_dependencies.node_name_stair_outer_slade_brick = select_required("stairs:stair_outer_slade_brick", "mcl_stairs:stair_slade_brick_outer")
|
||||
df_dependencies.node_name_stair_slade_block = select_required("stairs:stair_slade_block", "mcl_stairs:stair_slade_block")
|
||||
df_dependencies.node_name_stair_slade_brick = select_required("stairs:stair_slade_brick", "mcl_stairs:stair_slade_brick")
|
||||
|
Reference in New Issue
Block a user