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

MineClonia redstone update support #694

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

nonfreegithub
Copy link
Contributor

Recently MineClonia has reworked the redstone mods

It adds support to

@@ -14,7 +14,7 @@ if minetest.get_modpath("default") then
dofile(minetest.get_modpath("mesecons_gamecompat").."/compat_mtg.lua")
end

if minetest.get_modpath("mcl_core") then
if minetest.get_modpath("mcl_core") and minetest.get_modpath("mcl_trees") then
Copy link
Member

Choose a reason for hiding this comment

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

Why mcl_trees ? I don't see any such dependency.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

its because MineClonia and Voxelibre have mcl_core mod, so I put mcl_trees a mod exclusive from MineClonia, so it work not in Voxelibre.

Copy link
Member

Choose a reason for hiding this comment

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

Are the used API functions of Voxelibre and MineClonia incompatible? Why can't we support both?

Copy link
Member

Choose a reason for hiding this comment

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

Also has either Voxelibre or MCL considered adding a way to detect the fork?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

changed, please merge

Copy link

Choose a reason for hiding this comment

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

Are the used API functions of Voxelibre and MineClonia incompatible? Why can't we support both?

I think the bigger problem are the different levels of pollution of the mesecons namespace. VL still has a heavily modified mesecons built in as its redstone implementation. Running mesecons on top of VL seems to require more than a few tweaks to the gamecompat code. MCLA recently gained a separate redstone implementation and dropped the mesecons based one previously shared with all mcl2 based games. With the few fixes in this PR mesecons will run on top of MCLA and is usable with some caveats:

  • for world migration mcla still defines a lot of aliases in the mesecons namespace to the new redstone items; most are harmless because they get overwritten by actual mesecons items, but at least some recipes are broken because of this (e.g. the ones using mesecons:mesecon which is also just an alias in mesecons, or the mesecons torch where the craft is registered before the item causing the craft to output mcla redstone torches)
  • mcla also dropped mvps in favor of a new system
  • mcla redstone cannot power mesecons machines and vice versa (but its reasonably easy to build optical converters using observers)

TL;DR it looks like mcla is the only mcl* that can be supported reasonably by mesecons currently. The fact that until now nobody cared that the mcl gamecompat code has obvious typos seems to support that.

Copy link

Choose a reason for hiding this comment

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

Also has either Voxelibre or MCL considered adding a way to detect the fork?

For most purposes they are still compatible. In the context of mesecons compatibility the existence of the mcl_redstone mod seems like an adequate discriminator.

mruncreative pushed a commit to mruncreative/mesecons that referenced this pull request Feb 4, 2025
Copy link
Member

@SmallJoker SmallJoker left a comment

Choose a reason for hiding this comment

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

Looks about correct. Does not break Minetest Game, thus 👍. Will merge in a few days unless there are objections.

@mruncreative
Copy link
Contributor

SmallJoker, I already integrated those changes into my merge request. So this one is now superfluous.

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.

5 participants