getting close to actually being able to run mineclone with this

This commit is contained in:
FaceDeer
2022-08-03 20:43:31 -06:00
parent bb6cb4efa1
commit 457b79b48d
16 changed files with 65 additions and 29 deletions

View File

@ -3,8 +3,12 @@ local S = minetest.get_translator(minetest.get_current_modname())
if minetest.get_modpath("default") then
df_dependencies.register_leafdecay = default.register_leafdecay
df_dependencies.after_place_leaves = default.after_place_leaves
else
--TODO
elseif ("mcl_core") then
-- Mineclone does leaf decay differently, it uses the "leafdecay" group to require that leaves remain
-- within the group value distance of any node of group "tree".
-- make sure to add place_param2 = 1 to leaves to prevent decay of player-placed leaves
df_dependencies.register_leafdecay = function() end
df_dependencies.after_place_leaves = function() end
end

View File

@ -22,11 +22,14 @@ df_dependencies.select_required = function(def)
end
df_dependencies.select_optional = function(def)
local ret
for mod, item in pairs(def) do
df_dependencies.mods_required[mod] = true
if minetest.get_modpath(mod) then
return item
ret = item
end
end
return ret
end
dofile(modpath.."/nodes.lua")
@ -34,7 +37,16 @@ dofile(modpath.."/sounds.lua")
dofile(modpath.."/helper_functions.lua")
dofile(modpath.."/misc.lua")
minetest.debug(dump(df_dependencies.mods_required))
local mods_required = ""
local mods_sorted = {}
for mod, _ in pairs(df_dependencies.mods_required) do
table.insert(mods_sorted, mod)
end
table.sort(mods_sorted)
for _, mod in ipairs(mods_sorted) do
mods_required = mods_required .. ", " .. mod
end
minetest.debug(mods_required)
-- This mod is meant to only exist at initialization time. Other mods should make copies of anything it points to for their own use.
minetest.after(1, function() df_dependencies = nil end)

View File

@ -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 = default
optional_depends = moreblocks, stairs, doors, farming, wool, fireflies, vessels, bucket, beds
depends =
optional_depends = beds, bucket, default, doors, farming, fireflies, mcl_beds, mcl_buckets, mcl_chests, mcl_copper, mcl_core, mcl_doors, mcl_farming, mcl_furnaces, mcl_lanterns, mcl_mobitems, mcl_ocean, mcl_potions, mcl_sounds, mcl_strongholds, mcl_torches, mcl_vars, mcl_wool, mcl_worlds, mclx_core, mesecons, moreblocks, stairs, vessels, wool

View File

@ -39,7 +39,7 @@ df_dependencies.node_name_ice = select_required("default:ice", "mcl_core:ice")
df_dependencies.node_name_junglewood = select_required("default:junglewood", "mcl_core:junglewood")
df_dependencies.node_name_lava_source = select_required("default:lava_source", "mcl_core:lava_source")
df_dependencies.node_name_mese_crystal = select_required("default:mese_crystal", "mesecons:redstone") -- TODO make sure this is properly balanced. Also, mesecons mod conflict with non-mcl mesecons?
df_dependencies.node_name_meselamp = select_required("default:meselamp")
df_dependencies.node_name_meselamp = select_required("default:meselamp", "mcl_lanterns:lantern_floor")
df_dependencies.node_name_mossycobble = select_required("default:mossycobble", "mcl_core:mossycobble")
df_dependencies.node_name_obsidian = select_required("default:obsidian", "mcl_core:obsidian")
df_dependencies.node_name_paper = select_required("default:paper", "mcl_core:paper")
@ -57,7 +57,7 @@ df_dependencies.node_name_water_flowing = select_required("default:water_flowing
df_dependencies.node_name_water_source = select_required("default:water_source", "mcl_core:water_source")
df_dependencies.node_name_stone_with_iron = select_required("default:stone_with_iron", "mcl_core:stone_with_iron")
df_dependencies.node_name_steelblock = select_required("default:steelblock", "mcl_core:ironblock")
df_dependencies.node_name_stone_with_copper = select_required("default:stone_with_copper", "mcl_core:stone_with_copper")
df_dependencies.node_name_stone_with_copper = select_required("default:stone_with_copper", "mcl_copper:stone_with_copper")
df_dependencies.node_name_copperblock = select_required("default:copperblock", "mcl_copper:block_raw")
df_dependencies.node_name_dirt_furrowed = select_required("farming:soil", "mcl_farming:soil")