Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make modpack mostly independent from MTG #607

Merged
merged 12 commits into from
May 5, 2022

Conversation

TurkeyMcMac
Copy link
Contributor

@TurkeyMcMac TurkeyMcMac commented Apr 20, 2022

This PR makes all Mesecons mods except mesecons_doors work with any game, and none of the mods hard-depend on default any longer. I added a mod mesecons_gamecompat to handle most external dependencies. The addition of a mod to the pack may cause problems for people updating it, in which case I should put the compatibility code in the mesecons mod or something. In any case, almost the entire modpack will now work with any game, although it requires default and some other MTG mods to provide sounds etc.

mesecons_detectors depended on default to provide default_steel_block.png. To remedy this, I added a copy of the texture to the mod as a fallback (giving appropriate attribution.) I could make the mod use the fallback texture 100% of the time, but this might mess with existing texture packs.

If no mesecons_gamecompat:mese alias is registered, mesecons_extrawires provides its own placeholder mesecons_extrawires:mese. Otherwise, mesecons_extrawires:mese is an alias of the real mese.

Support for more games without the default mod can be added in the future by adding more compatibility code to mesecons_gamecompat.

@sfan5
Copy link
Member

sfan5 commented Apr 21, 2022

Nice.
To me mesecons_compat sounds more like internal backwards compatibility maybe mesecons_gamecompat would be a better name or you have a different idea.
I'll add some more comments in a review below.
Also what about the list inside mesecons_mvps?

mesecons_compat/init.lua Outdated Show resolved Hide resolved
mesecons_noteblock/init.lua Outdated Show resolved Hide resolved
@TurkeyMcMac
Copy link
Contributor Author

I'm not sure about changing the list in mesecons_mvps, since mods might want to register the MVPS stoppers for themselves.

@sfan5
Copy link
Member

sfan5 commented Apr 22, 2022

I'm not sure about changing the list in mesecons_mvps, since mods might want to register the MVPS stoppers for themselves.

I don't understand the concern here. There is a hardcoded list of nodes in the mod, surely it should only apply when MTG is detected?

@TurkeyMcMac
Copy link
Contributor Author

Yes, my thought is that the list should apply only when MTG is used, and other games that Mesecons is made compatible with can register their stoppers themselves.

@sfan5
Copy link
Member

sfan5 commented Apr 26, 2022

Then what about moving the hardcoded list to mesecons_gamecompat, inside the MTG part?

Co-authored-by: sfan5 <sfan5@live.de>
Copy link
Member

@sfan5 sfan5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works, tested with devtest.

@sfan5 sfan5 merged commit dfa43d6 into minetest-mods:master May 5, 2022
@TurkeyMcMac
Copy link
Contributor Author

@Tim79000 default contains a lot of unrelated features, many of them specific to Minetest Game and its spin-offs. If a mod depends on default, it basically depends on Minetest Game.

@fluxionary fluxionary mentioned this pull request May 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants