From ac630751d1dc42d4baeffcfde7f1c6f6bb33c4a2 Mon Sep 17 00:00:00 2001 From: MCTian-mi <35869948+MCTian-mi@users.noreply.github.com> Date: Sun, 23 Nov 2025 17:46:35 +0800 Subject: [PATCH] refactor: yeet the `removeTagWhenEmpty` in `FluidHandlerIS`s --- .../impl/GTFluidHandlerItemStack.java | 21 ++++---------- .../impl/GTSimpleFluidHandlerItemStack.java | 29 ++++++------------- 2 files changed, 14 insertions(+), 36 deletions(-) diff --git a/src/main/java/gregtech/api/capability/impl/GTFluidHandlerItemStack.java b/src/main/java/gregtech/api/capability/impl/GTFluidHandlerItemStack.java index 8e1d72cda81..5aa215e9199 100644 --- a/src/main/java/gregtech/api/capability/impl/GTFluidHandlerItemStack.java +++ b/src/main/java/gregtech/api/capability/impl/GTFluidHandlerItemStack.java @@ -69,22 +69,11 @@ public IFluidTankProperties[] getTankProperties() { } @Override - public FluidStack drain(FluidStack resource, boolean doDrain) { - FluidStack drained = super.drain(resource, doDrain); - this.removeTagWhenEmpty(doDrain); - return drained; - } - - @Override - public FluidStack drain(int maxDrain, boolean doDrain) { - FluidStack drained = super.drain(maxDrain, doDrain); - this.removeTagWhenEmpty(doDrain); - return drained; - } - - private void removeTagWhenEmpty(boolean doDrain) { - if (doDrain && this.getFluid() == null) { - this.container.setTagCompound(null); + protected void setContainerToEmpty() { + super.setContainerToEmpty(); + var tag = container.getTagCompound(); + if (tag != null && tag.isEmpty()) { + container.setTagCompound(null); } } diff --git a/src/main/java/gregtech/api/capability/impl/GTSimpleFluidHandlerItemStack.java b/src/main/java/gregtech/api/capability/impl/GTSimpleFluidHandlerItemStack.java index 8e1116ceb5b..e14cc261dad 100644 --- a/src/main/java/gregtech/api/capability/impl/GTSimpleFluidHandlerItemStack.java +++ b/src/main/java/gregtech/api/capability/impl/GTSimpleFluidHandlerItemStack.java @@ -68,26 +68,6 @@ public IFluidTankProperties[] getTankProperties() { return properties; } - @Override - public FluidStack drain(FluidStack resource, boolean doDrain) { - FluidStack drained = super.drain(resource, doDrain); - this.removeTagWhenEmpty(doDrain); - return drained; - } - - @Override - public FluidStack drain(int maxDrain, boolean doDrain) { - FluidStack drained = super.drain(maxDrain, doDrain); - this.removeTagWhenEmpty(doDrain); - return drained; - } - - private void removeTagWhenEmpty(boolean doDrain) { - if (doDrain && this.getFluid() == null) { - this.container.setTagCompound(null); - } - } - @Override public boolean canFillFluidType(FluidStack fluid) { return canFill() && (this.filter == null || this.filter.test(fluid)); @@ -98,6 +78,15 @@ public boolean canDrainFluidType(FluidStack fluid) { return canDrain(); } + @Override + protected void setContainerToEmpty() { + super.setContainerToEmpty(); + var tag = container.getTagCompound(); + if (tag != null && tag.isEmpty()) { + container.setTagCompound(null); + } + } + private final class TankProperties implements IFluidTankProperties { @Nullable