diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index 0102ab82..3ce10f3b 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -11,6 +11,8 @@ import java.util.stream.Collectors; import java.util.stream.IntStream; +import javax.annotation.Nullable; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -49,11 +51,13 @@ import gregtech.api.metatileentity.implementations.*; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; +import gregtech.api.recipe.check.FindRecipeResult; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_HatchElementBuilder; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.IDualInputHatch; @@ -219,12 +223,26 @@ protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { return CheckRecipeResultRegistry.SUCCESSFUL; } + @NotNull + @Override + protected FindRecipeResult findRecipe(@Nullable GT_Recipe_Map map) { + if (map == null) return FindRecipeResult.NOT_FOUND; + return map.findRecipeWithResult( + lastRecipe, + false, + false, + availableVoltage, + inputFluids, + specialSlotItem, + inputItems); + } + @NotNull @Override protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) { return super.createOverclockCalculator(recipe).setSpeedBoost(mode == 0 ? 1 : 0.5F); } - }.setMaxParallelSupplier(() -> (int) Math.pow(2, 4 + (casingTier + 1))); + }.setMaxParallelSupplier(() -> mode == 0 ? 1 : (int) Math.pow(2, 4 + (casingTier + 1))); } @Override @@ -232,7 +250,7 @@ protected void setProcessingLogicPower(ProcessingLogic logic) { boolean useSingleAmp = mEnergyHatches.size() == 1 && mExoticEnergyHatches.size() == 0; logic.setAvailableVoltage(getMachineVoltageLimit()); logic.setAvailableAmperage(useSingleAmp ? 1 : getMaxInputAmps()); - logic.setAmperageOC(false); + logic.setAmperageOC(true); } @Override