diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java index 68d7f48e1..199710cbe 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_CircuitAssemblyLine.java @@ -79,10 +79,12 @@ import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.RecipeMaps; import gregtech.api.recipe.check.CheckRecipeResult; +import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; @@ -168,8 +170,9 @@ protected GT_Multiblock_Tooltip_Builder createTooltip() { "Does Circuit Assembler recipes, Minimum Length: " + EnumChatFormatting.RED + MINIMUM_CIRCUIT_ASSEMBLER_LENGTH + EnumChatFormatting.GRAY) + .addInfo("Recipe tier in Circuit Assembler mode is at most Energy Hatch tier - 1.") .addInfo("This mode supports Crafting Input Buffer/Bus and allows bus separation").addInfo("") - .addInfo(BW_Tooltip_Reference.TT_BLUEPRINT).addSeparator() + .addSeparator().addInfo(BW_Tooltip_Reference.TT_BLUEPRINT) .beginVariableStructureBlock(2, 7, 3, 3, 3, 3, false) .addStructureInfo("From Bottom to Top, Left to Right") .addStructureInfo( @@ -283,7 +286,19 @@ public Collection> getAvailableRecipeMaps() { @Override protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic().enablePerfectOverclock(); + return new ProcessingLogic() { + + @Override + @Nonnull + protected CheckRecipeResult validateRecipe(@Nonnull GT_Recipe recipe) { + // limit CA mode recipes to hatch tier - 1 + if (GT_TileEntity_CircuitAssemblyLine.this.mode == 1 + && recipe.mEUt > GT_TileEntity_CircuitAssemblyLine.this.getMaxInputVoltage() / 4) { + return CheckRecipeResultRegistry.NO_RECIPE; + } + return CheckRecipeResultRegistry.SUCCESSFUL; + } + }.enablePerfectOverclock(); } @NotNull