diff --git a/core/features/registries/ExternalStorageRegistry.java b/core/features/registries/ExternalStorageRegistry.java index b1fcc0f27..c7efc2583 100644 --- a/core/features/registries/ExternalStorageRegistry.java +++ b/core/features/registries/ExternalStorageRegistry.java @@ -5,6 +5,7 @@ import java.util.List; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; +import appeng.api.networking.security.BaseActionSource; import appeng.api.storage.IExternalStorageHandler; import appeng.api.storage.IExternalStorageRegistry; import appeng.api.storage.StorageChannel; @@ -21,15 +22,15 @@ public class ExternalStorageRegistry implements IExternalStorageRegistry } @Override - public IExternalStorageHandler getHandler(TileEntity te, ForgeDirection d, StorageChannel chan) + public IExternalStorageHandler getHandler(TileEntity te, ForgeDirection d, StorageChannel chan, BaseActionSource mySrc) { for (IExternalStorageHandler x : Handlers) { - if ( x.canHandle( te, d, chan ) ) + if ( x.canHandle( te, d, chan, mySrc ) ) return x; } - if ( lastHandler.canHandle( te, d, chan ) ) + if ( lastHandler.canHandle( te, d, chan, mySrc ) ) return lastHandler; return null; diff --git a/core/features/registries/entries/ExternalIInv.java b/core/features/registries/entries/ExternalIInv.java index 166d93094..2efe69955 100644 --- a/core/features/registries/entries/ExternalIInv.java +++ b/core/features/registries/entries/ExternalIInv.java @@ -14,7 +14,7 @@ public class ExternalIInv implements IExternalStorageHandler { @Override - public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel) + public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource mySrc) { return channel == StorageChannel.ITEMS && te instanceof IInventory; } diff --git a/integration/modules/BCHelpers/BCPipeHandler.java b/integration/modules/BCHelpers/BCPipeHandler.java index 4d4a76e22..13c0edd9e 100644 --- a/integration/modules/BCHelpers/BCPipeHandler.java +++ b/integration/modules/BCHelpers/BCPipeHandler.java @@ -12,7 +12,7 @@ public class BCPipeHandler implements IExternalStorageHandler { @Override - public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel chan) + public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel chan, BaseActionSource mySrc) { return chan == StorageChannel.ITEMS && BC.instance.isPipe( te, d ); } diff --git a/integration/modules/helpers/FactorizationHandler.java b/integration/modules/helpers/FactorizationHandler.java index 903a6e0c2..7eaea5102 100644 --- a/integration/modules/helpers/FactorizationHandler.java +++ b/integration/modules/helpers/FactorizationHandler.java @@ -14,7 +14,7 @@ public class FactorizationHandler implements IExternalStorageHandler { @Override - public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel chan) + public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel chan, BaseActionSource mySrc) { return chan == StorageChannel.ITEMS && FZ.instance.isBarrel( te ); } diff --git a/integration/modules/helpers/MFRDSUHandler.java b/integration/modules/helpers/MFRDSUHandler.java index 11aa7bb0c..a8c297b4a 100644 --- a/integration/modules/helpers/MFRDSUHandler.java +++ b/integration/modules/helpers/MFRDSUHandler.java @@ -14,7 +14,7 @@ public class MFRDSUHandler implements IExternalStorageHandler { @Override - public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel chan) + public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel chan, BaseActionSource mySrc) { return chan == StorageChannel.ITEMS && DSU.instance.isDSU( te ); } diff --git a/me/storage/AEExternalHandler.java b/me/storage/AEExternalHandler.java index de03ba4f6..4edd5fcdb 100644 --- a/me/storage/AEExternalHandler.java +++ b/me/storage/AEExternalHandler.java @@ -16,10 +16,10 @@ public class AEExternalHandler implements IExternalStorageHandler { @Override - public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel) + public boolean canHandle(TileEntity te, ForgeDirection d, StorageChannel channel, BaseActionSource mySrc) { if ( channel == StorageChannel.ITEMS && te instanceof ITileStorageMonitorable ) - return true; + return ((ITileStorageMonitorable) te).getMonitorable( d, mySrc ) != null; return te instanceof TileCondenser; } diff --git a/parts/misc/PartStorageBus.java b/parts/misc/PartStorageBus.java index e2ef5c16b..8c0d2371e 100644 --- a/parts/misc/PartStorageBus.java +++ b/parts/misc/PartStorageBus.java @@ -241,7 +241,7 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC monitor = null; if ( target != null ) { - IExternalStorageHandler esh = AEApi.instance().registries().externalStorage().getHandler( target, side.getOpposite(), StorageChannel.ITEMS ); + IExternalStorageHandler esh = AEApi.instance().registries().externalStorage().getHandler( target, side.getOpposite(), StorageChannel.ITEMS, mySrc ); if ( esh != null ) { IMEInventory inv = esh.getInventory( target, side.getOpposite(), StorageChannel.ITEMS, mySrc );