diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-08-15 22:51:56 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-08-17 23:21:55 +0900 |
| commit | 47896cdd0e1d440ca85aef3cc8f24b229a18c949 (patch) | |
| tree | 3dff5a7811fda3f0b377f703b2acb8880ceaf6b5 /runtime | |
| parent | d4bd40db6d87ead0623adcf751fc1409896c86e8 (diff) | |
| download | RoughlyEnoughItems-47896cdd0e1d440ca85aef3cc8f24b229a18c949.tar.gz RoughlyEnoughItems-47896cdd0e1d440ca85aef3cc8f24b229a18c949.tar.bz2 RoughlyEnoughItems-47896cdd0e1d440ca85aef3cc8f24b229a18c949.zip | |
Fix #1070
Diffstat (limited to 'runtime')
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 bb6eeecf3..4095aa4b4 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 @@ -272,7 +272,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 2a0de75b0..9596370d3 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 @@ -149,7 +149,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 8420a2e11..70dbfd321 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) { @@ -272,7 +272,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); |
