Modern Industrialization

Modern Industrialization

4M Downloads

[FEATURE] Support running without REI

enderger opened this issue ยท 7 comments

commented

Currently, Modern Industrialization has a hard dependency on Roughly Enough Items. While the sheer number of crafting mechanics in the mod makes porting particularly annoying, it is probably worth considering at least allowing them to have their own implementation if they so choose. In terms of targets, EMI currently seems like the only main alternative on Fabric, but it would still be good in case someone wants to run standalone.

commented

I have so many projects to take care of, and making MI compatible with other recipe viewers is not something I have time for at the moment. MI is designed to be played with REI, and I would rather spend my time on implementing more advanced REI integration because that's what nearly all of our players use. For the same reason, I cannot accept a PR for compatibility with any REI alternative because I cannot ensure that I will have the time to maintain it. For this to happen, REI and other equivalent mods should agree on a common core API, or straight up implement the REI API themselves. If you absolutely want it, the best way would be to create a compatibility plugin but you should make sure it is a well separated project from MI.

You can still use MI without REI by deleting the dependency in the jar or using a loader dependency override (MI works fine without REI, all code is properly separated in the REI plugin). You will have to change some recipes with a datapack or KubeJS to unblock some parts of the progression however. (Mainly in the distillery, we can add an additional item input slot to facilitate this in the 1.19 update).

commented

Yes, I meant that the solution that should work here is to not require compatibility with any recipe viewer - a mod that is not a recipe viewer should not require compatibility with a recipe viewer in order to function. What should really be implemented is a UI that allows the user to use machinery important to progression in a mod without the use of unrelated mods. If the machines already have UIs, adding to their existing UIs is not as large a burden on maintaining the project when compared to adding something new that doesn't exist. When it comes to things such as porting, you must port the UI anyway, and if adding to that UI for some reason interacts with the game or another mod more than it would otherwise, then something is wrong...

Currently, this mod depends on an unrelated project to achieve a feature that should be part of the mod features that already exist, and players of this mod find it a barrier to entry. The next step here is not to waste time adding support for EMI, if that is the concern, but to spend that time developing a proper solution that should not have issues with incompatibility and should integrate with the mod features better. Though I never released it, I did actually create a mod two years ago that had a distillery and had a GUI that allowed recipes to be selected - in my experience, it was not more difficult or time-consuming that supporting recipe viewer(s) either.

commented

No, you cannot select recipes in the distillery without REI, that's why it is required, and I don't want to support 2 recipe viewers.

commented

One might expect that machines in a mod might have user interfaces that allow them to function, and that recipe viewers might not constitute part of that machine's user interface. One might even consider the recipe viewer/selector that is built into vanilla might be, at the very least, a better substitute for a proper UI. Supporting multiple recipe viewers is not the take-away from this issue...

commented

For the same reasons explained above, I do not wish to spend time implementing a new screen, perfecting it, making it better than our existing REI integration, etc... We have plans that go in the other direction, i.e. improving the experience of using MI with REI.

I gave multiple alternatives in case you don't want to use REI, but that will require some effort to tweak recipes. If you want to make a modpack / easily downloadable package with these recipe changes and the loader dependency override that is fine: post it on our Discord server, and we can redirect users to your modpack. We will be keeping our code separate from REI in the future to ensure that this remains an option. We won't be testing without REI, but if running without REI causes a hard crash please open a new issue for that and we will address it.

However, I do not wish to spend more time debating this. When testing the mod, the REI integration felt very nice to use to me, so I would recommend that you play the mod with REI first and check out how the interaction feels in survival. I have heard your points, and I have made the choice to keep the hard REI dependency. I ask you to respect that decision.

commented

Note that the latest 1.19 release doesn't require REI anymore (and adds JEI integration). I have no plans to main the new JEI integration, add EMI integration, or implement a new way to choose machine recipes.

commented

EMI support is now implemented, and will be in the next release. This might be for 1.19.2 or 1.19.3.