GabrielOlvH / Industrial-Revolution

An Industrial mod made for Fabric.
Apache License 2.0
196 stars 58 forks source link

Adds interoperability with Inventory Profiles Next. #347

Closed blackd closed 2 years ago

blackd commented 2 years ago

The added annotation disables Inventory Profiles Next handling for all screens and containers.

Unfortunately this also catches the Cabinet which is real container and I guess some player might want to sort and have fast move items from their inventory into it. This is a limitation of my API on which I will be working to fix :smile:

GabrielOlvH commented 2 years ago

Hi, thanks for the PR! However adding a new soft-dependency just for an annotation isn't really appealing, I've been wanting to reduce unnecessary APIs for a while. But I'm willing to help you find a new solution, I was thinking maybe you could use the ScreenHandler's IDs which you can specify in a config file for a blacklist.

blackd commented 2 years ago

Hi,

I do have a config file that achieve the same thing. However the efforts needed to maintain such config file will grow exponentially over time. For example coming up with the current state of the config file took me more then an hour for agap.* because it's not open source and I had to manually go to all their blocks to find all containers.

This is the reason I first try to convince people to include it their mods :smile:

Just as an example for possible solution. The guys from Better End decided to package the annotation class in their mod to avoid the dependency. https://github.com/paulevsGitch/BetterEnd/pull/326

I was also thinking that just having an annotation IPNIgnore even in different package will be sufficient.

Anyway if you decide that you prefer that I include your containers in my config file I would ask if you change something to drop me an issue so I can fix the config.

GabrielOlvH commented 2 years ago

What about adding support for regex matching in your configs? That'd probably reduce a lot of lines in that config file

blackd commented 2 years ago

People tend to have all of their containers in the same package :smiley: Space Dimensions, the agap from above, also have storage blocks in the same package. I guess I can have regex and includes or excludes for the it. I'll think about it.