From 8ce44170ef99907b36d1f2c9d0aef6f4aa16426c Mon Sep 17 00:00:00 2001 From: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:25:32 +0200 Subject: Add bonus for using higher tier CoAl casings (#2668) * add bonus for higher tier casings * add tooltip info --- .../blocks/tileEntity/ComponentAssemblyLine.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java b/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java index 618477d09c..190b572046 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/ComponentAssemblyLine.java @@ -8,6 +8,8 @@ import static gregtech.api.enums.Textures.BlockIcons.*; import java.util.stream.Collectors; import java.util.stream.IntStream; +import javax.annotation.Nonnull; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -39,6 +41,7 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.render.TextureFactory; 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_StructureUtility; import gregtech.api.util.GT_Utility; @@ -47,6 +50,7 @@ public class ComponentAssemblyLine extends GT_MetaTileEntity_ExtendedPowerMultiB implements ISurvivalConstructable { private int casingTier; + private float speedBonus; protected static final String STRUCTURE_PIECE_MAIN = "main"; private static final IStructureDefinition STRUCTURE_DEFINITION = StructureDefinition .builder() @@ -219,6 +223,8 @@ public class ComponentAssemblyLine extends GT_MetaTileEntity_ExtendedPowerMultiB + EnumChatFormatting.RESET + EnumChatFormatting.GRAY + "limits the recipes the machine can perform. See the NEI pages for details.") + .addInfo("Using casings above the required recipe tier provides a speed bonus:") + .addInfo(EnumChatFormatting.YELLOW + "Halves recipe time per tier above recipe") .addInfo( "Supports " + EnumChatFormatting.BLUE + "Tec" @@ -311,6 +317,13 @@ public class ComponentAssemblyLine extends GT_MetaTileEntity_ExtendedPowerMultiB } return CheckRecipeResultRegistry.SUCCESSFUL; } + + @Nonnull + @Override + protected GT_OverclockCalculator createOverclockCalculator(@Nonnull GT_Recipe recipe) { + speedBonus = (float) (1 / Math.pow(2, casingTier + 1 - recipe.mSpecialValue)); + return super.createOverclockCalculator(recipe).setSpeedBoost(speedBonus); + } }; } -- cgit