diff --git a/CHANGELOG.md b/CHANGELOG.md index 1073c80a5..e3f3b6bc0 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ - The Portable Grid no longer exposes a inventory for crossmod interaction, due to performance issues (raoulvdberge) - The Crafting Monitor is now resizable and its size can be configured (stretched, small, medium, large) (raoulvdberge) - Removed the Wrench (raoulvdberge) +- Made all IO blocks have a blacklist instead of a whitelist by default (raoulvdberge) +- An empty blacklist now means: accept any item. An empty whitelist now means: don't accept any item (an empty whitelist USED to mean: accept any item) (raoulvdberge) - Updated Russian translation (kellixon) ### 1.5.34 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java index 4208614a8..1e4ecc91d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java @@ -59,7 +59,7 @@ public class NetworkNodeDestructor extends NetworkNode implements IComparable, I private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE_1, ItemUpgrade.TYPE_FORTUNE_2, ItemUpgrade.TYPE_FORTUNE_3); private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private int type = IType.ITEMS; private boolean pickupItem = false; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java index 98197a619..64cb42d4f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java @@ -75,7 +75,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IGuiStorage, private AccessType accessType = AccessType.INSERT_EXTRACT; private int priority = 0; private int compare = IComparer.COMPARE_NBT; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private boolean voidExcess = false; public NetworkNodeFluidStorage(World world, BlockPos pos) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java index a749be646..b27e36c54 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java @@ -37,7 +37,7 @@ public class NetworkNodeImporter extends NetworkNode implements IComparable, IFi private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK); private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private int type = IType.ITEMS; private int currentSlot; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java index 90fcab864..cb7e3134b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java @@ -74,7 +74,7 @@ public class NetworkNodeStorage extends NetworkNode implements IGuiStorage, ISto private AccessType accessType = AccessType.INSERT_EXTRACT; private int priority = 0; private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private boolean voidExcess = false; public NetworkNodeStorage(World world, BlockPos pos) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskdrive/NetworkNodeDiskDrive.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskdrive/NetworkNodeDiskDrive.java index 3d1e00833..5fae4daab 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskdrive/NetworkNodeDiskDrive.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskdrive/NetworkNodeDiskDrive.java @@ -87,7 +87,7 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IGuiStorage, IS private AccessType accessType = AccessType.INSERT_EXTRACT; private int priority = 0; private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private int type = IType.ITEMS; private boolean voidExcess = false; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java index f240b959c..a76203523 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/diskmanipulator/NetworkNodeDiskManipulator.java @@ -40,7 +40,7 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab private static final String NBT_IO_MODE = "IOMode"; private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private int type = IType.ITEMS; private int ioMode = IO_MODE_INSERT; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java index c5a335d3b..5ff3084c0 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java @@ -45,7 +45,7 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP private int priority = 0; private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE; - private int mode = IFilterable.WHITELIST; + private int mode = IFilterable.BLACKLIST; private int type = IType.ITEMS; private AccessType accessType = AccessType.INSERT_EXTRACT; private int networkTicks; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java index 12e6ece1d..4a943c0c2 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java @@ -22,29 +22,22 @@ public interface IFilterable { }); } - // @todo: Change in 1.13 to be by default blacklist, and accept all on blacklist and none on whitelist when no filter is set static boolean canTake(IItemHandler filters, int mode, int compare, ItemStack stack) { if (mode == WHITELIST) { - int slots = 0; - for (int i = 0; i < filters.getSlots(); ++i) { ItemStack slot = filters.getStackInSlot(i); - if (!slot.isEmpty()) { - slots++; - - if (API.instance().getComparer().isEqual(slot, stack, compare)) { - return true; - } + if (API.instance().getComparer().isEqual(slot, stack, compare)) { + return true; } } - return slots == 0; + return false; } else if (mode == BLACKLIST) { for (int i = 0; i < filters.getSlots(); ++i) { ItemStack slot = filters.getStackInSlot(i); - if (!slot.isEmpty() && API.instance().getComparer().isEqual(slot, stack, compare)) { + if (API.instance().getComparer().isEqual(slot, stack, compare)) { return false; } } @@ -57,21 +50,15 @@ public interface IFilterable { static boolean canTakeFluids(ItemHandlerFluid filters, int mode, int compare, FluidStack stack) { if (mode == WHITELIST) { - int slots = 0; - for (int i = 0; i < filters.getSlots(); ++i) { FluidStack slot = filters.getFluidStackInSlot(i); - if (slot != null) { - slots++; - - if (API.instance().getComparer().isEqual(slot, stack, compare)) { - return true; - } + if (slot != null && API.instance().getComparer().isEqual(slot, stack, compare)) { + return true; } } - return slots == 0; + return false; } else if (mode == BLACKLIST) { for (int i = 0; i < filters.getSlots(); ++i) { FluidStack slot = filters.getFluidStackInSlot(i); @@ -93,6 +80,7 @@ public interface IFilterable { return false; } } + return true; }