diff --git a/CHANGELOG.md b/CHANGELOG.md index 68ff03d61..de0da75c6 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Port to Minecraft 1.14 (raoulvdberge) - Removed the Reader and Writer (raoulvdberge) - Removed covers (raoulvdberge) +- Fixed the Fluid Grid not having a View type setting (raoulvdberge) - Oredict mode for Patterns has been replaced with "Exact mode" (by default on). When exact mode is off, Refined Storage will use equivalent items or fluids from the Minecraft item/fluid tag system (raoulvdberge) - Grid filtering with "$" now does filtering based on item/fluid tag name instead of oredict name (raoulvdberge) - When binding a network item to a network you can now bind to any network block, not only the Controller (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java index 038a36b6b..d1b53c65a 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java @@ -115,7 +115,7 @@ public class GridScreen extends BaseScreen implements IScreenInfo addButton(searchField); - if (grid.getGridType() != GridType.FLUID && grid.getViewType() != -1) { + if (grid.getViewType() != -1) { addSideButton(new GridViewTypeSideButton(this, grid)); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/CraftableGridFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/CraftableGridFilter.java index 52a5baf24..80294079d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/CraftableGridFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/CraftableGridFilter.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.screen.grid.filtering; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; -import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import java.util.function.Predicate; @@ -14,7 +13,10 @@ public class CraftableGridFilter implements Predicate { @Override public boolean test(IGridStack stack) { - // TODO Make working with fluids. - return stack instanceof ItemGridStack && stack.isCraftable() == craftable; + if (craftable) { + return stack.isCraftable(); + } else { + return !stack.isCraftable() && stack.getOtherId() == null; + } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java index 4c5e2364b..373bd1dbe 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java @@ -58,8 +58,12 @@ public abstract class BaseGridView implements IGridView { while (it.hasNext()) { IGridStack stack = it.next(); - // TODO Make working with grid sorting mode. - if (stack.isCraftable() && + // If this is a crafting stack, + // and there is a regular matching stack in the view too, + // and we aren't in "view only craftables" mode, + // we don't want the duplicate stacks and we will remove this stack. + if (screen.getGrid().getViewType() != IGrid.VIEW_TYPE_CRAFTABLES && + stack.isCraftable() && stack.getOtherId() != null && map.containsKey(stack.getOtherId())) { it.remove();