From ff5a99ea77e66bf61f139b3b0546628ac1a28c15 Mon Sep 17 00:00:00 2001 From: VoidLeech Date: Fri, 26 Sep 2025 02:01:26 +0200 Subject: [PATCH 1/2] fix: list/attribute filters wiping unrelated nbt, filter consistencies with no nbt --- .../content/logistics/filter/AttributeFilterMenu.java | 3 --- .../create/content/logistics/filter/FilterItemStack.java | 3 +-- .../create/content/logistics/filter/FilterMenu.java | 8 -------- 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/AttributeFilterMenu.java b/src/main/java/com/simibubi/create/content/logistics/filter/AttributeFilterMenu.java index f6bbd5572f..62673d14f9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/AttributeFilterMenu.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/AttributeFilterMenu.java @@ -158,9 +158,6 @@ protected void saveData(ItemStack filterItem) { }); filterItem.getOrCreateTag() .put("MatchedAttributes", attributes); - - if (attributes.isEmpty() && whitelistMode == WhitelistMode.WHITELIST_DISJ) - filterItem.setTag(null); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java b/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java index 90015861b0..b222ce20de 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java @@ -248,8 +248,7 @@ public PackageFilterItemStack(ItemStack filter) { @Override public boolean test(Level world, ItemStack stack, boolean matchNBT) { - return (filterString.isBlank() && super.test(world, stack, matchNBT)) - || PackageItem.isPackage(stack) && PackageItem.matchAddress(stack, filterString); + return PackageItem.isPackage(stack) && PackageItem.matchAddress(stack, filterString); } @Override diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/FilterMenu.java b/src/main/java/com/simibubi/create/content/logistics/filter/FilterMenu.java index 3e62aacba5..04fefca902 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/FilterMenu.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/FilterMenu.java @@ -66,14 +66,6 @@ protected void saveData(ItemStack filterItem) { CompoundTag tag = filterItem.getOrCreateTag(); tag.putBoolean("RespectNBT", respectNBT); tag.putBoolean("Blacklist", blacklist); - - if (respectNBT || blacklist) - return; - for (int i = 0; i < ghostInventory.getSlots(); i++) - if (!ghostInventory.getStackInSlot(i) - .isEmpty()) - return; - filterItem.setTag(null); } } From f49fbf522814d30fe826ef0216259d573f9633ae Mon Sep 17 00:00:00 2001 From: VoidLeech Date: Tue, 30 Sep 2025 13:30:34 +0200 Subject: [PATCH 2/2] fix: attribute filter with empty attribute list not matching description of whitelist mode --- .../create/content/logistics/filter/FilterItemStack.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java b/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java index b222ce20de..5c8c14a9a5 100644 --- a/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java +++ b/src/main/java/com/simibubi/create/content/logistics/filter/FilterItemStack.java @@ -196,8 +196,6 @@ public boolean test(Level world, FluidStack stack, boolean matchNBT) { @Override public boolean test(Level world, ItemStack stack, boolean matchNBT) { - if (attributeTests.isEmpty()) - return super.test(world, stack, matchNBT); for (Pair test : attributeTests) { ItemAttribute attribute = test.getFirst(); boolean inverted = test.getSecond();