From 8cef06512a147b8cd10b03ab54be845b5c4341fb Mon Sep 17 00:00:00 2001 From: PrototypeTrousers Date: Thu, 22 Jul 2021 21:50:56 -0300 Subject: [PATCH] restore breaking API change --- gradle.properties | 2 +- .../api/networking/storage/IStackWatcherHost.java | 2 +- .../appeng/fluids/parts/PartFluidLevelEmitter.java | 3 ++- src/main/java/appeng/me/cache/NetworkMonitor.java | 14 +++++++++++--- .../appeng/parts/automation/PartLevelEmitter.java | 3 ++- .../parts/reporting/AbstractPartMonitor.java | 4 +++- 6 files changed, 20 insertions(+), 8 deletions(-) diff --git a/gradle.properties b/gradle.properties index 9c672128f..6b00652b1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ aechannel=stable aebuild=7 aegroup=appeng aebasename=appliedenergistics2 -trousers=omni-fixes-v45b +trousers=omni-fixes-v45c ######################################################### # Versions # diff --git a/src/api/java/appeng/api/networking/storage/IStackWatcherHost.java b/src/api/java/appeng/api/networking/storage/IStackWatcherHost.java index f45bb14cd..87b86abad 100644 --- a/src/api/java/appeng/api/networking/storage/IStackWatcherHost.java +++ b/src/api/java/appeng/api/networking/storage/IStackWatcherHost.java @@ -47,5 +47,5 @@ public interface IStackWatcherHost * @param diffStack new stack * @param chan storage channel */ - void onStackChange( IAEStack diffStack, IStorageChannel chan ); + void onStackChange( IItemList o, IAEStack fullStack, IAEStack diffStack, IActionSource src, IStorageChannel chan ); } diff --git a/src/main/java/appeng/fluids/parts/PartFluidLevelEmitter.java b/src/main/java/appeng/fluids/parts/PartFluidLevelEmitter.java index f8e2fb344..f82a9d1f7 100644 --- a/src/main/java/appeng/fluids/parts/PartFluidLevelEmitter.java +++ b/src/main/java/appeng/fluids/parts/PartFluidLevelEmitter.java @@ -5,6 +5,7 @@ package appeng.fluids.parts; import java.util.Random; import appeng.api.networking.events.MENetworkChannelChanged; +import appeng.api.storage.data.IItemList; import appeng.fluids.helper.IConfigurableFluidInventory; import appeng.me.cache.NetworkMonitor; import net.minecraft.entity.player.EntityPlayer; @@ -113,7 +114,7 @@ public class PartFluidLevelEmitter extends PartUpgradeable implements IStackWatc } @Override - public void onStackChange( IAEStack diffStack, IStorageChannel chan ) + public void onStackChange( IItemList o, IAEStack fullStack, IAEStack diffStack, IActionSource src, IStorageChannel chan ) { if( chan == AEApi.instance().storage().getStorageChannel( IFluidStorageChannel.class ) && diffStack.equals( this.config.getFluidInSlot( 0 ) ) ) { diff --git a/src/main/java/appeng/me/cache/NetworkMonitor.java b/src/main/java/appeng/me/cache/NetworkMonitor.java index 3a26fa325..b8f6d1ad9 100644 --- a/src/main/java/appeng/me/cache/NetworkMonitor.java +++ b/src/main/java/appeng/me/cache/NetworkMonitor.java @@ -219,7 +219,7 @@ public class NetworkMonitor> implements IMEMonitor protected void postChange( final boolean add, final Iterable changes, final IActionSource src ) { - if ( GLOBAL_DEPTH.contains( this )) + if( GLOBAL_DEPTH.contains( this ) ) { return; } @@ -228,7 +228,7 @@ public class NetworkMonitor> implements IMEMonitor this.sendEvent = true; - for ( final T changedItem : changes ) + for( final T changedItem : changes ) { if( !add && changedItem != null ) { @@ -244,11 +244,19 @@ public class NetworkMonitor> implements IMEMonitor if( !list.isEmpty() ) { + IAEStack fullStack = this.getStorageList().findPrecise( changedItem ); + + if( fullStack == null ) + { + fullStack = changedItem.copy(); + fullStack.setStackSize( 0 ); + } + this.myGridCache.getInterestManager().enableTransactions(); for( final ItemWatcher iw : list ) { - iw.getHost().onStackChange( changedItem, this.getChannel() ); + iw.getHost().onStackChange( this.getStorageList(), fullStack, changedItem, src, this.getChannel() ); } this.myGridCache.getInterestManager().disableTransactions(); diff --git a/src/main/java/appeng/parts/automation/PartLevelEmitter.java b/src/main/java/appeng/parts/automation/PartLevelEmitter.java index 9993a0518..3ae713022 100644 --- a/src/main/java/appeng/parts/automation/PartLevelEmitter.java +++ b/src/main/java/appeng/parts/automation/PartLevelEmitter.java @@ -41,6 +41,7 @@ import appeng.api.storage.IStorageChannel; import appeng.api.storage.channels.IItemStorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEStack; +import appeng.api.storage.data.IItemList; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; import appeng.api.util.IConfigManager; @@ -362,7 +363,7 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH } @Override - public void onStackChange( final IAEStack diffStack, final IStorageChannel chan ) + public void onStackChange( IItemList o, IAEStack fullStack, IAEStack diffStack, IActionSource src, IStorageChannel chan ) { if( chan == AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ) ) { diff --git a/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java b/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java index 8bedf4948..24bd253dd 100644 --- a/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java +++ b/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java @@ -24,8 +24,10 @@ import java.io.IOException; import appeng.api.networking.events.MENetworkChannelsChanged; import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; +import appeng.api.networking.security.IActionSource; import appeng.api.storage.channels.IFluidStorageChannel; import appeng.api.storage.data.IAEFluidStack; +import appeng.api.storage.data.IItemList; import appeng.fluids.util.AEFluidStack; import io.netty.buffer.ByteBuf; @@ -460,7 +462,7 @@ public abstract class AbstractPartMonitor extends AbstractPartDisplay implements } @Override - public void onStackChange( final IAEStack diffStack, final IStorageChannel chan ) + public void onStackChange( IItemList o, IAEStack fullStack, IAEStack diffStack, IActionSource src, IStorageChannel chan ) { if( this.configuredItem != null ) {