From eab695b692b7a40dc3e22715da781400a0de3b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salom=C3=A3o?= Date: Thu, 17 Jun 2021 23:32:16 -0300 Subject: [PATCH] try to not void fluids in fluid terminal when running out of power --- src/main/java/appeng/container/slot/AppEngSlot.java | 2 +- src/main/java/appeng/core/api/ApiStorage.java | 2 +- .../appeng/fluids/container/ContainerFluidTerminal.java | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/appeng/container/slot/AppEngSlot.java b/src/main/java/appeng/container/slot/AppEngSlot.java index 4992a31d4..8fd494707 100644 --- a/src/main/java/appeng/container/slot/AppEngSlot.java +++ b/src/main/java/appeng/container/slot/AppEngSlot.java @@ -157,7 +157,7 @@ public class AppEngSlot extends Slot { if( this.isSlotEnabled() ) { - return !this.itemHandler.extractItem( this.index, 1, true ).isEmpty(); + return !this.itemHandler.extractItem( this.index, Integer.MAX_VALUE, true ).isEmpty(); } return false; } diff --git a/src/main/java/appeng/core/api/ApiStorage.java b/src/main/java/appeng/core/api/ApiStorage.java index 3fa4b90c8..522926600 100644 --- a/src/main/java/appeng/core/api/ApiStorage.java +++ b/src/main/java/appeng/core/api/ApiStorage.java @@ -175,7 +175,7 @@ public class ApiStorage implements IStorageHelper @Override public int transferFactor() { - return 125; + return 1000; } @Override diff --git a/src/main/java/appeng/fluids/container/ContainerFluidTerminal.java b/src/main/java/appeng/fluids/container/ContainerFluidTerminal.java index cc570f473..139d4365d 100644 --- a/src/main/java/appeng/fluids/container/ContainerFluidTerminal.java +++ b/src/main/java/appeng/fluids/container/ContainerFluidTerminal.java @@ -446,7 +446,11 @@ public class ContainerFluidTerminal extends AEBaseContainer implements IConfigMa if( notInserted != null && notInserted.getStackSize() > 0 ) { - AELog.error( "Fluid item [%s] reported a different possible amount to drain than it actually provided.", held.getDisplayName() ); + IAEFluidStack spill = this.monitor.injectItems( notInserted, Actionable.MODULATE, this.getActionSource() ); + if( spill != null && spill.getStackSize() > 0 ) + { + fh.fill( spill.getFluidStack(), true ); + } } player.inventory.setItemStack( fh.getContainer() );