From e27aeb179e8444317a2a0f202bee13eed02a6568 Mon Sep 17 00:00:00 2001 From: Julia Dijkstra Date: Thu, 13 Feb 2025 20:38:33 +0100 Subject: [PATCH] Do not remove cached fluids to prevent excessive calls to `provideCrafting` --- .../github/common/tile/TileFluidAutoFiller.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/glodblock/github/common/tile/TileFluidAutoFiller.java b/src/main/java/com/glodblock/github/common/tile/TileFluidAutoFiller.java index 44c3eb5c3..4e4e97e3f 100644 --- a/src/main/java/com/glodblock/github/common/tile/TileFluidAutoFiller.java +++ b/src/main/java/com/glodblock/github/common/tile/TileFluidAutoFiller.java @@ -145,9 +145,10 @@ private IStorageGrid getStorageGrid() { public void provideCrafting(ICraftingProviderHelper craftingTracker) { IStorageGrid storage = getStorageGrid(); if (storage == null) return; - IItemList fluidStorage = this.fluids.isEmpty() ? storage.getFluidInventory().getStorageList() - : this.fluids; - for (IAEFluidStack fluidStack : fluidStorage) { + if (this.fluids.isEmpty()) { + this.fluids = storage.getFluidInventory().getStorageList(); + } + for (IAEFluidStack fluidStack : this.fluids) { Fluid fluid = fluidStack.getFluid(); if (fluid == null) continue; int maxCapacity = Util.FluidUtil.getCapacity(this.getContainerItem(), fluid); @@ -212,12 +213,10 @@ public void postChange(IBaseMonitor monitor, Iterable stored = this.getStorageGrid().getFluidInventory().getStorageList(); for (IAEFluidStack tmp : change) { - if (stored.findPrecise(tmp) == null || this.fluids.findPrecise(tmp) == null) { + if (this.fluids.findPrecise(tmp) == null) { hasChanged = true; - this.fluids = stored; - break; + this.fluids.add(tmp); } } if (hasChanged) postEvent();