From a108986cbbd4467e96b9cc7a667048deed59a7c6 Mon Sep 17 00:00:00 2001 From: daxsc <32306994+daxsc@users.noreply.github.com> Date: Thu, 30 Apr 2026 18:11:06 +0200 Subject: [PATCH] Fix item config blocking fluid interface (#423) --- .../common/parts/PartFluidInterface.java | 20 +++++++++++++++++++ .../common/parts/PartFluidP2PInterface.java | 20 +++++++++++++++++++ .../common/tile/TileFluidInterface.java | 18 +++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java b/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java index 7f49d749..a28f1749 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidInterface.java @@ -1,8 +1,13 @@ package com.glodblock.github.common.parts; +import static appeng.util.item.AEFluidStackType.FLUID_STACK_TYPE; +import static appeng.util.item.AEItemStackType.ITEM_STACK_TYPE; + import java.io.IOException; import java.util.List; +import javax.annotation.Nullable; + import net.minecraft.client.gui.GuiButton; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -11,6 +16,8 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; +import org.jetbrains.annotations.NotNull; + import com.glodblock.github.client.FluidInterfaceButtons; import com.glodblock.github.common.item.ItemFluidPacket; import com.glodblock.github.inventory.AEFluidInventory; @@ -29,6 +36,7 @@ import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEFluidStack; +import appeng.api.storage.data.IAEStackType; import appeng.helpers.ICustomButtonDataObject; import appeng.helpers.ICustomButtonProvider; import appeng.parts.misc.PartInterface; @@ -90,6 +98,18 @@ public class PartFluidInterface extends PartInterface implements IDualHost, ICus return this.fluidDuality.getFluidInventory(); } + @Override + @Nullable + public IMEMonitor getMEMonitor(@NotNull IAEStackType type) { + if (type == ITEM_STACK_TYPE) { + return this.getItemInventory(); + } else if (type == FLUID_STACK_TYPE) { + return this.getFluidInventory(); + } + + return this.fluidDuality.getMEMonitor(type); + } + @Override public AppEngInternalAEInventory getConfig() { Util.mirrorFluidToPacket(this.config, fluidDuality.getConfig()); diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java b/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java index 9e685a0a..d30e98ef 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidP2PInterface.java @@ -1,7 +1,12 @@ package com.glodblock.github.common.parts; +import static appeng.util.item.AEFluidStackType.FLUID_STACK_TYPE; +import static appeng.util.item.AEItemStackType.ITEM_STACK_TYPE; + import java.util.List; +import javax.annotation.Nullable; + import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -12,6 +17,8 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; +import org.jetbrains.annotations.NotNull; + import com.glodblock.github.client.FluidInterfaceButtons; import com.glodblock.github.common.item.ItemFluidPacket; import com.glodblock.github.inventory.AEFluidInventory; @@ -27,6 +34,7 @@ import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEFluidStack; +import appeng.api.storage.data.IAEStackType; import appeng.api.util.IConfigManager; import appeng.helpers.DualityInterface; import appeng.helpers.ICustomButtonDataObject; @@ -159,6 +167,18 @@ public class PartFluidP2PInterface extends PartP2PInterface implements IDualHost return this.dualityFluid.getFluidInventory(); } + @Override + @Nullable + public IMEMonitor getMEMonitor(@NotNull IAEStackType type) { + if (type == ITEM_STACK_TYPE) { + return this.getItemInventory(); + } else if (type == FLUID_STACK_TYPE) { + return this.getFluidInventory(); + } + + return this.dualityFluid.getMEMonitor(type); + } + @Override public AppEngInternalAEInventory getConfig() { Util.mirrorFluidToPacket(config, dualityFluid.getConfig()); diff --git a/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java b/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java index c9511fb6..d57f78d5 100644 --- a/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java +++ b/src/main/java/com/glodblock/github/common/tile/TileFluidInterface.java @@ -1,5 +1,8 @@ package com.glodblock.github.common.tile; +import static appeng.util.item.AEFluidStackType.FLUID_STACK_TYPE; +import static appeng.util.item.AEItemStackType.ITEM_STACK_TYPE; + import java.io.IOException; import java.util.List; @@ -14,6 +17,8 @@ import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; +import org.jetbrains.annotations.NotNull; + import com.glodblock.github.client.FluidInterfaceButtons; import com.glodblock.github.common.item.ItemFluidPacket; import com.glodblock.github.inventory.AEFluidInventory; @@ -34,6 +39,7 @@ import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEFluidStack; +import appeng.api.storage.data.IAEStackType; import appeng.api.util.IConfigManager; import appeng.helpers.ICustomButtonDataObject; import appeng.helpers.ICustomButtonProvider; @@ -110,6 +116,18 @@ public class TileFluidInterface extends TileInterface implements IDualHost, ICus return config; } + @Override + @Nullable + public IMEMonitor getMEMonitor(@NotNull IAEStackType type) { + if (type == ITEM_STACK_TYPE) { + return this.getItemInventory(); + } else if (type == FLUID_STACK_TYPE) { + return this.getFluidInventory(); + } + + return this.fluidDuality.getMEMonitor(type); + } + @Override public TickingRequest getTickingRequest(IGridNode node) { TickingRequest item = super.getTickingRequest(node);