Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #7706
There was A LOT of hardcoding there, wow.
Splits FilterItem and its mixed usage of the
FilterType
enum and/AllItems\.[A-Z]_?FILTER\.isIn/
method into four classes.FilterItem
itself retains most of the logic, and it has three subclasses forListFilterItem
,AttributeFilterItem
andPackgeFilterItem
. This makes filters so much more extensible for addons, ie they can actually extend it and should be able to implement custom filtering behavior without requiring mixins.I have tested this and it still works, including basic filter behavior and blueprints (overlay rendering and jei-autofilling).
WAIFU Analysis:
I have only looked at classes that have changes to existing methods, not just new methods.
FilterItem
:BlueprintItem
BlueprintOverlayRenderer
:AbstractFilterScreen
FilterItemStack
:FilterMenu
Therefore while this changes a lot it should not break addons at all, meaning it can be merged safely.
I would also like to get @jodlodi and @sashafiesta's opinions on this as you are the ones going to use it.