mirror of
				https://github.com/FaceDeer/dfcaverns.git
				synced 2025-10-31 00:05:34 +01: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