AlmostReliable / almostunified

A Minecraft mod to unify resources.
https://www.curseforge.com/minecraft/mc-mods/almost-unified
GNU Lesser General Public License v3.0
50 stars 9 forks source link

EMI SUPPORT #39

Closed CantWeAllDisagree closed 4 months ago

CantWeAllDisagree commented 1 year ago

Describe the feature/addition!

Please add support for EMI if possible!

https://modrinth.com/mod/emi

Why would like to see this feature/addition?

I would love to be able to have the remove recipe feature of JEI/REI for EMI as I prefer EMI over the latter. Thanks!

rlnt commented 1 year ago

I implemented EMI support on a private branch already but it needs some more testing. REI and JEI needed some special treatment in the past in order to avoid timing issues and we need to be sure this also works on EMI otherwise you'll get crashes or inconsistencies on a dedicated server environment.

Before testing, I wanted to wait until the Forge port for EMI arrives but who knows if that's ever going to happen. I'll have to see how we treat it. It's a bit annoying to maintain an additional dependency that only works on one platform.

rlnt commented 1 year ago

Talked to EMI. While most of it is relatively simple, we would have to mixin into some of their internals to establish proper support and that is a maintenance burden.

But they agreed that something like this would be nice to have so they might implement it in the future. Up until this point, we need to delay EMI support, sorry. It's just not feasible right now.

CantWeAllDisagree commented 1 year ago

Completely understandable, thanks for taking the effort!

rlnt commented 1 year ago

Please don't close this. 😄

CantWeAllDisagree commented 1 year ago

Sorry my bad, :)

ffuentesm commented 1 year ago

This seems really useful, EMI is finally on Forge, and it gives the Best of REI to JEI. I have tested EMI and AU on both 1.19.2 and 1.20.1, and there have been no crashes. Just the missing AU icon on the Recipes.

rlnt commented 1 year ago

Since we don't feature official support, any issues featuring EMI will be closed. It's good if it's working but since they didn't implement a feature we need for official support and I don't want to maintain multiple mixins for several recipe viewers that frequently change their internals, this request will remain on hold.

hipsterjazzbo commented 11 months ago

This looks like it's possible now: https://github.com/emilyploszaj/emi/wiki/Getting-Started-Guide#addingremoving-from-the-index

GitHub
Getting Started Guide
A featureful and accessible item and recipe viewer - emilyploszaj/emi
rlnt commented 11 months ago

This was always possible but this is not the feature we are waiting for. I talked to Emi about the desired feature we need which should find its way into the mod soon because I PRed the integration for it to JEI as well.

rlnt commented 11 months ago

Relies on this: https://github.com/emilyploszaj/emi/issues/261

emilyploszaj commented 4 months ago

EMI has had this https://github.com/emilyploszaj/emi/blob/1.20.4/xplat/src/main/java/dev/emi/emi/api/EmiInitRegistry.java#L24 entrypoint for a little while which should be sufficient for the general case of removing stacks from integration, both the sidebar and inside of tags, supported by the mod itself rather than intrusive editing of existing recipe displays.

rlnt commented 4 months ago

EMI has had this https://github.com/emilyploszaj/emi/blob/1.20.4/xplat/src/main/java/dev/emi/emi/api/EmiInitRegistry.java#L24 entrypoint for a little while which should be sufficient for the general case of removing stacks from integration, both the sidebar and inside of tags, supported by the mod itself rather than intrusive editing of existing recipe displays.

This is good to know but we still need the recipe decorator capabilities to fully support EMI. Changing recipes without indicating it has been a huge origin of drama and conflicts in the past and we want to avoid this. In the past, before we PRed that feature to JEI ourselves, we applied that via internal mixins but that is a maintenance burden, especially with how often its internals changed.

emilyploszaj commented 4 months ago

Oh, I was under the impression you wanted a more complex integration with EMI with the ability to mutate stuff like slots... I should've taken a closer look, recipe decorators like you wanted were quite simple, and are now available as an experimental API addition in 1.1.2, though, I do not anticipate them to change if they work for your use case, they'll be considered stable in 1.2.0. Sorry for the delay! You should have everything necessary for integration now.