From d732f917e5f9cf4590f87c8cbacfb5aa38f1a4c3 Mon Sep 17 00:00:00 2001 From: CrazyPants Date: Fri, 14 Feb 2025 13:42:26 +0800 Subject: [PATCH 1/2] Repairing a mending item in the XP tank would void any item already in the output slot. --- .../common/blocks/fluid_tank/FluidTankBlockEntity.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java index f124e51114..eb7b547983 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java @@ -15,6 +15,8 @@ import com.enderio.machines.common.io.fluid.MachineFluidTank; import com.enderio.machines.common.io.fluid.MachineTankLayout; import com.enderio.machines.common.io.fluid.TankAccess; +import java.util.List; +import java.util.Optional; import net.minecraft.core.BlockPos; import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponentMap; @@ -41,9 +43,6 @@ import org.apache.commons.lang3.NotImplementedException; import org.jetbrains.annotations.Nullable; -import java.util.List; -import java.util.Optional; - // TODO: Rewrite this with tasks? // Could implement a task for each thing it currently has in the If's public abstract class FluidTankBlockEntity extends MachineBlockEntity implements FluidItemInteractive, FluidTankUser { @@ -338,7 +337,8 @@ private void tryMendTool() { var enchantmentsRecipe = level.registryAccess().lookupOrThrow(Registries.ENCHANTMENT); var mendingEnchantment = enchantmentsRecipe.getOrThrow(Enchantments.MENDING); - if (tool.isDamageableItem() && tool.getEnchantmentLevel(mendingEnchantment) > 0) { + if (tool.isDamageableItem() && tool.getEnchantmentLevel(mendingEnchantment) > 0 + && FLUID_DRAIN_OUTPUT.getItemStack(this).isEmpty()) { ItemStack repairedTool = tool.copy(); From 470c039ddd9fc4dc4b361f0804e91f5d528ae224 Mon Sep 17 00:00:00 2001 From: CrazyPants Date: Wed, 19 Feb 2025 17:11:53 +0800 Subject: [PATCH 2/2] Moved check up. --- .../common/blocks/fluid_tank/FluidTankBlockEntity.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java index eb7b547983..1d3dbd11e9 100644 --- a/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java +++ b/enderio-machines/src/main/java/com/enderio/machines/common/blocks/fluid_tank/FluidTankBlockEntity.java @@ -331,14 +331,14 @@ private void tryTankRecipe() { private void tryMendTool() { FluidStack fluid = TANK.getFluid(this); - if (!fluid.isEmpty() && fluid.is(EIOTags.Fluids.EXPERIENCE)) { + if (!fluid.isEmpty() && fluid.is(EIOTags.Fluids.EXPERIENCE) + && FLUID_DRAIN_OUTPUT.getItemStack(this).isEmpty()) { ItemStack tool = FLUID_DRAIN_INPUT.getItemStack(this); var enchantmentsRecipe = level.registryAccess().lookupOrThrow(Registries.ENCHANTMENT); var mendingEnchantment = enchantmentsRecipe.getOrThrow(Enchantments.MENDING); - if (tool.isDamageableItem() && tool.getEnchantmentLevel(mendingEnchantment) > 0 - && FLUID_DRAIN_OUTPUT.getItemStack(this).isEmpty()) { + if (tool.isDamageableItem() && tool.getEnchantmentLevel(mendingEnchantment) > 0) { ItemStack repairedTool = tool.copy();