From 51cb10915fcee363180c660b76ea2f8bee39e58d Mon Sep 17 00:00:00 2001 From: RemagOfficial <52126530+RemagOfficial@users.noreply.github.com> Date: Tue, 6 Aug 2024 14:47:26 +0100 Subject: [PATCH] make the etching fluid for empty PCBs its own method for customizability and better addon compat (#1319) made the etching fluid for empty PCBs its own method for customizability and better addon compat --- .../common/block/entity/EtchingTankBlockEntity.java | 4 ++-- .../me/desht/pneumaticcraft/common/item/EmptyPCBItem.java | 6 ++++++ .../common/thirdparty/jei/JEIEtchingTankCategory.java | 7 ++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/desht/pneumaticcraft/common/block/entity/EtchingTankBlockEntity.java b/src/main/java/me/desht/pneumaticcraft/common/block/entity/EtchingTankBlockEntity.java index 544395b2e..6f1065fb9 100644 --- a/src/main/java/me/desht/pneumaticcraft/common/block/entity/EtchingTankBlockEntity.java +++ b/src/main/java/me/desht/pneumaticcraft/common/block/entity/EtchingTankBlockEntity.java @@ -328,8 +328,8 @@ private class EtchingFluidTank extends SmartSyncTank { } @Override - public boolean isFluidValid(FluidStack stack) { - return stack.getFluid().is(PneumaticCraftTags.Fluids.ETCHING_ACID); + public boolean isFluidValid(FluidStack fluidStack) { + return EmptyPCBItem.getEtchingFluid().isFluidEqual(fluidStack); } } } diff --git a/src/main/java/me/desht/pneumaticcraft/common/item/EmptyPCBItem.java b/src/main/java/me/desht/pneumaticcraft/common/item/EmptyPCBItem.java index 4020cebd0..f71a3929f 100644 --- a/src/main/java/me/desht/pneumaticcraft/common/item/EmptyPCBItem.java +++ b/src/main/java/me/desht/pneumaticcraft/common/item/EmptyPCBItem.java @@ -20,6 +20,7 @@ import me.desht.pneumaticcraft.api.data.PneumaticCraftTags; import me.desht.pneumaticcraft.api.item.ICustomDurabilityBar; import me.desht.pneumaticcraft.common.block.entity.UVLightBoxBlockEntity; +import me.desht.pneumaticcraft.common.core.ModFluids; import me.desht.pneumaticcraft.common.core.ModItems; import me.desht.pneumaticcraft.lib.BlockEntityConstants; import net.minecraft.ChatFormatting; @@ -31,6 +32,7 @@ import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.minecraft.world.level.material.MapColor; +import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.Validate; import java.util.List; @@ -183,4 +185,8 @@ public ItemStack getSuccessItem() { public ItemStack getFailedItem() { return new ItemStack(ModItems.FAILED_PCB.get()); } + + public static FluidStack getEtchingFluid() { + return new FluidStack(ModFluids.ETCHING_ACID.get(), 1000); + } } diff --git a/src/main/java/me/desht/pneumaticcraft/common/thirdparty/jei/JEIEtchingTankCategory.java b/src/main/java/me/desht/pneumaticcraft/common/thirdparty/jei/JEIEtchingTankCategory.java index 13dc9e849..7210173d0 100644 --- a/src/main/java/me/desht/pneumaticcraft/common/thirdparty/jei/JEIEtchingTankCategory.java +++ b/src/main/java/me/desht/pneumaticcraft/common/thirdparty/jei/JEIEtchingTankCategory.java @@ -61,7 +61,7 @@ public void setRecipe(IRecipeLayoutBuilder builder, EtchingTankRecipe recipe, IF builder.addSlot(RecipeIngredientRole.INPUT, 1, 13) .addIngredients(recipe.input); builder.addSlot(RecipeIngredientRole.INPUT, 26, 13) - .addIngredients(ForgeTypes.FLUID_STACK, Collections.singletonList(new FluidStack(ModFluids.ETCHING_ACID.get(), 1000))); + .addIngredients(ForgeTypes.FLUID_STACK, Collections.singletonList(new FluidStack(recipe.etchingFluid, 1000))); builder.addSlot(RecipeIngredientRole.OUTPUT, 66, 1) .addItemStack(recipe.output); builder.addSlot(RecipeIngredientRole.OUTPUT, 66, 25) @@ -85,7 +85,8 @@ static List getAllRecipes() { recipes.add(new EtchingTankRecipe( Ingredient.of(inputs), emptyPCBItem.getSuccessItem(), - emptyPCBItem.getFailedItem()) + emptyPCBItem.getFailedItem(), + EmptyPCBItem.getEtchingFluid()) ); } } @@ -93,6 +94,6 @@ static List getAllRecipes() { } // pseudo-recipe - record EtchingTankRecipe(Ingredient input, ItemStack output, ItemStack failed) { + record EtchingTankRecipe(Ingredient input, ItemStack output, ItemStack failed, FluidStack etchingFluid) { } }