Skip to content

Commit 6a8bc85

Browse files
authored
Fix filters in covers not working (#5130)
1 parent 252eac8 commit 6a8bc85

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

src/main/java/com/gregtechceu/gtceu/api/cover/filter/FilterHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,14 @@ public int getSlotLimit(int slot) {
106106
};
107107

108108
this.filterSlot.setFilter(this::canInsertFilterItem);
109+
this.filterSlot.setOnContentsChanged(this::updateFilter);
109110
}
110111

111112
return this.filterSlot;
112113
}
113114

114115
public void setFilterItem(ItemStack item) {
115116
getFilterSlot().setStackInSlot(0, item);
116-
updateFilter();
117117
}
118118

119119
private void updateFilter() {

src/main/java/com/gregtechceu/gtceu/common/mui/GTMuiWidgets.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,10 +379,10 @@ public static <T, S extends Filter<T, S>> ParentWidget<?> createFilterRow(Flow e
379379
syncManager.syncValue("filterSlotHandler", filterSlotHandler);
380380

381381
IPanelHandler panelHandler = syncManager.syncedPanel("filterPanel", true,
382-
(sm, sh) -> filterHandler.loadFilter(filterSlotHandler.getSlot().getItem()).getPanel(data, sm,
383-
settings, false));
382+
(sm, sh) -> filterHandler.getFilter().getPanel(data, sm, settings, false));
384383

385-
modSlot.changeListener((newItem, onlyAmountChanged, client, init) -> {
384+
modSlot.changeListener((oldStack, newStack, client, init) -> {
385+
if (init || ItemStack.isSameItem(oldStack, newStack)) return;
386386
panelHandler.closePanel();
387387
panelHandler.deleteCachedPanel();
388388
});

0 commit comments

Comments
 (0)