diff options
Diffstat (limited to 'src/main/java/gregtech/api')
6 files changed, 34 insertions, 63 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicGenerator.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicGenerator.java index ac923bc699..963acf191f 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicGenerator.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicGenerator.java @@ -305,7 +305,9 @@ public abstract class MTEBasicGenerator extends MTEBasicTank implements RecipeMa public long getFuelValue(ItemStack aStack, boolean aLong) { if (GTUtility.isStackInvalid(aStack) || getRecipeMap() == null) return 0; - GTRecipe tFuel = getRecipeMap().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack); + GTRecipe tFuel = getRecipeMap().findRecipeQuery() + .items(aStack) + .find(); if (tFuel == null) return 0; long liters = 10L; // 1000mb/100 @@ -314,7 +316,9 @@ public abstract class MTEBasicGenerator extends MTEBasicTank implements RecipeMa public ItemStack getEmptyContainer(ItemStack aStack) { if (GTUtility.isStackInvalid(aStack) || getRecipeMap() == null) return null; - GTRecipe tFuel = getRecipeMap().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack); + GTRecipe tFuel = getRecipeMap().findRecipeQuery() + .items(aStack) + .find(); if (tFuel != null) return GTUtility.copyOrNull(tFuel.getOutput(0)); return GTUtility.getContainerItem(aStack, true); } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java index 507a807a76..2ede5545d1 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineBronze.java @@ -189,7 +189,10 @@ public abstract class MTEBasicMachineBronze extends MTEBasicMachine { @Override public int checkRecipe() { - GTRecipe tRecipe = getRecipeMap().findRecipe(getBaseMetaTileEntity(), false, TierEU.LV, null, getAllInputs()); + GTRecipe tRecipe = getRecipeMap().findRecipeQuery() + .items(getAllInputs()) + .voltage(TierEU.LV) + .find(); if ((tRecipe != null) && (canOutput(tRecipe.mOutputs)) && (tRecipe.isRecipeInputEqual(true, null, getAllInputs()))) { this.mOutputItems[0] = tRecipe.getOutput(0); diff --git a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineWithRecipe.java b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineWithRecipe.java index b5bd3d77e1..8d13ab18c4 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineWithRecipe.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/MTEBasicMachineWithRecipe.java @@ -14,7 +14,6 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture; @@ -576,16 +575,15 @@ public class MTEBasicMachineWithRecipe extends MTEBasicMachine { if (this.getFillableStack() == null) return this.getRecipeMap() .containsInput(aStack); else return this.getRecipeMap() - .findRecipe( - this.getBaseMetaTileEntity(), - this.mLastRecipe, - true, - true, - V[this.mTier], - new FluidStack[] { this.getFillableStack() }, - this.getSpecialSlot(), - appendSelectedCircuit(aStack)) - != null; + .findRecipeQuery() + .items(appendSelectedCircuit(aStack)) + .fluids(this.getFillableStack()) + .specialSlot(this.getSpecialSlot()) + .voltage(V[this.mTier]) + .cachedRecipe(this.mLastRecipe) + .dontCheckStackSizes(true) + .notUnificated(true) + .find() != null; } case 2 -> { return ((this.getInputAt(0) != null && this.getInputAt(1) != null) @@ -594,17 +592,17 @@ public class MTEBasicMachineWithRecipe extends MTEBasicMachine { : (this.getRecipeMap() .containsInput(aStack) && this.getRecipeMap() - .findRecipe( - this.getBaseMetaTileEntity(), - this.mLastRecipe, - true, - true, - V[this.mTier], - new FluidStack[] { this.getFillableStack() }, - this.getSpecialSlot(), + .findRecipeQuery() + .items( aIndex == this.getInputSlot() ? appendSelectedCircuit(aStack, this.getInputAt(1)) : appendSelectedCircuit(this.getInputAt(0), aStack)) - != null))); + .fluids(this.getFillableStack()) + .specialSlot(this.getSpecialSlot()) + .voltage(V[this.mTier]) + .cachedRecipe(this.mLastRecipe) + .dontCheckStackSizes(true) + .notUnificated(true) + .find() != null))); } default -> { int tID = this.getBaseMetaTileEntity() diff --git a/src/main/java/gregtech/api/recipe/FindRecipeQuery.java b/src/main/java/gregtech/api/recipe/FindRecipeQuery.java index 16702b6be6..3f63043d6c 100644 --- a/src/main/java/gregtech/api/recipe/FindRecipeQuery.java +++ b/src/main/java/gregtech/api/recipe/FindRecipeQuery.java @@ -142,7 +142,7 @@ public final class FindRecipeQuery { /** * @param voltage Recipes that exceed this voltage won't match. It will be automatically multiplied by amperage - * of the recipemap. + * of the recipemap. By default, voltage is set to max Integer, meaning no voltage check. */ public FindRecipeQuery voltage(long voltage) { this.voltage = voltage; diff --git a/src/main/java/gregtech/api/recipe/RecipeMap.java b/src/main/java/gregtech/api/recipe/RecipeMap.java index 669c7de2cf..9fb504c0a4 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMap.java +++ b/src/main/java/gregtech/api/recipe/RecipeMap.java @@ -21,7 +21,6 @@ import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.Unmodifiable; import gregtech.api.interfaces.IRecipeMap; -import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; import gregtech.api.util.FieldsAreNonnullByDefault; import gregtech.api.util.GTRecipe; import gregtech.api.util.GTRecipeBuilder; @@ -207,8 +206,6 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { return aFluid != null && backend.containsInput(aFluid); } - // region find recipe - /** * @return Entrypoint for fluent API for finding recipe. */ @@ -216,41 +213,6 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { return new FindRecipeQuery(this); } - @Nullable - public GTRecipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, boolean aNotUnificated, long aVoltage, - @Nullable FluidStack[] aFluids, @Nullable ItemStack... aInputs) { - return findRecipe(aTileEntity, null, aNotUnificated, aVoltage, aFluids, null, aInputs); - } - - @Nullable - public GTRecipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, boolean aNotUnificated, - boolean aDontCheckStackSizes, long aVoltage, @Nullable FluidStack[] aFluids, @Nullable ItemStack... aInputs) { - return findRecipe(aTileEntity, null, aNotUnificated, aDontCheckStackSizes, aVoltage, aFluids, null, aInputs); - } - - @Nullable - public GTRecipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, @Nullable GTRecipe aRecipe, - boolean aNotUnificated, long aVoltage, @Nullable FluidStack[] aFluids, @Nullable ItemStack aSpecialSlot, - @Nullable ItemStack... aInputs) { - return findRecipe(aTileEntity, aRecipe, aNotUnificated, false, aVoltage, aFluids, aSpecialSlot, aInputs); - } - - @Nullable - public GTRecipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, @Nullable GTRecipe aRecipe, - boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, @Nullable FluidStack[] aFluids, - @Nullable ItemStack aSpecialSlot, @Nullable ItemStack... aInputs) { - return findRecipeQuery().items(aInputs != null ? aInputs : new ItemStack[0]) - .fluids(aFluids != null ? aFluids : new FluidStack[0]) - .specialSlot(aSpecialSlot) - .voltage(aVoltage) - .cachedRecipe(aRecipe) - .notUnificated(aNotUnificated) - .dontCheckStackSizes(aDontCheckStackSizes) - .find(); - } - - // endregion - @Override public String toString() { return "RecipeMap{" + "unlocalizedName='" diff --git a/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java b/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java index d339f8acfd..12d8a38757 100644 --- a/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java +++ b/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java @@ -302,7 +302,11 @@ public class SingleRecipeCheck { .map(FluidStack::loadFluidStackFromNBT) .toArray(FluidStack[]::new); int eut = tag.getInteger("eut"); - GTRecipe found = recipeMap.findRecipe(null, false, GTValues.V[GTUtility.getTier(eut)], fInputs, inputs); + GTRecipe found = recipeMap.findRecipeQuery() + .items(inputs) + .fluids(fInputs) + .voltage(GTValues.V[GTUtility.getTier(eut)]) + .find(); int[] chances = tag.getIntArray("chances"); if (chances.length == 0) chances = null; if (found == null || !GTUtility.equals(inputs, found.mInputs) |