aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity
diff options
context:
space:
mode:
authorHoleFish <48403212+HoleFish@users.noreply.github.com>2024-11-29 02:39:44 +0800
committerGitHub <noreply@github.com>2024-11-28 18:39:44 +0000
commitec7328ebf793b9e8dadee4b66c72e421dbb6daf6 (patch)
tree0af903afa51f3c0f8eca92213ac332c1c702a474 /src/main/java/gregtech/api/metatileentity
parentff9a4a30a1d67a0cde8bd5dc79c84ef036d64b0f (diff)
downloadGT5-Unofficial-ec7328ebf793b9e8dadee4b66c72e421dbb6daf6.tar.gz
GT5-Unofficial-ec7328ebf793b9e8dadee4b66c72e421dbb6daf6.tar.bz2
GT5-Unofficial-ec7328ebf793b9e8dadee4b66c72e421dbb6daf6.zip
Fix fluid amount not updated in multiblock ui (#3561)
Co-authored-by: Martin Robertz <dream-master@gmx.net> Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
index 1958b4aa3f..875148d9b6 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEMultiBlockBase.java
@@ -19,6 +19,7 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.LongConsumer;
+import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -2695,7 +2696,15 @@ public abstract class MTEMultiBlockBase extends MetaTileEntity
|| (mOutputItems != null && mOutputItems.length > 0)))
.widget(
new FakeSyncWidget.ListSyncer<>(
- () -> mOutputFluids != null ? Arrays.asList(mOutputFluids) : Collections.emptyList(),
+ () -> mOutputFluids != null ? Arrays.stream(mOutputFluids)
+ .map(fluidStack -> new FluidStack(fluidStack, fluidStack.amount) {
+
+ @Override
+ public boolean isFluidEqual(FluidStack other) {
+ return super.isFluidEqual(other) && amount == other.amount;
+ }
+ })
+ .collect(Collectors.toList()) : Collections.emptyList(),
val -> mOutputFluids = val.toArray(new FluidStack[0]),
NetworkUtils::writeFluidStack,
NetworkUtils::readFluidStack))