From ec7328ebf793b9e8dadee4b66c72e421dbb6daf6 Mon Sep 17 00:00:00 2001 From: HoleFish <48403212+HoleFish@users.noreply.github.com> Date: Fri, 29 Nov 2024 02:39:44 +0800 Subject: Fix fluid amount not updated in multiblock ui (#3561) Co-authored-by: Martin Robertz Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- .../api/metatileentity/implementations/MTEMultiBlockBase.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api/metatileentity') 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)) -- cgit