diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-08-15 22:51:56 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-08-15 22:51:56 +0800 |
| commit | 685861c91bbb8a8a882da51381d392f1310d061d (patch) | |
| tree | 302edee72e12554cca794719eedac748840b3688 | |
| parent | 71a7e06e90d8f31ac8827d93590aa86bc2ff4523 (diff) | |
| download | RoughlyEnoughItems-685861c91bbb8a8a882da51381d392f1310d061d.tar.gz RoughlyEnoughItems-685861c91bbb8a8a882da51381d392f1310d061d.tar.bz2 RoughlyEnoughItems-685861c91bbb8a8a882da51381d392f1310d061d.zip | |
Fix #1070
5 files changed, 18 insertions, 8 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CollapsingEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CollapsingEntryListWidget.java index af0fb2900..fe2d8b7e8 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CollapsingEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CollapsingEntryListWidget.java @@ -48,8 +48,8 @@ public abstract class CollapsingEntryListWidget extends EntryListWidget { } @Override - public List</*EntryStack<?> | CollapsedStack*/ Object> getCollapsedStacks() { - return collapsedStacks; + public boolean isEmpty() { + return collapsedStacks.isEmpty(); } @Override @@ -97,7 +97,7 @@ public abstract class CollapsingEntryListWidget extends EntryListWidget { if (collapsedStack != null) { collapsedStackIndexed.put(index, collapsedStack); - + if (collapsedStack.isExpanded()) { int size = collapsedStack.getIngredient().size(); for (int i = 1; i < size; i++) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java index 3b6359d53..30aa0de60 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java @@ -273,7 +273,7 @@ public abstract class EntryListWidget extends WidgetWithBounds implements Overla protected abstract void updateEntries(int entrySize, boolean zoomed); - public abstract List</*EntryStack<?> | CollapsedStack*/ Object> getCollapsedStacks(); + public abstract boolean isEmpty(); protected abstract void setCollapsedStacks(List</*EntryStack<?> | CollapsedStack*/ Object> stacks); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java index d239a772d..fb7c864c5 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java @@ -151,7 +151,12 @@ public class PaginatedEntryListWidget extends CollapsingEntryListWidget { entry.entries((List<EntryStack<?>>) stack); } - entry.collapsed(indexedCollapsedStack.get(i + skip)); + CollapsedStack collapsedStack = indexedCollapsedStack.get(i + skip); + if (collapsedStack != null && collapsedStack.getIngredient().size() > 1) { + entry.collapsed(collapsedStack); + } else { + entry.collapsed(null); + } } this.entries = entries; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java index 2fa942752..fda8ec704 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java @@ -96,7 +96,12 @@ public class ScrolledEntryListWidget extends CollapsingEntryListWidget { } } - entry.collapsed(indexedCollapsedStack.get(i - 1)); + CollapsedStack collapsedStack = indexedCollapsedStack.get(i - 1); + if (collapsedStack != null && collapsedStack.getIngredient().size() > 1) { + entry.collapsed(collapsedStack); + } else { + entry.collapsed(null); + } } else { blockedCount++; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java index c6dd42ef0..4168b1916 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java @@ -97,7 +97,7 @@ public class OverlaySearchField extends TextFieldWidget implements TextFieldWidg return TextTransformations.forwardWithTransformation(text, (s, charIndex, c) -> { byte arg = highlighter.highlighted[charIndex + index]; Style style = Style.EMPTY; - if (isMain && ScreenOverlayImpl.getEntryListWidget().getCollapsedStacks().isEmpty() && !getText().isEmpty()) { + if (isMain && ScreenOverlayImpl.getEntryListWidget().isEmpty() && !getText().isEmpty()) { style = ERROR_STYLE; } if (arg > 0) { @@ -273,7 +273,7 @@ public class OverlaySearchField extends TextFieldWidget implements TextFieldWidg int borderColor; if (isMain && isHighlighting) { borderColor = 0xfff2ff0c; - } else if (isMain && ScreenOverlayImpl.getEntryListWidget().getCollapsedStacks().isEmpty() && !getText().isEmpty()) { + } else if (isMain && ScreenOverlayImpl.getEntryListWidget().isEmpty() && !getText().isEmpty()) { borderColor = 0xffff5555; } else { super.renderBorder(matrices); |
