From e4af7b19472d437648d15eaa7c7926b3239bc69d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salom=C3=A3o?= Date: Tue, 27 Jul 2021 12:33:32 -0300 Subject: [PATCH] fix adapters insert-only mode still reporting items --- gradle.properties | 2 +- .../fluids/parts/FluidHandlerAdapter.java | 1 - .../parts/misc/ItemRepositoryAdapter.java | 29 ++++++++++++------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/gradle.properties b/gradle.properties index e67fc026e..0e403279f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ aechannel=stable aebuild=7 aegroup=appeng aebasename=appliedenergistics2 -trousers=omni-fixes-v45f +trousers=omni-fixes-v45g ######################################################### # Versions # diff --git a/src/main/java/appeng/fluids/parts/FluidHandlerAdapter.java b/src/main/java/appeng/fluids/parts/FluidHandlerAdapter.java index 54236ed2c..7a1bace0f 100644 --- a/src/main/java/appeng/fluids/parts/FluidHandlerAdapter.java +++ b/src/main/java/appeng/fluids/parts/FluidHandlerAdapter.java @@ -67,7 +67,6 @@ public class FluidHandlerAdapter implements IMEInventory, IBaseMo private StorageFilter mode; private AccessRestriction access; - FluidHandlerAdapter( IFluidHandler fluidHandler, IGridProxyable proxy ) { this.fluidHandler = fluidHandler; diff --git a/src/main/java/appeng/parts/misc/ItemRepositoryAdapter.java b/src/main/java/appeng/parts/misc/ItemRepositoryAdapter.java index 157a66e3f..0acb56dcb 100644 --- a/src/main/java/appeng/parts/misc/ItemRepositoryAdapter.java +++ b/src/main/java/appeng/parts/misc/ItemRepositoryAdapter.java @@ -2,7 +2,10 @@ package appeng.parts.misc; import javax.annotation.Nullable; import appeng.api.AEApi; +import appeng.api.config.AccessRestriction; import appeng.api.config.Actionable; +import appeng.api.config.Settings; +import appeng.api.config.StorageFilter; import appeng.api.networking.security.IActionSource; import appeng.api.networking.storage.IBaseMonitor; import appeng.api.networking.ticking.TickRateModulation; @@ -38,6 +41,8 @@ class ItemRepositoryAdapter implements IMEInventory, IBaseMonitor< private final IItemRepository itemRepository; private final IGridProxyable proxyable; private final InventoryCache cache; + private StorageFilter mode; + private AccessRestriction access; private ItemStack stackCache; @@ -46,6 +51,12 @@ class ItemRepositoryAdapter implements IMEInventory, IBaseMonitor< this.itemRepository = itemRepository; this.proxyable = proxy; this.cache = new InventoryCache( this.itemRepository ); + if( this.proxyable instanceof PartStorageBus ) + { + PartStorageBus partStorageBus = (PartStorageBus) this.proxyable; + this.mode = ( ( StorageFilter ) partStorageBus.getConfigManager().getSetting( Settings.STORAGE_FILTER ) ); + this.access = ( (AccessRestriction) partStorageBus.getConfigManager().getSetting( Settings.ACCESS ) ); + } } @Override @@ -180,17 +191,15 @@ class ItemRepositoryAdapter implements IMEInventory, IBaseMonitor< @Override public TickRateModulation onTick() { + List changes = this.cache.update(); + if( !changes.isEmpty() && access.hasPermission( AccessRestriction.READ ) ) { - List changes = this.cache.update(); - if( !changes.isEmpty() ) - { - this.postDifference( changes ); - return TickRateModulation.URGENT; - } - else - { - return TickRateModulation.SLOWER; - } + this.postDifference( changes ); + return TickRateModulation.URGENT; + } + else + { + return TickRateModulation.SLOWER; } }