diff --git a/CHANGELOG.md b/CHANGELOG.md index b15913e589..1d7bb07118 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,28 +1,13 @@ # ChangeLog -Version: 1.2.0 +Version: 1.2.0.a ### ADDITIONS: -- Ported the new Research System for Late Game from 1.12: - - Assembly lines now require "Research Data" to run recipes. Data is provided by Data Sticks in Hatches or Data Banks. - - Later tier Research Data requires more complex means of computation. Introducing the HPCA and Research Station. -- Added Portable Scanner -- Added Multiblock Fluid Tanks ### CHANGES: -- Improved recipe viewer widgets -- Updated Power Substation UI to show separate values for input and output -- Removed the recipes for Processing Arrays - - **IMPORTANT:** Your existing PAs will only continue to work until 1.3.0, at which point we will remove them entirely. - Please replace them with the appropriate specialized multiblocks until then! -- Updated Russian and Chinese translations ### FIXES: -- Fixed Multiblocks with only 1 Energy/Dynamo Hatch not overclocking -- Fixed Energy Hatch amounts in Multiblocks -- Fixed high-tier Emitters not existing -- Fixed surface rock descriptions -- Fixed plungers not working -- Fixed ME Input Hatch and ME Output Bus -- Fixed number formatting in certain places -- Fixed Large Boilers requiring a Maintenance Hatch when maintenance is disabled in the config \ No newline at end of file +- Fixed some components not requiring data +- Fixed assembly line recipes with no data not working +- Fixed data module recipe being missing +- Fixed tiered multiblock builders not working \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 8fb86242e3..8643ac3386 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs = -Xmx6G # Mod Info mod_id = gtceu mod_name = GregTech -mod_version = 1.2.0 +mod_version = 1.2.0.a mod_description = GregTech CE Unofficial, ported from 1.12.2 mod_license = LGPL-3.0 license mod_url = https://github.com/GregTechCEu/GregTech-Modern/ diff --git a/settings.gradle b/settings.gradle index bdbabd3789..9946288683 100644 --- a/settings.gradle +++ b/settings.gradle @@ -42,7 +42,7 @@ dependencyResolutionManagement { def architecturyPluginVersion = "3.4-SNAPSHOT" def architecturyLoomVersion = "1.5-SNAPSHOT" def macheteVersion = "1.+" - def ldLibVersion = "1.0.25.c" + def ldLibVersion = "1.0.25.d" def mixinextrasVersion = "0.2.0" forge { diff --git a/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/CWURecipeCapability.java b/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/CWURecipeCapability.java index f4b8273cf4..98b64bf8da 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/CWURecipeCapability.java +++ b/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/CWURecipeCapability.java @@ -38,7 +38,7 @@ public Integer copyWithModifier(Integer content, ContentModifier modifier) { public void addXEIInfo(WidgetGroup group, int xOffset, List contents, boolean perTick, boolean isInput, MutableInt yOffset) { if (perTick && isInput) { int cwu = contents.stream().map(Content::getContent).mapToInt(CWURecipeCapability.CAP::of).sum(); - group.addWidget(new LabelWidget(3 - xOffset, yOffset.getAndAdd(10), LocalizationUtils.format("gtceu.recipe.computation_per_tick", cwu))); + group.addWidget(new LabelWidget(3 - xOffset, yOffset.addAndGet(10), LocalizationUtils.format("gtceu.recipe.computation_per_tick", cwu))); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java index 8ebdae9904..c82129dc9b 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleGeneratorMachine.java @@ -25,6 +25,8 @@ import org.jetbrains.annotations.NotNull; import javax.annotation.ParametersAreNonnullByDefault; +import java.util.Collections; +import java.util.List; import java.util.function.BiFunction; /** @@ -117,6 +119,7 @@ public boolean canVoidRecipeOutputs(RecipeCapability capability) { generatorMachine.importFluids, generatorMachine.exportFluids, new CompoundTag(), + Collections.emptyList(), false, false)); createEnergyBar().setupUI(template, generatorMachine); } diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java index d787d286c5..1f3261f1fc 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/SimpleTieredMachine.java @@ -52,6 +52,7 @@ import org.jetbrains.annotations.Nullable; import javax.annotation.ParametersAreNonnullByDefault; +import java.util.Collections; import java.util.List; import java.util.Set; import java.util.function.BiFunction; @@ -379,6 +380,7 @@ public void attachConfigurators(ConfiguratorPanel configuratorPanel) { tieredMachine.importFluids, tieredMachine.exportFluids, new CompoundTag(), + Collections.emptyList(), false, false)); createBatterySlot().setupUI(template, tieredMachine); // createCircuitConfigurator().setupUI(template, tieredMachine); diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/steam/SimpleSteamMachine.java b/src/main/java/com/gregtechceu/gtceu/api/machine/steam/SimpleSteamMachine.java index 3e9b3d981f..2caa070091 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/steam/SimpleSteamMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/steam/SimpleSteamMachine.java @@ -36,6 +36,7 @@ import org.jetbrains.annotations.NotNull; import javax.annotation.ParametersAreNonnullByDefault; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -156,7 +157,7 @@ public void afterWorking() { @Override public ModularUI createUI(Player entityPlayer) { - var group = getRecipeType().getRecipeUI().createUITemplate(recipeLogic::getProgressPercent, importItems.storage, exportItems.storage, IFluidTransfer.EMPTY, IFluidTransfer.EMPTY, new CompoundTag(), true, isHighPressure); + var group = getRecipeType().getRecipeUI().createUITemplate(recipeLogic::getProgressPercent, importItems.storage, exportItems.storage, IFluidTransfer.EMPTY, IFluidTransfer.EMPTY, new CompoundTag(), Collections.emptyList(), true, isHighPressure); Position pos = new Position((Math.max(group.getSize().width + 4 + 8, 176) - 4 - group.getSize().width) / 2 + 4, 32); group.setSelfPosition(pos); return new ModularUI(176, 166, this, entityPlayer) diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/ResearchData.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/ResearchData.java index 0e67b93e10..5d90ed21e8 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/ResearchData.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/ResearchData.java @@ -1,13 +1,19 @@ package com.gregtechceu.gtceu.api.recipe; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.gregtechceu.gtceu.GTCEu; +import com.mojang.serialization.JsonOps; import lombok.AllArgsConstructor; import lombok.Getter; import net.minecraft.nbt.CompoundTag; -import net.minecraft.nbt.ListTag; import net.minecraft.world.item.ItemStack; - import org.jetbrains.annotations.NotNull; -import java.util.*; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; @AllArgsConstructor public final class ResearchData implements Iterable { @@ -31,18 +37,18 @@ public Iterator iterator() { return this.entries.iterator(); } - public static ResearchData fromNBT(ListTag tag) { + public static ResearchData fromJson(JsonArray array) { List entries = new ArrayList<>(); - for (int i = 0; i < tag.size(); ++i) { - entries.add(ResearchEntry.fromNBT(tag.getCompound(i))); + for (int i = 0; i < array.size(); ++i) { + entries.add(ResearchEntry.fromJson(array.get(i).getAsJsonObject())); } return new ResearchData(entries); } - public ListTag toNBT() { - ListTag tag = new ListTag(); - this.entries.forEach(entry -> tag.add(entry.toNBT())); - return tag; + public JsonArray toJson() { + JsonArray json = new JsonArray(); + this.entries.forEach(entry -> json.add(entry.toJson())); + return json; } /** @@ -68,15 +74,15 @@ public ResearchEntry(@NotNull String researchId, @NotNull ItemStack dataItem) { this.dataItem = dataItem; } - public static ResearchEntry fromNBT(CompoundTag tag) { - return new ResearchEntry(tag.getString("researchId"), ItemStack.of(tag.getCompound("dataItem"))); + public static ResearchEntry fromJson(JsonObject tag) { + return new ResearchEntry(tag.get("researchId").getAsString(), ItemStack.CODEC.parse(JsonOps.INSTANCE, tag.get("dataItem")).getOrThrow(false, GTCEu.LOGGER::error)); } - public CompoundTag toNBT() { - CompoundTag tag = new CompoundTag(); - tag.putString("researchId", researchId); - tag.put("dataItem", dataItem.save(new CompoundTag())); - return tag; + public JsonObject toJson() { + JsonObject json = new JsonObject(); + json.addProperty("researchId", researchId); + json.add("dataItem", ItemStack.CODEC.encodeStart(JsonOps.INSTANCE, dataItem).getOrThrow(false, GTCEu.LOGGER::error)); + return json; } } } \ No newline at end of file diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/ui/GTRecipeTypeUI.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/ui/GTRecipeTypeUI.java index 3c1da243b8..0e93b79cb2 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/ui/GTRecipeTypeUI.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/ui/GTRecipeTypeUI.java @@ -10,7 +10,9 @@ import com.gregtechceu.gtceu.api.gui.widget.DualProgressWidget; import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.GTRecipeType; +import com.gregtechceu.gtceu.api.recipe.RecipeCondition; import com.gregtechceu.gtceu.api.recipe.ResearchData; +import com.gregtechceu.gtceu.common.recipe.ResearchCondition; import com.gregtechceu.gtceu.config.ConfigHolder; import com.gregtechceu.gtceu.integration.emi.recipe.GTRecipeTypeEmiCategory; import com.gregtechceu.gtceu.integration.jei.recipe.GTRecipeTypeCategory; @@ -148,21 +150,21 @@ public Size getJEISize() { return size; } - public record RecipeHolder(DoubleSupplier progressSupplier, IItemTransfer importItems, IItemTransfer exportItems, IFluidTransfer importFluids, IFluidTransfer exportFluids, CompoundTag data, boolean isSteam, boolean isHighPressure) {} + public record RecipeHolder(DoubleSupplier progressSupplier, IItemTransfer importItems, IItemTransfer exportItems, IFluidTransfer importFluids, IFluidTransfer exportFluids, CompoundTag data, List conditions, boolean isSteam, boolean isHighPressure) {} /** * Auto layout UI template for recipes. * @param progressSupplier progress. To create a JEI / REI UI, use the para {@link ProgressWidget#JEIProgress}. */ - public WidgetGroup createUITemplate(DoubleSupplier progressSupplier, IItemTransfer importItems, IItemTransfer exportItems, IFluidTransfer importFluids, IFluidTransfer exportFluids, CompoundTag data, boolean isSteam, boolean isHighPressure) { + public WidgetGroup createUITemplate(DoubleSupplier progressSupplier, IItemTransfer importItems, IItemTransfer exportItems, IFluidTransfer importFluids, IFluidTransfer exportFluids, CompoundTag data, List conditions, boolean isSteam, boolean isHighPressure) { var template = createEditableUITemplate(isSteam, isHighPressure); var group = template.createDefault(); - template.setupUI(group, new RecipeHolder(progressSupplier, importItems, exportItems, importFluids, exportFluids, data, isSteam, isHighPressure)); + template.setupUI(group, new RecipeHolder(progressSupplier, importItems, exportItems, importFluids, exportFluids, data, conditions, isSteam, isHighPressure)); return group; } - public WidgetGroup createUITemplate(DoubleSupplier progressSupplier, IItemTransfer importItems, IItemTransfer exportItems, IFluidTransfer importFluids, IFluidTransfer exportFluids, CompoundTag data) { - return createUITemplate(progressSupplier, importItems, exportItems, importFluids, exportFluids, data, false, false); + public WidgetGroup createUITemplate(DoubleSupplier progressSupplier, IItemTransfer importItems, IItemTransfer exportItems, IFluidTransfer importFluids, IFluidTransfer exportFluids, CompoundTag data, List conditions) { + return createUITemplate(progressSupplier, importItems, exportItems, importFluids, exportFluids, data, conditions, false, false); } /** @@ -244,10 +246,13 @@ public IEditableUI createEditableUITemplate(final boo // 1 over container size. // If in a recipe viewer and a research slot can be added, add it. if (isJEI && recipeType.isHasResearchSlot() && index == recipeHolder.importItems.getSlots()) { - if (ConfigHolder.INSTANCE.machines.enableResearch && recipeHolder.data.contains("research", Tag.TAG_LIST)) { - ResearchData data = ResearchData.fromNBT(recipeHolder.data.getList("research", Tag.TAG_COMPOUND)); + if (ConfigHolder.INSTANCE.machines.enableResearch) { + ResearchCondition condition = recipeHolder.conditions.stream().filter(ResearchCondition.class::isInstance).findAny().map(ResearchCondition.class::cast).orElse(null); + if (condition == null) { + return; + } List dataItems = new ArrayList<>(); - for (ResearchData.ResearchEntry entry : data) { + for (ResearchData.ResearchEntry entry : condition.data) { ItemStack dataStick = entry.getDataItem().copy(); ResearchManager.writeResearchToNBT(dataStick.getOrCreateTag(), entry.getResearchId(), this.recipeType); dataItems.add(dataStick); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeConditions.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeConditions.java index 77dc805791..cfcd6e5cf8 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeConditions.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeConditions.java @@ -30,6 +30,7 @@ public static void init() { GTRegistries.RECIPE_CONDITIONS.register(ThunderCondition.INSTANCE.getType(), ThunderCondition.class); GTRegistries.RECIPE_CONDITIONS.register(VentCondition.INSTANCE.getType(), VentCondition.class); GTRegistries.RECIPE_CONDITIONS.register(CleanroomCondition.INSTANCE.getType(), CleanroomCondition.class); + GTRegistries.RECIPE_CONDITIONS.register(ResearchCondition.INSTANCE.getType(), ResearchCondition.class); if (GTCEu.isCreateLoaded()) { GTRegistries.RECIPE_CONDITIONS.register(RPMCondition.INSTANCE.getType(), RPMCondition.class); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java index 7d100fbeb2..ae37a8eec6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/part/DataAccessHatchMachine.java @@ -16,6 +16,7 @@ import com.gregtechceu.gtceu.api.recipe.GTRecipeType; import com.gregtechceu.gtceu.common.item.PortableScannerBehavior; import com.gregtechceu.gtceu.common.machine.multiblock.electric.research.DataBankMachine; +import com.gregtechceu.gtceu.common.recipe.ResearchCondition; import com.gregtechceu.gtceu.utils.ResearchManager; import com.gregtechceu.gtceu.utils.ItemStackHashStrategy; import com.lowdragmc.lowdraglib.gui.widget.SlotWidget; @@ -129,7 +130,7 @@ private void rebuildData(boolean isDataBank) { @Override public boolean isRecipeAvailable(@NotNull GTRecipe recipe, @NotNull Collection seen) { seen.add(this); - return recipes.contains(recipe); + return recipe.conditions.stream().noneMatch(ResearchCondition.class::isInstance) || recipes.contains(recipe); } @NotNull diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/ResearchCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/ResearchCondition.java new file mode 100644 index 0000000000..551fae1400 --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/ResearchCondition.java @@ -0,0 +1,55 @@ +package com.gregtechceu.gtceu.common.recipe; + +import com.google.gson.JsonObject; +import com.gregtechceu.gtceu.api.machine.trait.RecipeLogic; +import com.gregtechceu.gtceu.api.recipe.GTRecipe; +import com.gregtechceu.gtceu.api.recipe.RecipeCondition; +import com.gregtechceu.gtceu.api.recipe.ResearchData; +import lombok.AllArgsConstructor; +import net.minecraft.network.chat.Component; +import org.jetbrains.annotations.NotNull; + +@AllArgsConstructor +public class ResearchCondition extends RecipeCondition { + public final static ResearchCondition INSTANCE = new ResearchCondition(); + public ResearchData data; + + public ResearchCondition() { + this.data = new ResearchData(); + } + + @Override + public String getType() { + return "reseach"; + } + + @Override + public Component getTooltips() { + return Component.translatable("gtceu.recipe.research"); + } + + @NotNull + @Override + public JsonObject serialize() { + JsonObject value = super.serialize(); + value.add("research", this.data.toJson()); + return value; + } + + @Override + public RecipeCondition deserialize(@NotNull JsonObject config) { + super.deserialize(config); + this.data = ResearchData.fromJson(config.getAsJsonArray("research")); + return this; + } + + @Override + public boolean test(@NotNull GTRecipe recipe, @NotNull RecipeLogic recipeLogic) { + return true; + } + + @Override + public RecipeCondition createTemplate() { + return new ResearchCondition(); + } +} diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder.java index 3f137d9d91..98e4055796 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/builder/GTRecipeBuilder.java @@ -608,17 +608,15 @@ private boolean applyResearchProperty(ResearchData.ResearchEntry researchEntry) return false; } - if (this.data.contains("research", Tag.TAG_LIST)) { - ResearchData property = ResearchData.fromNBT(data.getList("research", Tag.TAG_COMPOUND)); - property.add(researchEntry); - this.data.put("research", property.toNBT()); - return true; + ResearchCondition condition = this.conditions.stream().filter(ResearchCondition.class::isInstance).findAny().map(ResearchCondition.class::cast).orElse(null); + if (condition != null) { + condition.data.add(researchEntry); } else { - ResearchData property = new ResearchData(); - property.add(researchEntry); - this.data.put("research", property.toNBT()); - return true; + condition = new ResearchCondition(); + condition.data.add(researchEntry); + this.addCondition(condition); } + return true; } /** @@ -748,9 +746,9 @@ public void save(Consumer consumer) { if (onSave != null) { onSave.accept(this, consumer); } - if (this.data.contains("research", Tag.TAG_LIST)) { - ResearchData data = ResearchData.fromNBT(this.data.getList("research", Tag.TAG_COMPOUND)); - for (ResearchData.ResearchEntry entry : data) { + ResearchCondition condition = this.conditions.stream().filter(ResearchCondition.class::isInstance).findAny().map(ResearchCondition.class::cast).orElse(null); + if (condition != null) { + for (ResearchData.ResearchEntry entry : condition.data) { this.recipeType.addDataStickEntry(entry.getResearchId(), buildRawRecipe()); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CircuitRecipes.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CircuitRecipes.java index 5a5b7f3f62..97bf7cf82b 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CircuitRecipes.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/CircuitRecipes.java @@ -1427,17 +1427,20 @@ private static void circuitRecipes(Consumer provider) { // UV ASSEMBLY_LINE_RECIPES.recipeBuilder("wetware_super_computer_uv").EUt(38400).duration(400) - .inputItems(WETWARE_CIRCUIT_BOARD) - .inputItems(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 2) - .inputItems(ADVANCED_SMD_DIODE, 8) - .inputItems(NOR_MEMORY_CHIP, 16) - .inputItems(RANDOM_ACCESS_MEMORY, 32) - .inputItems(wireFine, YttriumBariumCuprate, 24) - .inputItems(foil, Polybenzimidazole, 32) - .inputItems(plate, Europium, 4) - .inputFluids(SolderingAlloy.getFluid(1152)) - .outputItems(WETWARE_SUPER_COMPUTER_UV) - .save(provider); + .inputItems(WETWARE_CIRCUIT_BOARD) + .inputItems(WETWARE_PROCESSOR_ASSEMBLY_ZPM, 2) + .inputItems(ADVANCED_SMD_DIODE, 8) + .inputItems(NOR_MEMORY_CHIP, 16) + .inputItems(RANDOM_ACCESS_MEMORY, 32) + .inputItems(wireFine, YttriumBariumCuprate, 24) + .inputItems(foil, Polybenzimidazole, 32) + .inputItems(plate, Europium, 4) + .inputFluids(SolderingAlloy.getFluid(1152)) + .outputItems(WETWARE_SUPER_COMPUTER_UV) + .stationResearch(b -> b + .researchStack(WETWARE_PROCESSOR_ASSEMBLY_ZPM.asStack()) + .CWUt(16)) + .save(provider); // UHV ASSEMBLY_LINE_RECIPES.recipeBuilder("wetware_mainframe_uhv") @@ -1488,5 +1491,18 @@ private static void circuitRecipes(Consumer provider) { .solderMultiplier(2) .cleanroom(CleanroomType.CLEANROOM) .duration(400).EUt(1200).save(provider); + + // Data Module + CIRCUIT_ASSEMBLER_RECIPES.recipeBuilder("data_module") + .inputItems(WETWARE_CIRCUIT_BOARD) + .inputItems(CustomTags.ZPM_CIRCUITS, 2) + .inputItems(RANDOM_ACCESS_MEMORY, 32) + .inputItems(NOR_MEMORY_CHIP, 64) + .inputItems(NAND_MEMORY_CHIP, 64) + .inputItems(wireFine, YttriumBariumCuprate, 32) + .outputItems(TOOL_DATA_MODULE) + .solderMultiplier(2) + .cleanroom(CleanroomType.STERILE_CLEANROOM) + .duration(400).EUt(38400).save(provider); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/ComponentRecipes.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/ComponentRecipes.java index add69657e2..cddde624de 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/ComponentRecipes.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/ComponentRecipes.java @@ -6,7 +6,6 @@ import com.gregtechceu.gtceu.data.recipe.VanillaRecipeHelper; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import net.minecraft.data.recipes.FinishedRecipe; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Items; import java.util.Map; @@ -32,91 +31,99 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, true, "electric_motor_iv", ELECTRIC_MOTOR_IV.asStack(), "CWR", "WMW", "RWC", 'C', new UnificationEntry(cableGtDouble, Tungsten), 'W', new UnificationEntry(wireGtDouble, Graphene), 'R', new UnificationEntry(rod, TungstenSteel), 'M', new UnificationEntry(rod, NeodymiumMagnetic)); ASSEMBLER_RECIPES.recipeBuilder("electric_motor_lv_iron") - .inputItems(cableGtSingle, Tin, 2) - .inputItems(rod, Iron, 2) - .inputItems(rod, IronMagnetic) - .inputItems(wireGtSingle, Copper, 4) - .outputItems(ELECTRIC_MOTOR_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tin, 2) + .inputItems(rod, Iron, 2) + .inputItems(rod, IronMagnetic) + .inputItems(wireGtSingle, Copper, 4) + .outputItems(ELECTRIC_MOTOR_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_motor_lv_steel") - .inputItems(cableGtSingle, Tin, 2) - .inputItems(rod, Steel, 2) - .inputItems(rod, SteelMagnetic) - .inputItems(wireGtSingle, Copper, 4) - .outputItems(ELECTRIC_MOTOR_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tin, 2) + .inputItems(rod, Steel, 2) + .inputItems(rod, SteelMagnetic) + .inputItems(wireGtSingle, Copper, 4) + .outputItems(ELECTRIC_MOTOR_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_motor_mv") - .inputItems(cableGtSingle, Copper, 2) - .inputItems(rod, Aluminium, 2) - .inputItems(rod, SteelMagnetic) - .inputItems(wireGtDouble, Cupronickel, 4) - .outputItems(ELECTRIC_MOTOR_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Copper, 2) + .inputItems(rod, Aluminium, 2) + .inputItems(rod, SteelMagnetic) + .inputItems(wireGtDouble, Cupronickel, 4) + .outputItems(ELECTRIC_MOTOR_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_motor_hv") - .inputItems(cableGtDouble, Silver, 2) - .inputItems(rod, StainlessSteel, 2) - .inputItems(rod, SteelMagnetic) - .inputItems(wireGtDouble, Electrum, 4) - .outputItems(ELECTRIC_MOTOR_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtDouble, Silver, 2) + .inputItems(rod, StainlessSteel, 2) + .inputItems(rod, SteelMagnetic) + .inputItems(wireGtDouble, Electrum, 4) + .outputItems(ELECTRIC_MOTOR_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_motor_ev") - .inputItems(cableGtDouble, Aluminium, 2) - .inputItems(rod, Titanium, 2) - .inputItems(rod, NeodymiumMagnetic) - .inputItems(wireGtDouble, Kanthal, 4) - .outputItems(ELECTRIC_MOTOR_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtDouble, Aluminium, 2) + .inputItems(rod, Titanium, 2) + .inputItems(rod, NeodymiumMagnetic) + .inputItems(wireGtDouble, Kanthal, 4) + .outputItems(ELECTRIC_MOTOR_EV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_motor_iv") - .inputItems(cableGtDouble, Tungsten, 2) - .inputItems(rod, TungstenSteel, 2) - .inputItems(rod, NeodymiumMagnetic) - .inputItems(wireGtDouble, Graphene, 4) - .outputItems(ELECTRIC_MOTOR_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtDouble, Tungsten, 2) + .inputItems(rod, TungstenSteel, 2) + .inputItems(rod, NeodymiumMagnetic) + .inputItems(wireGtDouble, Graphene, 4) + .outputItems(ELECTRIC_MOTOR_IV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_motor_luv") - .inputItems(rodLong, SamariumMagnetic) - .inputItems(rodLong, HSSS, 2) - .inputItems(ring, HSSS, 2) - .inputItems(round, HSSS, 4) - .inputItems(wireFine, Ruridit, 64) - .inputItems(cableGtSingle, NiobiumTitanium, 2) - .inputFluids(SolderingAlloy.getFluid(L)) - .inputFluids(Lubricant.getFluid(250)) - .outputItems(ELECTRIC_MOTOR_LuV) - .duration(600).EUt(6000).save(provider); + .inputItems(rodLong, SamariumMagnetic) + .inputItems(rodLong, HSSS, 2) + .inputItems(ring, HSSS, 2) + .inputItems(round, HSSS, 4) + .inputItems(wireFine, Ruridit, 64) + .inputItems(cableGtSingle, NiobiumTitanium, 2) + .inputFluids(SolderingAlloy.getFluid(L)) + .inputFluids(Lubricant.getFluid(250)) + .outputItems(ELECTRIC_MOTOR_LuV) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_motor_zpm") - .inputItems(rodLong, SamariumMagnetic) - .inputItems(rodLong, Osmiridium, 4) - .inputItems(ring, Osmiridium, 4) - .inputItems(round, Osmiridium, 8) - .inputItems(wireFine, Europium, 64) - .inputItems(wireFine, Europium, 32) - .inputItems(cableGtSingle, VanadiumGallium, 2) - .inputFluids(SolderingAlloy.getFluid(L * 2)) - .inputFluids(Lubricant.getFluid(500)) - .outputItems(ELECTRIC_MOTOR_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(rodLong, SamariumMagnetic) + .inputItems(rodLong, Osmiridium, 4) + .inputItems(ring, Osmiridium, 4) + .inputItems(round, Osmiridium, 8) + .inputItems(wireFine, Europium, 64) + .inputItems(wireFine, Europium, 32) + .inputItems(cableGtSingle, VanadiumGallium, 2) + .inputFluids(SolderingAlloy.getFluid(L * 2)) + .inputFluids(Lubricant.getFluid(500)) + .outputItems(ELECTRIC_MOTOR_ZPM) + .scannerResearch(b -> b + .researchStack(ELECTRIC_MOTOR_LuV.asStack()) + .duration(1200) + .EUt(VA[IV])) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_motor_uv") - .inputItems(rodLong, SamariumMagnetic) - .inputItems(rodLong, Tritanium, 4) - .inputItems(ring, Tritanium, 4) - .inputItems(round, Tritanium, 8) - .inputItems(wireFine, Americium, 64) - .inputItems(wireFine, Americium, 64) - .inputItems(cableGtSingle, YttriumBariumCuprate, 2) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .inputFluids(Lubricant.getFluid(1000)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(ELECTRIC_MOTOR_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(rodLong, SamariumMagnetic) + .inputItems(rodLong, Tritanium, 4) + .inputItems(ring, Tritanium, 4) + .inputItems(round, Tritanium, 8) + .inputItems(wireFine, Americium, 64) + .inputItems(wireFine, Americium, 64) + .inputItems(cableGtSingle, YttriumBariumCuprate, 2) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .inputFluids(Lubricant.getFluid(1000)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(ELECTRIC_MOTOR_UV) + .stationResearch(b -> b + .researchStack(ELECTRIC_MOTOR_ZPM.asStack()) + .CWUt(32) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); @@ -138,45 +145,45 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, material.equals(SiliconeRubber), String.format("conveyor_module_iv_%s", materialEntry.getKey()), CONVEYOR_MODULE_IV.asStack(), "RRR", "MCM", "RRR", 'R', new UnificationEntry(plate, material), 'C', new UnificationEntry(cableGtSingle, Tungsten), 'M', ELECTRIC_MOTOR_IV.asStack()); ASSEMBLER_RECIPES.recipeBuilder("conveyor_module_lv_" + name) - .inputItems(cableGtSingle, Tin) - .inputItems(ELECTRIC_MOTOR_LV, 2) - .inputFluids(materialEntry.getValue().getFluid(L * 6)) - .circuitMeta(1) - .outputItems(CONVEYOR_MODULE_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tin) + .inputItems(ELECTRIC_MOTOR_LV, 2) + .inputFluids(materialEntry.getValue().getFluid(L * 6)) + .circuitMeta(1) + .outputItems(CONVEYOR_MODULE_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("conveyor_module_mv_" + name) - .inputItems(cableGtSingle, Copper) - .inputItems(ELECTRIC_MOTOR_MV, 2) - .inputFluids(materialEntry.getValue().getFluid(L * 6)) - .circuitMeta(1) - .outputItems(CONVEYOR_MODULE_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Copper) + .inputItems(ELECTRIC_MOTOR_MV, 2) + .inputFluids(materialEntry.getValue().getFluid(L * 6)) + .circuitMeta(1) + .outputItems(CONVEYOR_MODULE_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("conveyor_module_hv_" + name) - .inputItems(cableGtSingle, Gold) - .inputItems(ELECTRIC_MOTOR_HV, 2) - .inputFluids(materialEntry.getValue().getFluid(L * 6)) - .circuitMeta(1) - .outputItems(CONVEYOR_MODULE_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Gold) + .inputItems(ELECTRIC_MOTOR_HV, 2) + .inputFluids(materialEntry.getValue().getFluid(L * 6)) + .circuitMeta(1) + .outputItems(CONVEYOR_MODULE_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("conveyor_module_ev_" + name) - .inputItems(cableGtSingle, Aluminium) - .inputItems(ELECTRIC_MOTOR_EV, 2) - .inputFluids(materialEntry.getValue().getFluid(L * 6)) - .circuitMeta(1) - .outputItems(CONVEYOR_MODULE_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Aluminium) + .inputItems(ELECTRIC_MOTOR_EV, 2) + .inputFluids(materialEntry.getValue().getFluid(L * 6)) + .circuitMeta(1) + .outputItems(CONVEYOR_MODULE_EV) + .duration(100).EUt(VA[LV]).save(provider); if (!materialEntry.getValue().equals(Rubber)) ASSEMBLER_RECIPES.recipeBuilder("conveyor_module_iv_" + name) - .inputItems(cableGtSingle, Tungsten) - .inputItems(ELECTRIC_MOTOR_IV, 2) - .inputFluids(materialEntry.getValue().getFluid(L * 6)) - .circuitMeta(1) - .outputItems(CONVEYOR_MODULE_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tungsten) + .inputItems(ELECTRIC_MOTOR_IV, 2) + .inputFluids(materialEntry.getValue().getFluid(L * 6)) + .circuitMeta(1) + .outputItems(CONVEYOR_MODULE_IV) + .duration(100).EUt(VA[LV]).save(provider); //Pumps Start--------------------------------------------------------------------------------------------------- @@ -188,248 +195,260 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, material.equals(SiliconeRubber), String.format("electric_pump_iv_%s", name), ELECTRIC_PUMP_IV.asStack(), "SXR", "dPw", "RMC", 'S', new UnificationEntry(screw, TungstenSteel), 'X', new UnificationEntry(rotor, TungstenSteel), 'P', new UnificationEntry(pipeNormalFluid, TungstenSteel), 'R', new UnificationEntry(ring, material), 'C', new UnificationEntry(cableGtSingle, Tungsten), 'M', ELECTRIC_MOTOR_IV.asStack()); ASSEMBLER_RECIPES.recipeBuilder("electric_pump_lv_" + name) - .inputItems(cableGtSingle, Tin) - .inputItems(pipeNormalFluid, Bronze) - .inputItems(screw, Tin) - .inputItems(rotor, Tin) - .inputItems(ring, materialEntry.getValue(), 2) - .inputItems(ELECTRIC_MOTOR_LV) - .outputItems(ELECTRIC_PUMP_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tin) + .inputItems(pipeNormalFluid, Bronze) + .inputItems(screw, Tin) + .inputItems(rotor, Tin) + .inputItems(ring, materialEntry.getValue(), 2) + .inputItems(ELECTRIC_MOTOR_LV) + .outputItems(ELECTRIC_PUMP_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_pump_mv_" + name) - .inputItems(cableGtSingle, Copper) - .inputItems(pipeNormalFluid, Steel) - .inputItems(screw, Bronze) - .inputItems(rotor, Bronze) - .inputItems(ring, materialEntry.getValue(), 2) - .inputItems(ELECTRIC_MOTOR_MV) - .outputItems(ELECTRIC_PUMP_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Copper) + .inputItems(pipeNormalFluid, Steel) + .inputItems(screw, Bronze) + .inputItems(rotor, Bronze) + .inputItems(ring, materialEntry.getValue(), 2) + .inputItems(ELECTRIC_MOTOR_MV) + .outputItems(ELECTRIC_PUMP_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_pump_hv_" + name) - .inputItems(cableGtSingle, Gold) - .inputItems(pipeNormalFluid, StainlessSteel) - .inputItems(screw, Steel) - .inputItems(rotor, Steel) - .inputItems(ring, materialEntry.getValue(), 2) - .inputItems(ELECTRIC_MOTOR_HV) - .outputItems(ELECTRIC_PUMP_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Gold) + .inputItems(pipeNormalFluid, StainlessSteel) + .inputItems(screw, Steel) + .inputItems(rotor, Steel) + .inputItems(ring, materialEntry.getValue(), 2) + .inputItems(ELECTRIC_MOTOR_HV) + .outputItems(ELECTRIC_PUMP_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_pump_ev_" + name) - .inputItems(cableGtSingle, Aluminium) - .inputItems(pipeNormalFluid, Titanium) - .inputItems(screw, StainlessSteel) - .inputItems(rotor, StainlessSteel) - .inputItems(ring, materialEntry.getValue(), 2) - .inputItems(ELECTRIC_MOTOR_EV) - .outputItems(ELECTRIC_PUMP_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Aluminium) + .inputItems(pipeNormalFluid, Titanium) + .inputItems(screw, StainlessSteel) + .inputItems(rotor, StainlessSteel) + .inputItems(ring, materialEntry.getValue(), 2) + .inputItems(ELECTRIC_MOTOR_EV) + .outputItems(ELECTRIC_PUMP_EV) + .duration(100).EUt(VA[LV]).save(provider); if (!materialEntry.getValue().equals(Rubber)) ASSEMBLER_RECIPES.recipeBuilder("electric_pump_iv_" + name) - .inputItems(cableGtSingle, Tungsten) - .inputItems(pipeNormalFluid, TungstenSteel) - .inputItems(screw, TungstenSteel) - .inputItems(rotor, TungstenSteel) - .inputItems(ring, materialEntry.getValue(), 2) - .inputItems(ELECTRIC_MOTOR_IV) - .outputItems(ELECTRIC_PUMP_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tungsten) + .inputItems(pipeNormalFluid, TungstenSteel) + .inputItems(screw, TungstenSteel) + .inputItems(rotor, TungstenSteel) + .inputItems(ring, materialEntry.getValue(), 2) + .inputItems(ELECTRIC_MOTOR_IV) + .outputItems(ELECTRIC_PUMP_IV) + .duration(100).EUt(VA[LV]).save(provider); } ASSEMBLY_LINE_RECIPES.recipeBuilder("conveyor_module_luv") - .inputItems(ELECTRIC_MOTOR_LuV, 2) - .inputItems(plate, HSSS, 2) - .inputItems(ring, HSSS, 4) - .inputItems(round, HSSS, 16) - .inputItems(screw, HSSS, 4) - .inputItems(cableGtSingle, NiobiumTitanium, 2) - .inputFluids(SolderingAlloy.getFluid(L)) - .inputFluids(Lubricant.getFluid(250)) - .inputFluids(StyreneButadieneRubber.getFluid(L * 8)) - .outputItems(CONVEYOR_MODULE_LuV) - .duration(600).EUt(6000).save(provider); + .inputItems(ELECTRIC_MOTOR_LuV, 2) + .inputItems(plate, HSSS, 2) + .inputItems(ring, HSSS, 4) + .inputItems(round, HSSS, 16) + .inputItems(screw, HSSS, 4) + .inputItems(cableGtSingle, NiobiumTitanium, 2) + .inputFluids(SolderingAlloy.getFluid(L)) + .inputFluids(Lubricant.getFluid(250)) + .inputFluids(StyreneButadieneRubber.getFluid(L * 8)) + .outputItems(CONVEYOR_MODULE_LuV) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("conveyor_module_zpm") - .inputItems(ELECTRIC_MOTOR_ZPM, 2) - .inputItems(plate, Osmiridium, 2) - .inputItems(ring, Osmiridium, 4) - .inputItems(round, Osmiridium, 16) - .inputItems(screw, Osmiridium, 4) - .inputItems(cableGtSingle, VanadiumGallium, 2) - .inputFluids(SolderingAlloy.getFluid(L * 2)) - .inputFluids(Lubricant.getFluid(500)) - .inputFluids(StyreneButadieneRubber.getFluid(L * 16)) - .outputItems(CONVEYOR_MODULE_ZPM) - .scannerResearch(b -> b - .researchStack(CONVEYOR_MODULE_LuV.asStack()) - .duration(1200) - .EUt(VA[IV])) - .duration(600).EUt(24000).save(provider); + .inputItems(ELECTRIC_MOTOR_ZPM, 2) + .inputItems(plate, Osmiridium, 2) + .inputItems(ring, Osmiridium, 4) + .inputItems(round, Osmiridium, 16) + .inputItems(screw, Osmiridium, 4) + .inputItems(cableGtSingle, VanadiumGallium, 2) + .inputFluids(SolderingAlloy.getFluid(L * 2)) + .inputFluids(Lubricant.getFluid(500)) + .inputFluids(StyreneButadieneRubber.getFluid(L * 16)) + .outputItems(CONVEYOR_MODULE_ZPM) + .scannerResearch(b -> b + .researchStack(CONVEYOR_MODULE_LuV.asStack()) + .duration(1200) + .EUt(VA[IV])) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("conveyor_module_uv") - .inputItems(ELECTRIC_MOTOR_UV, 2) - .inputItems(plate, Tritanium, 2) - .inputItems(ring, Tritanium, 4) - .inputItems(round, Tritanium, 16) - .inputItems(screw, Tritanium, 4) - .inputItems(cableGtSingle, YttriumBariumCuprate, 2) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .inputFluids(Lubricant.getFluid(1000)) - .inputFluids(StyreneButadieneRubber.getFluid(L * 24)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(CONVEYOR_MODULE_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(ELECTRIC_MOTOR_UV, 2) + .inputItems(plate, Tritanium, 2) + .inputItems(ring, Tritanium, 4) + .inputItems(round, Tritanium, 16) + .inputItems(screw, Tritanium, 4) + .inputItems(cableGtSingle, YttriumBariumCuprate, 2) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .inputFluids(Lubricant.getFluid(1000)) + .inputFluids(StyreneButadieneRubber.getFluid(L * 24)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(CONVEYOR_MODULE_UV) + .stationResearch(b -> b + .researchStack(CONVEYOR_MODULE_ZPM.asStack()) + .CWUt(32) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_pump_luv") - .inputItems(ELECTRIC_MOTOR_LuV) - .inputItems(pipeSmallFluid, NiobiumTitanium) - .inputItems(plate, HSSS, 2) - .inputItems(screw, HSSS, 8) - .inputItems(ring, SiliconeRubber, 4) - .inputItems(rotor, HSSS) - .inputItems(cableGtSingle, NiobiumTitanium, 2) - .inputFluids(SolderingAlloy.getFluid(L)) - .inputFluids(Lubricant.getFluid(250)) - .outputItems(ELECTRIC_PUMP_LuV) - .duration(600).EUt(6000).save(provider); + .inputItems(ELECTRIC_MOTOR_LuV) + .inputItems(pipeSmallFluid, NiobiumTitanium) + .inputItems(plate, HSSS, 2) + .inputItems(screw, HSSS, 8) + .inputItems(ring, SiliconeRubber, 4) + .inputItems(rotor, HSSS) + .inputItems(cableGtSingle, NiobiumTitanium, 2) + .inputFluids(SolderingAlloy.getFluid(L)) + .inputFluids(Lubricant.getFluid(250)) + .outputItems(ELECTRIC_PUMP_LuV) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_pump_zpm") - .inputItems(ELECTRIC_MOTOR_ZPM) - .inputItems(pipeNormalFluid, Polybenzimidazole) - .inputItems(plate, Osmiridium, 2) - .inputItems(screw, Osmiridium, 8) - .inputItems(ring, SiliconeRubber, 8) - .inputItems(rotor, Osmiridium) - .inputItems(cableGtSingle, VanadiumGallium, 2) - .inputFluids(SolderingAlloy.getFluid(L * 2)) - .inputFluids(Lubricant.getFluid(500)) - .outputItems(ELECTRIC_PUMP_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(ELECTRIC_MOTOR_ZPM) + .inputItems(pipeNormalFluid, Polybenzimidazole) + .inputItems(plate, Osmiridium, 2) + .inputItems(screw, Osmiridium, 8) + .inputItems(ring, SiliconeRubber, 8) + .inputItems(rotor, Osmiridium) + .inputItems(cableGtSingle, VanadiumGallium, 2) + .inputFluids(SolderingAlloy.getFluid(L * 2)) + .inputFluids(Lubricant.getFluid(500)) + .outputItems(ELECTRIC_PUMP_ZPM) + .scannerResearch(b -> b + .researchStack(ELECTRIC_PUMP_LuV.asStack()) + .duration(1200) + .EUt(VA[IV])) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_pump_uv") - .inputItems(ELECTRIC_MOTOR_UV) - .inputItems(pipeLargeFluid, Naquadah) - .inputItems(plate, Tritanium, 2) - .inputItems(screw, Tritanium, 8) - .inputItems(ring, SiliconeRubber, 16) - .inputItems(rotor, NaquadahAlloy) - .inputItems(cableGtSingle, YttriumBariumCuprate, 2) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .inputFluids(Lubricant.getFluid(1000)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(ELECTRIC_PUMP_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(ELECTRIC_MOTOR_UV) + .inputItems(pipeLargeFluid, Naquadah) + .inputItems(plate, Tritanium, 2) + .inputItems(screw, Tritanium, 8) + .inputItems(ring, SiliconeRubber, 16) + .inputItems(rotor, NaquadahAlloy) + .inputItems(cableGtSingle, YttriumBariumCuprate, 2) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .inputFluids(Lubricant.getFluid(1000)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(ELECTRIC_PUMP_UV) + .stationResearch(b -> b + .researchStack(ELECTRIC_PUMP_ZPM.asStack()) + .CWUt(32) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); //Fluid Regulators---------------------------------------------------------------------------------------------- ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_lv") - .inputItems(ELECTRIC_PUMP_LV) - .inputItems(CustomTags.LV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_LV) - .EUt(VA[LV]) - .duration(400) - .save(provider); + .inputItems(ELECTRIC_PUMP_LV) + .inputItems(CustomTags.LV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_LV) + .EUt(VA[LV]) + .duration(400) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_mv") - .inputItems(ELECTRIC_PUMP_MV) - .inputItems(CustomTags.MV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_MV) - .EUt(VA[MV]) - .duration(350) - .save(provider); + .inputItems(ELECTRIC_PUMP_MV) + .inputItems(CustomTags.MV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_MV) + .EUt(VA[MV]) + .duration(350) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_hv") - .inputItems(ELECTRIC_PUMP_HV) - .inputItems(CustomTags.HV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_HV) - .EUt(VA[HV]) - .duration(300) - .save(provider); + .inputItems(ELECTRIC_PUMP_HV) + .inputItems(CustomTags.HV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_HV) + .EUt(VA[HV]) + .duration(300) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_ev") - .inputItems(ELECTRIC_PUMP_EV) - .inputItems(CustomTags.EV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_EV) - .EUt(VA[EV]) - .duration(250) - .save(provider); + .inputItems(ELECTRIC_PUMP_EV) + .inputItems(CustomTags.EV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_EV) + .EUt(VA[EV]) + .duration(250) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_iv") - .inputItems(ELECTRIC_PUMP_IV) - .inputItems(CustomTags.IV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_IV) - .EUt(VA[IV]) - .duration(200) - .save(provider); + .inputItems(ELECTRIC_PUMP_IV) + .inputItems(CustomTags.IV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_IV) + .EUt(VA[IV]) + .duration(200) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_luv") - .inputItems(ELECTRIC_PUMP_LuV) - .inputItems(CustomTags.LuV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_LUV) - .EUt(VA[LuV]) - .duration(150) - .save(provider); + .inputItems(ELECTRIC_PUMP_LuV) + .inputItems(CustomTags.LuV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_LUV) + .EUt(VA[LuV]) + .duration(150) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_zpm") - .inputItems(ELECTRIC_PUMP_ZPM) - .inputItems(CustomTags.ZPM_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_ZPM) - .EUt(VA[ZPM]) - .duration(100) - .save(provider); + .inputItems(ELECTRIC_PUMP_ZPM) + .inputItems(CustomTags.ZPM_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_ZPM) + .EUt(VA[ZPM]) + .duration(100) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("fluid_regulator_uv") - .inputItems(ELECTRIC_PUMP_UV) - .inputItems(CustomTags.UV_CIRCUITS, 2) - .circuitMeta(1) - .outputItems(FLUID_REGULATOR_UV) - .EUt(VA[UV]) - .duration(50) - .save(provider); + .inputItems(ELECTRIC_PUMP_UV) + .inputItems(CustomTags.UV_CIRCUITS, 2) + .circuitMeta(1) + .outputItems(FLUID_REGULATOR_UV) + .EUt(VA[UV]) + .duration(50) + .save(provider); //Voiding Covers Start----------------------------------------------------------------------------------------- VanillaRecipeHelper.addShapedRecipe(provider, true, "cover_item_voiding", COVER_ITEM_VOIDING.asStack(), "SDS", "dPw", " E ", 'S', new UnificationEntry(screw, Steel), 'D', COVER_ITEM_DETECTOR.asStack(), 'P', new UnificationEntry(pipeNormalItem, Brass), 'E', Items.ENDER_PEARL); ASSEMBLER_RECIPES.recipeBuilder("cover_item_voiding") - .inputItems(screw, Steel, 2) - .inputItems(COVER_ITEM_DETECTOR) - .inputItems(pipeNormalItem, Brass) - .inputItems(Items.ENDER_PEARL) - .outputItems(COVER_ITEM_VOIDING) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(screw, Steel, 2) + .inputItems(COVER_ITEM_DETECTOR) + .inputItems(pipeNormalItem, Brass) + .inputItems(Items.ENDER_PEARL) + .outputItems(COVER_ITEM_VOIDING) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("cover_item_voiding_advanced") - .inputItems(COVER_ITEM_VOIDING) - .inputItems(CustomTags.MV_CIRCUITS, 1) - .outputItems(COVER_ITEM_VOIDING_ADVANCED) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(COVER_ITEM_VOIDING) + .inputItems(CustomTags.MV_CIRCUITS, 1) + .outputItems(COVER_ITEM_VOIDING_ADVANCED) + .duration(100).EUt(VA[LV]).save(provider); VanillaRecipeHelper.addShapedRecipe(provider, true, "cover_fluid_voiding", COVER_FLUID_VOIDING.asStack(), "SDS", "dPw", " E ", 'S', new UnificationEntry(screw, Steel), 'D', COVER_FLUID_DETECTOR.asStack(), 'P', new UnificationEntry(pipeNormalFluid, Bronze), 'E', Items.ENDER_PEARL); ASSEMBLER_RECIPES.recipeBuilder("cover_fluid_voiding") - .inputItems(screw, Steel, 2) - .inputItems(COVER_FLUID_DETECTOR) - .inputItems(pipeNormalFluid, Bronze) - .inputItems(Items.ENDER_PEARL) - .outputItems(COVER_FLUID_VOIDING) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(screw, Steel, 2) + .inputItems(COVER_FLUID_DETECTOR) + .inputItems(pipeNormalFluid, Bronze) + .inputItems(Items.ENDER_PEARL) + .outputItems(COVER_FLUID_VOIDING) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("cover_fluid_voiding_advanced") - .inputItems(COVER_FLUID_VOIDING) - .inputItems(CustomTags.MV_CIRCUITS, 1) - .outputItems(COVER_FLUID_VOIDING_ADVANCED) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(COVER_FLUID_VOIDING) + .inputItems(CustomTags.MV_CIRCUITS, 1) + .outputItems(COVER_FLUID_VOIDING_ADVANCED) + .duration(100).EUt(VA[LV]).save(provider); //Pistons Start------------------------------------------------------------------------------------------------- VanillaRecipeHelper.addShapedRecipe(provider, true, "electric_piston_lv", ELECTRIC_PISTON_LV.asStack(), "PPP", "CRR", "CMG", 'P', new UnificationEntry(plate, Steel), 'C', new UnificationEntry(cableGtSingle, Tin), 'R', new UnificationEntry(rod, Steel), 'G', new UnificationEntry(gearSmall, Steel), 'M', ELECTRIC_MOTOR_LV.asStack()); @@ -439,93 +458,101 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, true, "electric_piston_iv", ELECTRIC_PISTON_IV.asStack(), "PPP", "CRR", "CMG", 'P', new UnificationEntry(plate, TungstenSteel), 'C', new UnificationEntry(cableGtSingle, Tungsten), 'R', new UnificationEntry(rod, TungstenSteel), 'G', new UnificationEntry(gearSmall, TungstenSteel), 'M', ELECTRIC_MOTOR_IV.asStack()); ASSEMBLER_RECIPES.recipeBuilder("electric_piston_lv") - .inputItems(rod, Steel, 2) - .inputItems(cableGtSingle, Tin, 2) - .inputItems(plate, Steel, 3) - .inputItems(gearSmall, Steel) - .inputItems(ELECTRIC_MOTOR_LV) - .outputItems(ELECTRIC_PISTON_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Steel, 2) + .inputItems(cableGtSingle, Tin, 2) + .inputItems(plate, Steel, 3) + .inputItems(gearSmall, Steel) + .inputItems(ELECTRIC_MOTOR_LV) + .outputItems(ELECTRIC_PISTON_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_piston_mv") - .inputItems(rod, Aluminium, 2) - .inputItems(cableGtSingle, Copper, 2) - .inputItems(plate, Aluminium, 3) - .inputItems(gearSmall, Aluminium) - .inputItems(ELECTRIC_MOTOR_MV) - .outputItems(ELECTRIC_PISTON_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Aluminium, 2) + .inputItems(cableGtSingle, Copper, 2) + .inputItems(plate, Aluminium, 3) + .inputItems(gearSmall, Aluminium) + .inputItems(ELECTRIC_MOTOR_MV) + .outputItems(ELECTRIC_PISTON_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_piston_hv") - .inputItems(rod, StainlessSteel, 2) - .inputItems(cableGtSingle, Gold, 2) - .inputItems(plate, StainlessSteel, 3) - .inputItems(gearSmall, StainlessSteel) - .inputItems(ELECTRIC_MOTOR_HV) - .outputItems(ELECTRIC_PISTON_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, StainlessSteel, 2) + .inputItems(cableGtSingle, Gold, 2) + .inputItems(plate, StainlessSteel, 3) + .inputItems(gearSmall, StainlessSteel) + .inputItems(ELECTRIC_MOTOR_HV) + .outputItems(ELECTRIC_PISTON_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_piston_ev") - .inputItems(rod, Titanium, 2) - .inputItems(cableGtSingle, Aluminium, 2) - .inputItems(plate, Titanium, 3) - .inputItems(gearSmall, Titanium) - .inputItems(ELECTRIC_MOTOR_EV) - .outputItems(ELECTRIC_PISTON_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Titanium, 2) + .inputItems(cableGtSingle, Aluminium, 2) + .inputItems(plate, Titanium, 3) + .inputItems(gearSmall, Titanium) + .inputItems(ELECTRIC_MOTOR_EV) + .outputItems(ELECTRIC_PISTON_EV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("electric_piston_iv") - .inputItems(rod, TungstenSteel, 2) - .inputItems(cableGtSingle, Tungsten, 2) - .inputItems(plate, TungstenSteel, 3) - .inputItems(gearSmall, TungstenSteel) - .inputItems(ELECTRIC_MOTOR_IV) - .outputItems(ELECTRIC_PISTON_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, TungstenSteel, 2) + .inputItems(cableGtSingle, Tungsten, 2) + .inputItems(plate, TungstenSteel, 3) + .inputItems(gearSmall, TungstenSteel) + .inputItems(ELECTRIC_MOTOR_IV) + .outputItems(ELECTRIC_PISTON_IV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_piston_luv") - .inputItems(ELECTRIC_MOTOR_LuV) - .inputItems(plate, HSSS, 4) - .inputItems(ring, HSSS, 4) - .inputItems(round, HSSS, 16) - .inputItems(rod, HSSS, 4) - .inputItems(gear, HSSS) - .inputItems(gearSmall, HSSS, 2) - .inputItems(cableGtSingle, NiobiumTitanium, 2) - .inputFluids(SolderingAlloy.getFluid(L)) - .inputFluids(Lubricant.getFluid(250)) - .outputItems(ELECTRIC_PISTON_LUV) - .duration(600).EUt(6000).save(provider); + .inputItems(ELECTRIC_MOTOR_LuV) + .inputItems(plate, HSSS, 4) + .inputItems(ring, HSSS, 4) + .inputItems(round, HSSS, 16) + .inputItems(rod, HSSS, 4) + .inputItems(gear, HSSS) + .inputItems(gearSmall, HSSS, 2) + .inputItems(cableGtSingle, NiobiumTitanium, 2) + .inputFluids(SolderingAlloy.getFluid(L)) + .inputFluids(Lubricant.getFluid(250)) + .outputItems(ELECTRIC_PISTON_LUV) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_piston_zpm") - .inputItems(ELECTRIC_MOTOR_ZPM) - .inputItems(plate, Osmiridium, 4) - .inputItems(ring, Osmiridium, 4) - .inputItems(round, Osmiridium, 16) - .inputItems(rod, Osmiridium, 4) - .inputItems(gear, Osmiridium) - .inputItems(gearSmall, Osmiridium, 2) - .inputItems(cableGtSingle, VanadiumGallium, 2) - .inputFluids(SolderingAlloy.getFluid(L * 2)) - .inputFluids(Lubricant.getFluid(500)) - .outputItems(ELECTRIC_PISTON_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(ELECTRIC_MOTOR_ZPM) + .inputItems(plate, Osmiridium, 4) + .inputItems(ring, Osmiridium, 4) + .inputItems(round, Osmiridium, 16) + .inputItems(rod, Osmiridium, 4) + .inputItems(gear, Osmiridium) + .inputItems(gearSmall, Osmiridium, 2) + .inputItems(cableGtSingle, VanadiumGallium, 2) + .inputFluids(SolderingAlloy.getFluid(L * 2)) + .inputFluids(Lubricant.getFluid(500)) + .outputItems(ELECTRIC_PISTON_ZPM) + .scannerResearch(b -> b + .researchStack(ELECTRIC_PISTON_LUV.asStack()) + .duration(1200) + .EUt(VA[IV])) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("electric_piston_uv") - .inputItems(ELECTRIC_MOTOR_UV) - .inputItems(plate, Tritanium, 4) - .inputItems(ring, Tritanium, 4) - .inputItems(round, Tritanium, 16) - .inputItems(rod, Tritanium, 4) - .inputItems(gear, NaquadahAlloy) - .inputItems(gearSmall, NaquadahAlloy, 2) - .inputItems(cableGtSingle, YttriumBariumCuprate, 2) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .inputFluids(Lubricant.getFluid(1000)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(ELECTRIC_PISTON_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(ELECTRIC_MOTOR_UV) + .inputItems(plate, Tritanium, 4) + .inputItems(ring, Tritanium, 4) + .inputItems(round, Tritanium, 16) + .inputItems(rod, Tritanium, 4) + .inputItems(gear, NaquadahAlloy) + .inputItems(gearSmall, NaquadahAlloy, 2) + .inputItems(cableGtSingle, YttriumBariumCuprate, 2) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .inputFluids(Lubricant.getFluid(1000)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(ELECTRIC_PISTON_UV) + .stationResearch(b -> b + .researchStack(ELECTRIC_PISTON_ZPM.asStack()) + .CWUt(32) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); @@ -537,95 +564,103 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, true, "robot_arm_iv", ROBOT_ARM_IV.asStack(), "CCC", "MRM", "PXR", 'C', new UnificationEntry(cableGtSingle, Tungsten), 'R', new UnificationEntry(rod, TungstenSteel), 'M', ELECTRIC_MOTOR_IV.asStack(), 'P', ELECTRIC_PISTON_IV.asStack(), 'X', CustomTags.IV_CIRCUITS); ASSEMBLER_RECIPES.recipeBuilder("robot_arm_lv") - .inputItems(cableGtSingle, Tin, 3) - .inputItems(rod, Steel, 2) - .inputItems(ELECTRIC_MOTOR_LV, 2) - .inputItems(ELECTRIC_PISTON_LV) - .inputItems(CustomTags.LV_CIRCUITS) - .outputItems(ROBOT_ARM_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tin, 3) + .inputItems(rod, Steel, 2) + .inputItems(ELECTRIC_MOTOR_LV, 2) + .inputItems(ELECTRIC_PISTON_LV) + .inputItems(CustomTags.LV_CIRCUITS) + .outputItems(ROBOT_ARM_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("robot_arm_mv") - .inputItems(cableGtSingle, Copper, 3) - .inputItems(rod, Aluminium, 2) - .inputItems(ELECTRIC_MOTOR_MV, 2) - .inputItems(ELECTRIC_PISTON_MV) - .inputItems(CustomTags.MV_CIRCUITS) - .outputItems(ROBOT_ARM_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Copper, 3) + .inputItems(rod, Aluminium, 2) + .inputItems(ELECTRIC_MOTOR_MV, 2) + .inputItems(ELECTRIC_PISTON_MV) + .inputItems(CustomTags.MV_CIRCUITS) + .outputItems(ROBOT_ARM_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("robot_arm_hv") - .inputItems(cableGtSingle, Gold, 3) - .inputItems(rod, StainlessSteel, 2) - .inputItems(ELECTRIC_MOTOR_HV, 2) - .inputItems(ELECTRIC_PISTON_HV) - .inputItems(CustomTags.HV_CIRCUITS) - .outputItems(ROBOT_ARM_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Gold, 3) + .inputItems(rod, StainlessSteel, 2) + .inputItems(ELECTRIC_MOTOR_HV, 2) + .inputItems(ELECTRIC_PISTON_HV) + .inputItems(CustomTags.HV_CIRCUITS) + .outputItems(ROBOT_ARM_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("robot_arm_ev") - .inputItems(cableGtSingle, Aluminium, 3) - .inputItems(rod, Titanium, 2) - .inputItems(ELECTRIC_MOTOR_EV, 2) - .inputItems(ELECTRIC_PISTON_EV) - .inputItems(CustomTags.EV_CIRCUITS) - .outputItems(ROBOT_ARM_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Aluminium, 3) + .inputItems(rod, Titanium, 2) + .inputItems(ELECTRIC_MOTOR_EV, 2) + .inputItems(ELECTRIC_PISTON_EV) + .inputItems(CustomTags.EV_CIRCUITS) + .outputItems(ROBOT_ARM_EV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("robot_arm_iv") - .inputItems(cableGtSingle, Tungsten, 3) - .inputItems(rod, TungstenSteel, 2) - .inputItems(ELECTRIC_MOTOR_IV, 2) - .inputItems(ELECTRIC_PISTON_IV) - .inputItems(CustomTags.IV_CIRCUITS) - .outputItems(ROBOT_ARM_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(cableGtSingle, Tungsten, 3) + .inputItems(rod, TungstenSteel, 2) + .inputItems(ELECTRIC_MOTOR_IV, 2) + .inputItems(ELECTRIC_PISTON_IV) + .inputItems(CustomTags.IV_CIRCUITS) + .outputItems(ROBOT_ARM_IV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("robot_arm_luv") - .inputItems(rodLong, HSSS, 4) - .inputItems(gear, HSSS) - .inputItems(gearSmall, HSSS, 3) - .inputItems(ELECTRIC_MOTOR_LuV, 2) - .inputItems(ELECTRIC_PISTON_LUV) - .inputItems(CustomTags.LuV_CIRCUITS) - .inputItems(CustomTags.IV_CIRCUITS, 2) - .inputItems(CustomTags.EV_CIRCUITS, 4) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .inputFluids(Lubricant.getFluid(250)) - .outputItems(ROBOT_ARM_LuV) - .duration(600).EUt(6000).save(provider); + .inputItems(rodLong, HSSS, 4) + .inputItems(gear, HSSS) + .inputItems(gearSmall, HSSS, 3) + .inputItems(ELECTRIC_MOTOR_LuV, 2) + .inputItems(ELECTRIC_PISTON_LUV) + .inputItems(CustomTags.LuV_CIRCUITS) + .inputItems(CustomTags.IV_CIRCUITS, 2) + .inputItems(CustomTags.EV_CIRCUITS, 4) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .inputFluids(Lubricant.getFluid(250)) + .outputItems(ROBOT_ARM_LuV) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("robot_arm_zpm") - .inputItems(rodLong, Osmiridium, 4) - .inputItems(gear, Osmiridium) - .inputItems(gearSmall, Osmiridium, 3) - .inputItems(ELECTRIC_MOTOR_ZPM, 2) - .inputItems(ELECTRIC_PISTON_ZPM) - .inputItems(CustomTags.ZPM_CIRCUITS) - .inputItems(CustomTags.LuV_CIRCUITS, 2) - .inputItems(CustomTags.IV_CIRCUITS, 4) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 8)) - .inputFluids(Lubricant.getFluid(500)) - .outputItems(ROBOT_ARM_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(rodLong, Osmiridium, 4) + .inputItems(gear, Osmiridium) + .inputItems(gearSmall, Osmiridium, 3) + .inputItems(ELECTRIC_MOTOR_ZPM, 2) + .inputItems(ELECTRIC_PISTON_ZPM) + .inputItems(CustomTags.ZPM_CIRCUITS) + .inputItems(CustomTags.LuV_CIRCUITS, 2) + .inputItems(CustomTags.IV_CIRCUITS, 4) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 8)) + .inputFluids(Lubricant.getFluid(500)) + .outputItems(ROBOT_ARM_ZPM) + .scannerResearch(b -> b + .researchStack(ROBOT_ARM_LuV.asStack()) + .duration(1200) + .EUt(VA[IV])) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("robot_arm_uv") - .inputItems(rodLong, Tritanium, 4) - .inputItems(gear, Tritanium) - .inputItems(gearSmall, Tritanium, 3) - .inputItems(ELECTRIC_MOTOR_UV, 2) - .inputItems(ELECTRIC_PISTON_UV) - .inputItems(CustomTags.UV_CIRCUITS) - .inputItems(CustomTags.ZPM_CIRCUITS, 2) - .inputItems(CustomTags.LuV_CIRCUITS, 4) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .inputFluids(SolderingAlloy.getFluid(L * 12)) - .inputFluids(Lubricant.getFluid(1000)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(ROBOT_ARM_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(rodLong, Tritanium, 4) + .inputItems(gear, Tritanium) + .inputItems(gearSmall, Tritanium, 3) + .inputItems(ELECTRIC_MOTOR_UV, 2) + .inputItems(ELECTRIC_PISTON_UV) + .inputItems(CustomTags.UV_CIRCUITS) + .inputItems(CustomTags.ZPM_CIRCUITS, 2) + .inputItems(CustomTags.LuV_CIRCUITS, 4) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .inputFluids(SolderingAlloy.getFluid(L * 12)) + .inputFluids(Lubricant.getFluid(1000)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(ROBOT_ARM_UV) + .stationResearch(b -> b + .researchStack(ROBOT_ARM_ZPM.asStack()) + .CWUt(32) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); @@ -637,84 +672,94 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, true, "field_generator_iv", FIELD_GENERATOR_IV.asStack(), "WPW", "XGX", "WPW", 'W', new UnificationEntry(wireGtQuadruple, SamariumIronArsenicOxide), 'P', new UnificationEntry(plateDouble, TungstenSteel), 'G', QUANTUM_STAR.asStack(), 'X', CustomTags.IV_CIRCUITS); ASSEMBLER_RECIPES.recipeBuilder("field_generator_lv") - .inputItems(gem, EnderPearl) - .inputItems(plate, Steel, 2) - .inputItems(CustomTags.LV_CIRCUITS, 2) - .inputItems(wireGtQuadruple, ManganesePhosphide, 4) - .outputItems(FIELD_GENERATOR_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(gem, EnderPearl) + .inputItems(plate, Steel, 2) + .inputItems(CustomTags.LV_CIRCUITS, 2) + .inputItems(wireGtQuadruple, ManganesePhosphide, 4) + .outputItems(FIELD_GENERATOR_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("field_generator_mv") - .inputItems(gem, EnderEye) - .inputItems(plate, Aluminium, 2) - .inputItems(CustomTags.MV_CIRCUITS, 2) - .inputItems(wireGtQuadruple, MagnesiumDiboride, 4) - .outputItems(FIELD_GENERATOR_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(gem, EnderEye) + .inputItems(plate, Aluminium, 2) + .inputItems(CustomTags.MV_CIRCUITS, 2) + .inputItems(wireGtQuadruple, MagnesiumDiboride, 4) + .outputItems(FIELD_GENERATOR_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("field_generator_hv") - .inputItems(QUANTUM_EYE) - .inputItems(plate, StainlessSteel, 2) - .inputItems(CustomTags.HV_CIRCUITS, 2) - .inputItems(wireGtQuadruple, MercuryBariumCalciumCuprate, 4) - .outputItems(FIELD_GENERATOR_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(QUANTUM_EYE) + .inputItems(plate, StainlessSteel, 2) + .inputItems(CustomTags.HV_CIRCUITS, 2) + .inputItems(wireGtQuadruple, MercuryBariumCalciumCuprate, 4) + .outputItems(FIELD_GENERATOR_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("field_generator_ev") - .inputItems(gem, NetherStar) - .inputItems(plateDouble, Titanium, 2) - .inputItems(CustomTags.EV_CIRCUITS, 2) - .inputItems(wireGtQuadruple, UraniumTriplatinum, 4) - .outputItems(FIELD_GENERATOR_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(gem, NetherStar) + .inputItems(plateDouble, Titanium, 2) + .inputItems(CustomTags.EV_CIRCUITS, 2) + .inputItems(wireGtQuadruple, UraniumTriplatinum, 4) + .outputItems(FIELD_GENERATOR_EV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("field_generator_iv") - .inputItems(QUANTUM_STAR) - .inputItems(plateDouble, TungstenSteel, 2) - .inputItems(CustomTags.IV_CIRCUITS, 2) - .inputItems(wireGtQuadruple, SamariumIronArsenicOxide, 4) - .outputItems(FIELD_GENERATOR_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(QUANTUM_STAR) + .inputItems(plateDouble, TungstenSteel, 2) + .inputItems(CustomTags.IV_CIRCUITS, 2) + .inputItems(wireGtQuadruple, SamariumIronArsenicOxide, 4) + .outputItems(FIELD_GENERATOR_IV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("field_generator_luv") - .inputItems(frameGt, HSSS) - .inputItems(plate, HSSS, 6) - .inputItems(QUANTUM_STAR) - .inputItems(EMITTER_LuV, 2) - .inputItems(CustomTags.LuV_CIRCUITS, 2) - .inputItems(wireFine, IndiumTinBariumTitaniumCuprate, 64) - .inputItems(wireFine, IndiumTinBariumTitaniumCuprate, 64) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .outputItems(FIELD_GENERATOR_LuV) - .duration(600).EUt(6000).save(provider); + .inputItems(frameGt, HSSS) + .inputItems(plate, HSSS, 6) + .inputItems(QUANTUM_STAR) + .inputItems(EMITTER_LuV, 2) + .inputItems(CustomTags.LuV_CIRCUITS, 2) + .inputItems(wireFine, IndiumTinBariumTitaniumCuprate, 64) + .inputItems(wireFine, IndiumTinBariumTitaniumCuprate, 64) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .outputItems(FIELD_GENERATOR_LuV) + .scannerResearch(b -> b + .researchStack(FIELD_GENERATOR_IV.asStack()) + .duration(2400)) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("field_generator_zpm") - .inputItems(frameGt, NaquadahAlloy) - .inputItems(plate, NaquadahAlloy, 6) - .inputItems(QUANTUM_STAR) - .inputItems(EMITTER_ZPM, 2) - .inputItems(CustomTags.ZPM_CIRCUITS, 2) - .inputItems(wireFine, UraniumRhodiumDinaquadide, 64) - .inputItems(wireFine, UraniumRhodiumDinaquadide, 64) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 8)) - .outputItems(FIELD_GENERATOR_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(frameGt, NaquadahAlloy) + .inputItems(plate, NaquadahAlloy, 6) + .inputItems(QUANTUM_STAR) + .inputItems(EMITTER_ZPM, 2) + .inputItems(CustomTags.ZPM_CIRCUITS, 2) + .inputItems(wireFine, UraniumRhodiumDinaquadide, 64) + .inputItems(wireFine, UraniumRhodiumDinaquadide, 64) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 8)) + .outputItems(FIELD_GENERATOR_ZPM) + .stationResearch(b -> b + .researchStack(FIELD_GENERATOR_LuV.asStack()) + .CWUt(4)) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("field_generator_uv") - .inputItems(frameGt, Tritanium) - .inputItems(plate, Tritanium, 6) - .inputItems(GRAVI_STAR) - .inputItems(EMITTER_UV, 2) - .inputItems(CustomTags.UV_CIRCUITS, 2) - .inputItems(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) - .inputItems(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .inputFluids(SolderingAlloy.getFluid(L * 12)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(FIELD_GENERATOR_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(frameGt, Tritanium) + .inputItems(plate, Tritanium, 6) + .inputItems(GRAVI_STAR) + .inputItems(EMITTER_UV, 2) + .inputItems(CustomTags.UV_CIRCUITS, 2) + .inputItems(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) + .inputItems(wireFine, EnrichedNaquadahTriniumEuropiumDuranide, 64) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .inputFluids(SolderingAlloy.getFluid(L * 12)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(FIELD_GENERATOR_UV) + .stationResearch(b -> b + .researchStack(FIELD_GENERATOR_ZPM.asStack()) + .CWUt(48) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); @@ -726,85 +771,94 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, true, "sensor_iv", SENSOR_IV.asStack(), "P G", "PR ", "XPP", 'P', new UnificationEntry(plate, TungstenSteel), 'R', new UnificationEntry(rod, Iridium), 'G', QUANTUM_STAR.asStack(), 'X', CustomTags.IV_CIRCUITS); ASSEMBLER_RECIPES.recipeBuilder("sensor_lv") - .inputItems(rod, Brass) - .inputItems(plate, Steel, 4) - .inputItems(CustomTags.LV_CIRCUITS) - .inputItems(gem, Quartzite) - .outputItems(SENSOR_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Brass) + .inputItems(plate, Steel, 4) + .inputItems(CustomTags.LV_CIRCUITS) + .inputItems(gem, Quartzite) + .outputItems(SENSOR_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("sensor_mv") - .inputItems(rod, Electrum) - .inputItems(plate, Aluminium, 4) - .inputItems(CustomTags.MV_CIRCUITS) - .inputItems(gemFlawless, Emerald) - .outputItems(SENSOR_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Electrum) + .inputItems(plate, Aluminium, 4) + .inputItems(CustomTags.MV_CIRCUITS) + .inputItems(gemFlawless, Emerald) + .outputItems(SENSOR_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("sensor_hv") - .inputItems(rod, Chromium) - .inputItems(plate, StainlessSteel, 4) - .inputItems(CustomTags.HV_CIRCUITS) - .inputItems(gem, EnderEye) - .outputItems(SENSOR_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Chromium) + .inputItems(plate, StainlessSteel, 4) + .inputItems(CustomTags.HV_CIRCUITS) + .inputItems(gem, EnderEye) + .outputItems(SENSOR_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("sensor_ev") - .inputItems(rod, Platinum) - .inputItems(plate, Titanium, 4) - .inputItems(CustomTags.EV_CIRCUITS) - .inputItems(QUANTUM_EYE) - .outputItems(SENSOR_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Platinum) + .inputItems(plate, Titanium, 4) + .inputItems(CustomTags.EV_CIRCUITS) + .inputItems(QUANTUM_EYE) + .outputItems(SENSOR_EV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("sensor_iv") - .inputItems(rod, Iridium) - .inputItems(plate, TungstenSteel, 4) - .inputItems(CustomTags.IV_CIRCUITS) - .inputItems(QUANTUM_STAR) - .outputItems(SENSOR_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Iridium) + .inputItems(plate, TungstenSteel, 4) + .inputItems(CustomTags.IV_CIRCUITS) + .inputItems(QUANTUM_STAR) + .outputItems(SENSOR_IV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("sensor_luv") - .inputItems(frameGt, HSSS) - .inputItems(ELECTRIC_MOTOR_LuV) - .inputItems(plate, Ruridit, 4) - .inputItems(QUANTUM_STAR) - .inputItems(CustomTags.LuV_CIRCUITS, 2) - .inputItems(foil, Palladium, 64) - .inputItems(foil, Palladium, 32) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 2)) - .outputItems(SENSOR_LuV) - .scannerResearch(SENSOR_IV.asStack()) - .duration(600).EUt(6000).save(provider); + .inputItems(frameGt, HSSS) + .inputItems(ELECTRIC_MOTOR_LuV) + .inputItems(plate, Ruridit, 4) + .inputItems(QUANTUM_STAR) + .inputItems(CustomTags.LuV_CIRCUITS, 2) + .inputItems(foil, Palladium, 64) + .inputItems(foil, Palladium, 32) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 2)) + .outputItems(SENSOR_LuV) + .scannerResearch(b -> b + .researchStack(SENSOR_IV.asStack()) + .duration(2400)) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("sensor_zpm") - .inputItems(frameGt, NaquadahAlloy) - .inputItems(ELECTRIC_MOTOR_ZPM) - .inputItems(plate, Osmiridium, 4) - .inputItems(QUANTUM_STAR, 2) - .inputItems(CustomTags.ZPM_CIRCUITS, 2) - .inputItems(foil, Trinium, 64) - .inputItems(foil, Trinium, 32) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .outputItems(SENSOR_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(frameGt, NaquadahAlloy) + .inputItems(ELECTRIC_MOTOR_ZPM) + .inputItems(plate, Osmiridium, 4) + .inputItems(QUANTUM_STAR, 2) + .inputItems(CustomTags.ZPM_CIRCUITS, 2) + .inputItems(foil, Trinium, 64) + .inputItems(foil, Trinium, 32) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .outputItems(SENSOR_ZPM) + .stationResearch(b -> b + .researchStack(SENSOR_LuV.asStack()) + .CWUt(4)) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("sensor_uv") - .inputItems(frameGt, Tritanium) - .inputItems(ELECTRIC_MOTOR_UV) - .inputItems(plate, Tritanium, 4) - .inputItems(GRAVI_STAR) - .inputItems(CustomTags.UV_CIRCUITS, 2) - .inputItems(foil, Naquadria, 64) - .inputItems(foil, Naquadria, 32) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .inputFluids(SolderingAlloy.getFluid(L * 8)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(SENSOR_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(frameGt, Tritanium) + .inputItems(ELECTRIC_MOTOR_UV) + .inputItems(plate, Tritanium, 4) + .inputItems(GRAVI_STAR) + .inputItems(CustomTags.UV_CIRCUITS, 2) + .inputItems(foil, Naquadria, 64) + .inputItems(foil, Naquadria, 32) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .inputFluids(SolderingAlloy.getFluid(L * 8)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(SENSOR_UV) + .stationResearch(b -> b + .researchStack(SENSOR_ZPM.asStack()) + .CWUt(48) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); //Emitters Start------------------------------------------------------------------------------------------------ @@ -815,88 +869,98 @@ public static void init(Consumer provider) { VanillaRecipeHelper.addShapedRecipe(provider, true, "emitter_iv", EMITTER_IV.asStack(), "CRX", "RGR", "XRC", 'R', new UnificationEntry(rod, Iridium), 'C', new UnificationEntry(cableGtSingle, Tungsten), 'G', QUANTUM_STAR.asStack(), 'X', CustomTags.IV_CIRCUITS); ASSEMBLER_RECIPES.recipeBuilder("emitter_lv") - .inputItems(rod, Brass, 4) - .inputItems(cableGtSingle, Tin, 2) - .inputItems(CustomTags.LV_CIRCUITS, 2) - .inputItems(gem, Quartzite) - .circuitMeta(1) - .outputItems(EMITTER_LV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Brass, 4) + .inputItems(cableGtSingle, Tin, 2) + .inputItems(CustomTags.LV_CIRCUITS, 2) + .inputItems(gem, Quartzite) + .circuitMeta(1) + .outputItems(EMITTER_LV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("emitter_mv") - .inputItems(rod, Electrum, 4) - .inputItems(cableGtSingle, Copper, 2) - .inputItems(CustomTags.MV_CIRCUITS, 2) - .inputItems(gemFlawless, Emerald) - .circuitMeta(1) - .outputItems(EMITTER_MV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Electrum, 4) + .inputItems(cableGtSingle, Copper, 2) + .inputItems(CustomTags.MV_CIRCUITS, 2) + .inputItems(gemFlawless, Emerald) + .circuitMeta(1) + .outputItems(EMITTER_MV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("emitter_hv") - .inputItems(rod, Chromium, 4) - .inputItems(cableGtSingle, Gold, 2) - .inputItems(CustomTags.HV_CIRCUITS, 2) - .inputItems(gem, EnderEye) - .circuitMeta(1) - .outputItems(EMITTER_HV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Chromium, 4) + .inputItems(cableGtSingle, Gold, 2) + .inputItems(CustomTags.HV_CIRCUITS, 2) + .inputItems(gem, EnderEye) + .circuitMeta(1) + .outputItems(EMITTER_HV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("emitter_ev") - .inputItems(rod, Platinum, 4) - .inputItems(cableGtSingle, Aluminium, 2) - .inputItems(CustomTags.EV_CIRCUITS, 2) - .inputItems(QUANTUM_EYE) - .circuitMeta(1) - .outputItems(EMITTER_EV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Platinum, 4) + .inputItems(cableGtSingle, Aluminium, 2) + .inputItems(CustomTags.EV_CIRCUITS, 2) + .inputItems(QUANTUM_EYE) + .circuitMeta(1) + .outputItems(EMITTER_EV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("emitter_iv") - .inputItems(rod, Iridium, 4) - .inputItems(cableGtSingle, Tungsten, 2) - .inputItems(CustomTags.IV_CIRCUITS, 2) - .inputItems(QUANTUM_STAR) - .circuitMeta(1) - .outputItems(EMITTER_IV) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(rod, Iridium, 4) + .inputItems(cableGtSingle, Tungsten, 2) + .inputItems(CustomTags.IV_CIRCUITS, 2) + .inputItems(QUANTUM_STAR) + .circuitMeta(1) + .outputItems(EMITTER_IV) + .duration(100).EUt(VA[LV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("emitter_luv") - .inputItems(frameGt, HSSS) - .inputItems(ELECTRIC_MOTOR_LuV) - .inputItems(rodLong, Ruridit, 4) - .inputItems(QUANTUM_STAR) - .inputItems(CustomTags.LuV_CIRCUITS, 2) - .inputItems(foil, Palladium, 64) - .inputItems(foil, Palladium, 32) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 2)) - .outputItems(EMITTER_LuV) - .duration(600).EUt(6000).save(provider); + .inputItems(frameGt, HSSS) + .inputItems(ELECTRIC_MOTOR_LuV) + .inputItems(rodLong, Ruridit, 4) + .inputItems(QUANTUM_STAR) + .inputItems(CustomTags.LuV_CIRCUITS, 2) + .inputItems(foil, Palladium, 64) + .inputItems(foil, Palladium, 32) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 2)) + .outputItems(EMITTER_LuV) + .scannerResearch(b -> b + .researchStack(EMITTER_IV.asStack()) + .duration(2400)) + .duration(600).EUt(6000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("emitter_zpm") - .inputItems(frameGt, NaquadahAlloy) - .inputItems(ELECTRIC_MOTOR_ZPM) - .inputItems(rodLong, Osmiridium, 4) - .inputItems(QUANTUM_STAR, 2) - .inputItems(CustomTags.ZPM_CIRCUITS, 2) - .inputItems(foil, Trinium, 64) - .inputItems(foil, Trinium, 32) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .inputFluids(SolderingAlloy.getFluid(L * 4)) - .outputItems(EMITTER_ZPM) - .duration(600).EUt(24000).save(provider); + .inputItems(frameGt, NaquadahAlloy) + .inputItems(ELECTRIC_MOTOR_ZPM) + .inputItems(rodLong, Osmiridium, 4) + .inputItems(QUANTUM_STAR, 2) + .inputItems(CustomTags.ZPM_CIRCUITS, 2) + .inputItems(foil, Trinium, 64) + .inputItems(foil, Trinium, 32) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .inputFluids(SolderingAlloy.getFluid(L * 4)) + .outputItems(EMITTER_ZPM) + .stationResearch(b -> b + .researchStack(EMITTER_LuV.asStack()) + .CWUt(8)) + .duration(600).EUt(24000).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("emitter_uv") - .inputItems(frameGt, Tritanium) - .inputItems(ELECTRIC_MOTOR_UV) - .inputItems(rodLong, Tritanium, 4) - .inputItems(GRAVI_STAR) - .inputItems(CustomTags.UV_CIRCUITS, 2) - .inputItems(foil, Naquadria, 64) - .inputItems(foil, Naquadria, 32) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .inputFluids(SolderingAlloy.getFluid(L * 8)) - .inputFluids(Naquadria.getFluid(L * 4)) - .outputItems(EMITTER_UV) - .duration(600).EUt(100000).save(provider); + .inputItems(frameGt, Tritanium) + .inputItems(ELECTRIC_MOTOR_UV) + .inputItems(rodLong, Tritanium, 4) + .inputItems(GRAVI_STAR) + .inputItems(CustomTags.UV_CIRCUITS, 2) + .inputItems(foil, Naquadria, 64) + .inputItems(foil, Naquadria, 32) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .inputFluids(SolderingAlloy.getFluid(L * 8)) + .inputFluids(Naquadria.getFluid(L * 4)) + .outputItems(EMITTER_UV) + .stationResearch(b -> b + .researchStack(EMITTER_ZPM.asStack()) + .CWUt(48) + .EUt(VA[ZPM])) + .duration(600).EUt(100000).save(provider); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MachineRecipeLoader.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MachineRecipeLoader.java index b831689360..1a6f073b93 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MachineRecipeLoader.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MachineRecipeLoader.java @@ -1009,6 +1009,13 @@ private static void registerNBTRemoval(Consumer provider) { VanillaRecipeHelper.addShapelessNBTClearingRecipe(provider, "cell_nbt_tungstensteel", FLUID_CELL_LARGE_TUNGSTEN_STEEL.asStack(), FLUID_CELL_LARGE_TUNGSTEN_STEEL.asStack()); VanillaRecipeHelper.addShapelessNBTClearingRecipe(provider, "cell_vial_nbt", FLUID_CELL_GLASS_VIAL.asStack(), FLUID_CELL_GLASS_VIAL.asStack()); + // Data Items + VanillaRecipeHelper.addShapelessNBTClearingRecipe(provider, "data_stick_nbt", TOOL_DATA_STICK.asStack(), + TOOL_DATA_STICK.asStack()); + VanillaRecipeHelper.addShapelessNBTClearingRecipe(provider, "data_orb_nbt", TOOL_DATA_ORB.asStack(), + TOOL_DATA_ORB.asStack()); + VanillaRecipeHelper.addShapelessNBTClearingRecipe(provider, "data_module_nbt", TOOL_DATA_MODULE.asStack(), + TOOL_DATA_MODULE.asStack()); //Jetpacks // TODO armor diff --git a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityMachineRecipeLoader.java b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityMachineRecipeLoader.java index 8b595950fa..a8ff444088 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityMachineRecipeLoader.java +++ b/src/main/java/com/gregtechceu/gtceu/data/recipe/misc/MetaTileEntityMachineRecipeLoader.java @@ -26,714 +26,739 @@ public class MetaTileEntityMachineRecipeLoader { public static void init(Consumer provider) { registerLaserRecipes(provider); - + // Energy Output Hatches VanillaRecipeHelper.addShapedRecipe(provider, true, "dynamo_hatch_ulv", ENERGY_OUTPUT_HATCH[ULV].asStack(), - " V ", "SHS", " ", - 'S', new UnificationEntry(spring, Lead), - 'V', VOLTAGE_COIL_ULV.asStack(), - 'H', HULL[ULV].asStack()); + " V ", "SHS", " ", + 'S', new UnificationEntry(spring, Lead), + 'V', VOLTAGE_COIL_ULV.asStack(), + 'H', HULL[ULV].asStack()); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_ulv") - .inputItems(HULL[ULV]) - .inputItems(spring, Lead, 2) - .inputItems(VOLTAGE_COIL_ULV) - .outputItems(ENERGY_OUTPUT_HATCH[ULV]) - .duration(200).EUt(VA[ULV]).save(provider); + .inputItems(HULL[ULV]) + .inputItems(spring, Lead, 2) + .inputItems(VOLTAGE_COIL_ULV) + .outputItems(ENERGY_OUTPUT_HATCH[ULV]) + .duration(200).EUt(VA[ULV]).save(provider); VanillaRecipeHelper.addShapedRecipe(provider, true, "dynamo_hatch_lv", ENERGY_OUTPUT_HATCH[LV].asStack(), - " V ", "SHS", " ", - 'S', new UnificationEntry(spring, Tin), - 'V', VOLTAGE_COIL_LV.asStack(), - 'H', HULL[LV].asStack()); + " V ", "SHS", " ", + 'S', new UnificationEntry(spring, Tin), + 'V', VOLTAGE_COIL_LV.asStack(), + 'H', HULL[LV].asStack()); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_lv") - .inputItems(HULL[LV]) - .inputItems(spring, Tin, 2) - .inputItems(VOLTAGE_COIL_LV) - .outputItems(ENERGY_OUTPUT_HATCH[LV]) - .duration(200).EUt(VA[LV]).save(provider); + .inputItems(HULL[LV]) + .inputItems(spring, Tin, 2) + .inputItems(VOLTAGE_COIL_LV) + .outputItems(ENERGY_OUTPUT_HATCH[LV]) + .duration(200).EUt(VA[LV]).save(provider); VanillaRecipeHelper.addShapedRecipe(provider, true, "dynamo_hatch_mv", ENERGY_OUTPUT_HATCH[MV].asStack(), - " V ", "SHS", " P ", - 'P', ULTRA_LOW_POWER_INTEGRATED_CIRCUIT.asStack(), - 'S', new UnificationEntry(spring, Copper), - 'V', VOLTAGE_COIL_MV.asStack(), - 'H', HULL[MV].asStack()); + " V ", "SHS", " P ", + 'P', ULTRA_LOW_POWER_INTEGRATED_CIRCUIT.asStack(), + 'S', new UnificationEntry(spring, Copper), + 'V', VOLTAGE_COIL_MV.asStack(), + 'H', HULL[MV].asStack()); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_mv") - .inputItems(HULL[MV]) - .inputItems(spring, Copper, 2) - .inputItems(ULTRA_LOW_POWER_INTEGRATED_CIRCUIT) - .inputItems(VOLTAGE_COIL_MV) - .outputItems(ENERGY_OUTPUT_HATCH[MV]) - .duration(200).EUt(VA[MV]).save(provider); + .inputItems(HULL[MV]) + .inputItems(spring, Copper, 2) + .inputItems(ULTRA_LOW_POWER_INTEGRATED_CIRCUIT) + .inputItems(VOLTAGE_COIL_MV) + .outputItems(ENERGY_OUTPUT_HATCH[MV]) + .duration(200).EUt(VA[MV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_hv") - .inputItems(HULL[HV]) - .inputItems(spring, Gold, 2) - .inputItems(LOW_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(VOLTAGE_COIL_HV) - .inputFluids(SodiumPotassium.getFluid(1000)) - .outputItems(ENERGY_OUTPUT_HATCH[HV]) - .duration(200).EUt(VA[HV]).save(provider); + .inputItems(HULL[HV]) + .inputItems(spring, Gold, 2) + .inputItems(LOW_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(VOLTAGE_COIL_HV) + .inputFluids(SodiumPotassium.getFluid(1000)) + .outputItems(ENERGY_OUTPUT_HATCH[HV]) + .duration(200).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_ev") - .inputItems(HULL[EV]) - .inputItems(spring, Aluminium, 2) - .inputItems(POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(VOLTAGE_COIL_EV) - .inputFluids(SodiumPotassium.getFluid(2000)) - .outputItems(ENERGY_OUTPUT_HATCH[EV]) - .duration(200).EUt(VA[EV]).save(provider); + .inputItems(HULL[EV]) + .inputItems(spring, Aluminium, 2) + .inputItems(POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(VOLTAGE_COIL_EV) + .inputFluids(SodiumPotassium.getFluid(2000)) + .outputItems(ENERGY_OUTPUT_HATCH[EV]) + .duration(200).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_iv") - .inputItems(HULL[IV]) - .inputItems(spring, Tungsten, 2) - .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(VOLTAGE_COIL_IV) - .inputFluids(SodiumPotassium.getFluid(3000)) - .outputItems(ENERGY_OUTPUT_HATCH[IV]) - .duration(200).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(spring, Tungsten, 2) + .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(VOLTAGE_COIL_IV) + .inputFluids(SodiumPotassium.getFluid(3000)) + .outputItems(ENERGY_OUTPUT_HATCH[IV]) + .duration(200).EUt(VA[IV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("dynamo_hatch_luv") - .inputItems(HULL[LuV]) - .inputItems(spring, NiobiumTitanium, 4) - .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.LuV_CIRCUITS) - .inputItems(VOLTAGE_COIL_LuV, 2) - .inputFluids(SodiumPotassium.getFluid(6000)) - .inputFluids(SolderingAlloy.getFluid(720)) - .outputItems(ENERGY_OUTPUT_HATCH[LuV]) - .duration(400).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(spring, NiobiumTitanium, 4) + .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.LuV_CIRCUITS) + .inputItems(VOLTAGE_COIL_LuV, 2) + .inputFluids(SodiumPotassium.getFluid(6000)) + .inputFluids(SolderingAlloy.getFluid(720)) + .outputItems(ENERGY_OUTPUT_HATCH[LuV]) + .duration(400).EUt(VA[LuV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("dynamo_hatch_zpm") - .inputItems(HULL[ZPM]) - .inputItems(spring, VanadiumGallium, 4) - .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.ZPM_CIRCUITS) - .inputItems(VOLTAGE_COIL_ZPM, 2) - .inputFluids(SodiumPotassium.getFluid(8000)) - .inputFluids(SolderingAlloy.getFluid(1440)) - .outputItems(ENERGY_OUTPUT_HATCH[ZPM]) - .duration(600).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(spring, VanadiumGallium, 4) + .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.ZPM_CIRCUITS) + .inputItems(VOLTAGE_COIL_ZPM, 2) + .inputFluids(SodiumPotassium.getFluid(8000)) + .inputFluids(SolderingAlloy.getFluid(1440)) + .outputItems(ENERGY_OUTPUT_HATCH[ZPM]) + .stationResearch(b -> b + .researchStack(ENERGY_OUTPUT_HATCH[LuV].asStack()) + .CWUt(8)) + .duration(600).EUt(VA[ZPM]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("dynamo_hatch_uv") - .inputItems(HULL[UV]) - .inputItems(spring, YttriumBariumCuprate, 4) - .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.UV_CIRCUITS) - .inputItems(VOLTAGE_COIL_UV, 2) - .inputFluids(SodiumPotassium.getFluid(10000)) - .inputFluids(SolderingAlloy.getFluid(2880)) - .outputItems(ENERGY_OUTPUT_HATCH[UV]) - .duration(800).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(spring, YttriumBariumCuprate, 4) + .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.UV_CIRCUITS) + .inputItems(VOLTAGE_COIL_UV, 2) + .inputFluids(SodiumPotassium.getFluid(10000)) + .inputFluids(SolderingAlloy.getFluid(2880)) + .outputItems(ENERGY_OUTPUT_HATCH[UV]) + .stationResearch(b -> b + .researchStack(ENERGY_OUTPUT_HATCH[ZPM].asStack()) + .CWUt(64) + .EUt(VA[ZPM])) + .duration(800).EUt(VA[UV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("dynamo_hatch_uhv") - .inputItems(HULL[UHV]) - .inputItems(spring, Europium, 4) - .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.UHV_CIRCUITS) - .inputItems(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2) - .inputFluids(SodiumPotassium.getFluid(12000)) - .inputFluids(SolderingAlloy.getFluid(5760)) - .outputItems(ENERGY_OUTPUT_HATCH[UHV]) - .duration(1000).EUt(VA[UHV]).save(provider); + .inputItems(HULL[UHV]) + .inputItems(spring, Europium, 4) + .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.UHV_CIRCUITS) + .inputItems(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2) + .inputFluids(SodiumPotassium.getFluid(12000)) + .inputFluids(SolderingAlloy.getFluid(5760)) + .outputItems(ENERGY_OUTPUT_HATCH[UHV]) + .stationResearch(b -> b + .researchStack(ENERGY_OUTPUT_HATCH[UV].asStack()) + .CWUt(128) + .EUt(VA[UV])) + .duration(1000).EUt(VA[UHV]).save(provider); // Energy Input Hatches VanillaRecipeHelper.addShapedRecipe(provider, true, "energy_hatch_ulv", ENERGY_INPUT_HATCH[ULV].asStack(), - " V ", "CHC", " ", - 'C', new UnificationEntry(cableGtSingle, RedAlloy), - 'V', VOLTAGE_COIL_ULV.asStack(), - 'H', HULL[ULV].asStack()); + " V ", "CHC", " ", + 'C', new UnificationEntry(cableGtSingle, RedAlloy), + 'V', VOLTAGE_COIL_ULV.asStack(), + 'H', HULL[ULV].asStack()); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_ulv") - .inputItems(HULL[ULV]) - .inputItems(cableGtSingle, RedAlloy, 2) - .inputItems(VOLTAGE_COIL_ULV) - .outputItems(ENERGY_INPUT_HATCH[ULV]) - .duration(200).EUt(VA[ULV]).save(provider); + .inputItems(HULL[ULV]) + .inputItems(cableGtSingle, RedAlloy, 2) + .inputItems(VOLTAGE_COIL_ULV) + .outputItems(ENERGY_INPUT_HATCH[ULV]) + .duration(200).EUt(VA[ULV]).save(provider); VanillaRecipeHelper.addShapedRecipe(provider, true, "energy_hatch_lv", ENERGY_INPUT_HATCH[LV].asStack(), - " V ", "CHC", " ", - 'C', new UnificationEntry(cableGtSingle, Tin), - 'V', VOLTAGE_COIL_LV.asStack(), - 'H', HULL[LV].asStack()); + " V ", "CHC", " ", + 'C', new UnificationEntry(cableGtSingle, Tin), + 'V', VOLTAGE_COIL_LV.asStack(), + 'H', HULL[LV].asStack()); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_lv") - .inputItems(HULL[LV]) - .inputItems(cableGtSingle, Tin, 2) - .inputItems(VOLTAGE_COIL_LV) - .outputItems(ENERGY_INPUT_HATCH[LV]) - .duration(200).EUt(VA[LV]).save(provider); + .inputItems(HULL[LV]) + .inputItems(cableGtSingle, Tin, 2) + .inputItems(VOLTAGE_COIL_LV) + .outputItems(ENERGY_INPUT_HATCH[LV]) + .duration(200).EUt(VA[LV]).save(provider); VanillaRecipeHelper.addShapedRecipe(provider, true, "energy_hatch_mv", ENERGY_INPUT_HATCH[MV].asStack(), - " V ", "CHC", " P ", - 'C', new UnificationEntry(cableGtSingle, Copper), - 'P', ULTRA_LOW_POWER_INTEGRATED_CIRCUIT.asStack(), - 'V', VOLTAGE_COIL_MV.asStack(), - 'H', HULL[MV].asStack()); + " V ", "CHC", " P ", + 'C', new UnificationEntry(cableGtSingle, Copper), + 'P', ULTRA_LOW_POWER_INTEGRATED_CIRCUIT.asStack(), + 'V', VOLTAGE_COIL_MV.asStack(), + 'H', HULL[MV].asStack()); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_mv") - .inputItems(HULL[MV]) - .inputItems(cableGtSingle, Copper, 2) - .inputItems(ULTRA_LOW_POWER_INTEGRATED_CIRCUIT) - .inputItems(VOLTAGE_COIL_MV) - .outputItems(ENERGY_INPUT_HATCH[MV]) - .duration(200).EUt(VA[MV]).save(provider); + .inputItems(HULL[MV]) + .inputItems(cableGtSingle, Copper, 2) + .inputItems(ULTRA_LOW_POWER_INTEGRATED_CIRCUIT) + .inputItems(VOLTAGE_COIL_MV) + .outputItems(ENERGY_INPUT_HATCH[MV]) + .duration(200).EUt(VA[MV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_hv") - .inputItems(HULL[HV]) - .inputItems(cableGtSingle, Gold, 2) - .inputItems(LOW_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(VOLTAGE_COIL_HV) - .inputFluids(SodiumPotassium.getFluid(1000)) - .outputItems(ENERGY_INPUT_HATCH[HV]) - .duration(200).EUt(VA[HV]).save(provider); + .inputItems(HULL[HV]) + .inputItems(cableGtSingle, Gold, 2) + .inputItems(LOW_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(VOLTAGE_COIL_HV) + .inputFluids(SodiumPotassium.getFluid(1000)) + .outputItems(ENERGY_INPUT_HATCH[HV]) + .duration(200).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_ev") - .inputItems(HULL[EV]) - .inputItems(cableGtSingle, Aluminium, 2) - .inputItems(POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(VOLTAGE_COIL_EV) - .inputFluids(SodiumPotassium.getFluid(2000)) - .outputItems(ENERGY_INPUT_HATCH[EV]) - .duration(200).EUt(VA[EV]).save(provider); + .inputItems(HULL[EV]) + .inputItems(cableGtSingle, Aluminium, 2) + .inputItems(POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(VOLTAGE_COIL_EV) + .inputFluids(SodiumPotassium.getFluid(2000)) + .outputItems(ENERGY_INPUT_HATCH[EV]) + .duration(200).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_iv") - .inputItems(HULL[IV]) - .inputItems(cableGtSingle, Tungsten, 2) - .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(VOLTAGE_COIL_IV) - .inputFluids(SodiumPotassium.getFluid(3000)) - .outputItems(ENERGY_INPUT_HATCH[IV]) - .duration(200).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(cableGtSingle, Tungsten, 2) + .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(VOLTAGE_COIL_IV) + .inputFluids(SodiumPotassium.getFluid(3000)) + .outputItems(ENERGY_INPUT_HATCH[IV]) + .duration(200).EUt(VA[IV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("energy_hatch_luv") - .inputItems(HULL[LuV]) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.LuV_CIRCUITS) - .inputItems(VOLTAGE_COIL_LuV, 2) - .inputFluids(SodiumPotassium.getFluid(6000)) - .inputFluids(SolderingAlloy.getFluid(720)) - .outputItems(ENERGY_INPUT_HATCH[LuV]) - .duration(400).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .inputItems(HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.LuV_CIRCUITS) + .inputItems(VOLTAGE_COIL_LuV, 2) + .inputFluids(SodiumPotassium.getFluid(6000)) + .inputFluids(SolderingAlloy.getFluid(720)) + .outputItems(ENERGY_INPUT_HATCH[LuV]) + .scannerResearch(b -> b + .researchStack(ENERGY_INPUT_HATCH[IV].asStack()) + .EUt(VA[EV])) + .duration(400).EUt(VA[LuV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("energy_hatch_zpm") - .inputItems(HULL[ZPM]) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.ZPM_CIRCUITS) - .inputItems(VOLTAGE_COIL_ZPM, 2) - .inputFluids(SodiumPotassium.getFluid(8000)) - .inputFluids(SolderingAlloy.getFluid(1440)) - .outputItems(ENERGY_INPUT_HATCH[ZPM]) - .duration(600).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.ZPM_CIRCUITS) + .inputItems(VOLTAGE_COIL_ZPM, 2) + .inputFluids(SodiumPotassium.getFluid(8000)) + .inputFluids(SolderingAlloy.getFluid(1440)) + .outputItems(ENERGY_INPUT_HATCH[ZPM]) + .stationResearch(b -> b + .researchStack(ENERGY_INPUT_HATCH[LuV].asStack()) + .CWUt(8)) + .duration(600).EUt(VA[ZPM]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("energy_hatch_uv") - .inputItems(HULL[UV]) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.UV_CIRCUITS) - .inputItems(VOLTAGE_COIL_UV, 2) - .inputFluids(SodiumPotassium.getFluid(10000)) - .inputFluids(SolderingAlloy.getFluid(2880)) - .outputItems(ENERGY_INPUT_HATCH[UV]) - .duration(800).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.UV_CIRCUITS) + .inputItems(VOLTAGE_COIL_UV, 2) + .inputFluids(SodiumPotassium.getFluid(10000)) + .inputFluids(SolderingAlloy.getFluid(2880)) + .outputItems(ENERGY_INPUT_HATCH[UV]) + .stationResearch(b -> b + .researchStack(ENERGY_INPUT_HATCH[ZPM].asStack()) + .CWUt(64) + .EUt(VA[ZPM])) + .duration(800).EUt(VA[UV]).save(provider); ASSEMBLY_LINE_RECIPES.recipeBuilder("energy_hatch_uhv") - .inputItems(HULL[UHV]) - .inputItems(cableGtSingle, Europium, 4) - .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) - .inputItems(CustomTags.UHV_CIRCUITS) - .inputItems(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2) - .inputFluids(SodiumPotassium.getFluid(12000)) - .inputFluids(SolderingAlloy.getFluid(5760)) - .outputItems(ENERGY_INPUT_HATCH[UHV]) - .duration(1000).EUt(VA[UHV]).save(provider); + .inputItems(HULL[UHV]) + .inputItems(cableGtSingle, Europium, 4) + .inputItems(ULTRA_HIGH_POWER_INTEGRATED_CIRCUIT, 2) + .inputItems(CustomTags.UHV_CIRCUITS) + .inputItems(wireGtDouble, RutheniumTriniumAmericiumNeutronate, 2) + .inputFluids(SodiumPotassium.getFluid(12000)) + .inputFluids(SolderingAlloy.getFluid(5760)) + .outputItems(ENERGY_INPUT_HATCH[UHV]) + .stationResearch(b -> b + .researchStack(ENERGY_INPUT_HATCH[UV].asStack()) + .CWUt(128) + .EUt(VA[UV])) + .duration(1000).EUt(VA[UHV]).save(provider); // Power Transformers ASSEMBLER_RECIPES.recipeBuilder("ulv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[ULV]) - .inputItems(ELECTRIC_PUMP_LV) - .inputItems(cableGtOctal, Tin) - .inputItems(cableGtHex, Lead, 2) - .inputItems(springSmall, Lead) - .inputItems(spring, Tin) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[ULV]) - .duration(200).EUt(VA[ULV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[ULV]) + .inputItems(ELECTRIC_PUMP_LV) + .inputItems(cableGtOctal, Tin) + .inputItems(cableGtHex, Lead, 2) + .inputItems(springSmall, Lead) + .inputItems(spring, Tin) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[ULV]) + .duration(200).EUt(VA[ULV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("lv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[LV]) - .inputItems(ELECTRIC_PUMP_LV) - .inputItems(cableGtOctal, Copper) - .inputItems(cableGtHex, Tin, 2) - .inputItems(springSmall, Tin) - .inputItems(spring, Copper) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[LV]) - .duration(200).EUt(VA[LV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[LV]) + .inputItems(ELECTRIC_PUMP_LV) + .inputItems(cableGtOctal, Copper) + .inputItems(cableGtHex, Tin, 2) + .inputItems(springSmall, Tin) + .inputItems(spring, Copper) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[LV]) + .duration(200).EUt(VA[LV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("mv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[MV]) - .inputItems(ELECTRIC_PUMP_MV) - .inputItems(cableGtOctal, Gold) - .inputItems(cableGtHex, Copper, 2) - .inputItems(springSmall, Copper) - .inputItems(spring, Gold) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[MV]) - .duration(200).EUt(VA[MV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[MV]) + .inputItems(ELECTRIC_PUMP_MV) + .inputItems(cableGtOctal, Gold) + .inputItems(cableGtHex, Copper, 2) + .inputItems(springSmall, Copper) + .inputItems(spring, Gold) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[MV]) + .duration(200).EUt(VA[MV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("hv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[HV]) - .inputItems(ELECTRIC_PUMP_MV) - .inputItems(cableGtOctal, Aluminium) - .inputItems(cableGtHex, Gold, 2) - .inputItems(springSmall, Gold) - .inputItems(spring, Aluminium) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[HV]) - .duration(200).EUt(VA[HV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[HV]) + .inputItems(ELECTRIC_PUMP_MV) + .inputItems(cableGtOctal, Aluminium) + .inputItems(cableGtHex, Gold, 2) + .inputItems(springSmall, Gold) + .inputItems(spring, Aluminium) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[HV]) + .duration(200).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("ev_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[EV]) - .inputItems(ELECTRIC_PUMP_HV) - .inputItems(cableGtOctal, Tungsten) - .inputItems(cableGtHex, Aluminium, 2) - .inputItems(springSmall, Aluminium) - .inputItems(spring, Tungsten) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[EV]) - .duration(200).EUt(VA[EV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[EV]) + .inputItems(ELECTRIC_PUMP_HV) + .inputItems(cableGtOctal, Tungsten) + .inputItems(cableGtHex, Aluminium, 2) + .inputItems(springSmall, Aluminium) + .inputItems(spring, Tungsten) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[EV]) + .duration(200).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("iv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[IV]) - .inputItems(ELECTRIC_PUMP_HV) - .inputItems(cableGtOctal, NiobiumTitanium) - .inputItems(cableGtHex, Tungsten, 2) - .inputItems(springSmall, Tungsten) - .inputItems(spring, NiobiumTitanium) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[IV]) - .duration(200).EUt(VA[IV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[IV]) + .inputItems(ELECTRIC_PUMP_HV) + .inputItems(cableGtOctal, NiobiumTitanium) + .inputItems(cableGtHex, Tungsten, 2) + .inputItems(springSmall, Tungsten) + .inputItems(spring, NiobiumTitanium) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[IV]) + .duration(200).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[LuV]) - .inputItems(ELECTRIC_PUMP_EV) - .inputItems(cableGtOctal, VanadiumGallium) - .inputItems(cableGtHex, NiobiumTitanium, 2) - .inputItems(springSmall, NiobiumTitanium) - .inputItems(spring, VanadiumGallium) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[LuV]) - .duration(200).EUt(VA[LuV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[LuV]) + .inputItems(ELECTRIC_PUMP_EV) + .inputItems(cableGtOctal, VanadiumGallium) + .inputItems(cableGtHex, NiobiumTitanium, 2) + .inputItems(springSmall, NiobiumTitanium) + .inputItems(spring, VanadiumGallium) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[LuV]) + .duration(200).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[ZPM]) - .inputItems(ELECTRIC_PUMP_EV) - .inputItems(cableGtOctal, YttriumBariumCuprate) - .inputItems(cableGtHex, VanadiumGallium, 2) - .inputItems(springSmall, VanadiumGallium) - .inputItems(spring, YttriumBariumCuprate) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[ZPM]) - .duration(200).EUt(VA[ZPM]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[ZPM]) + .inputItems(ELECTRIC_PUMP_EV) + .inputItems(cableGtOctal, YttriumBariumCuprate) + .inputItems(cableGtHex, VanadiumGallium, 2) + .inputItems(springSmall, VanadiumGallium) + .inputItems(spring, YttriumBariumCuprate) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[ZPM]) + .duration(200).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_power_transformer") - .inputItems(HI_AMP_TRANSFORMER_4A[UV]) - .inputItems(ELECTRIC_PUMP_IV) - .inputItems(cableGtOctal, Europium) - .inputItems(cableGtHex, YttriumBariumCuprate, 2) - .inputItems(springSmall, YttriumBariumCuprate) - .inputItems(spring, Europium) - .inputFluids(Lubricant.getFluid(2000)) - .outputItems(POWER_TRANSFORMER[UV]) - .duration(200).EUt(VA[UV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[UV]) + .inputItems(ELECTRIC_PUMP_IV) + .inputItems(cableGtOctal, Europium) + .inputItems(cableGtHex, YttriumBariumCuprate, 2) + .inputItems(springSmall, YttriumBariumCuprate) + .inputItems(spring, Europium) + .inputFluids(Lubricant.getFluid(2000)) + .outputItems(POWER_TRANSFORMER[UV]) + .duration(200).EUt(VA[UV]).save(provider); // 4A Energy Hatches ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_4a_ev") - .inputItems(ENERGY_INPUT_HATCH[EV]) - .inputItems(wireGtQuadruple, Aluminium, 2) - .inputItems(plate, Titanium, 2) - .outputItems(ENERGY_INPUT_HATCH_4A[EV]) - .duration(100).EUt(VA[HV]).save(provider); + .inputItems(ENERGY_INPUT_HATCH[EV]) + .inputItems(wireGtQuadruple, Aluminium, 2) + .inputItems(plate, Titanium, 2) + .outputItems(ENERGY_INPUT_HATCH_4A[EV]) + .duration(100).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_4a_iv") - .inputItems(ENERGY_INPUT_HATCH[IV]) - .inputItems(wireGtQuadruple, Tungsten, 2) - .inputItems(plate, TungstenSteel, 2) - .outputItems(ENERGY_INPUT_HATCH_4A[IV]) - .duration(100).EUt(VA[EV]).save(provider); + .inputItems(ENERGY_INPUT_HATCH[IV]) + .inputItems(wireGtQuadruple, Tungsten, 2) + .inputItems(plate, TungstenSteel, 2) + .outputItems(ENERGY_INPUT_HATCH_4A[IV]) + .duration(100).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_4a_luv") - .inputItems(ENERGY_INPUT_HATCH[LuV]) - .inputItems(wireGtQuadruple, NiobiumTitanium, 2) - .inputItems(plate, RhodiumPlatedPalladium, 2) - .outputItems(ENERGY_INPUT_HATCH_4A[LuV]) - .duration(100).EUt(VA[IV]).save(provider); + .inputItems(ENERGY_INPUT_HATCH[LuV]) + .inputItems(wireGtQuadruple, NiobiumTitanium, 2) + .inputItems(plate, RhodiumPlatedPalladium, 2) + .outputItems(ENERGY_INPUT_HATCH_4A[LuV]) + .duration(100).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_4a_zpm") - .inputItems(ENERGY_INPUT_HATCH[ZPM]) - .inputItems(wireGtQuadruple, VanadiumGallium, 2) - .inputItems(plate, NaquadahAlloy, 2) - .outputItems(ENERGY_INPUT_HATCH_4A[ZPM]) - .duration(100).EUt(VA[LuV]).save(provider); + .inputItems(ENERGY_INPUT_HATCH[ZPM]) + .inputItems(wireGtQuadruple, VanadiumGallium, 2) + .inputItems(plate, NaquadahAlloy, 2) + .outputItems(ENERGY_INPUT_HATCH_4A[ZPM]) + .duration(100).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_4a_uv") - .inputItems(ENERGY_INPUT_HATCH[UV]) - .inputItems(wireGtQuadruple, YttriumBariumCuprate, 2) - .inputItems(plate, Darmstadtium, 2) - .outputItems(ENERGY_INPUT_HATCH_4A[UV]) - .duration(100).EUt(VA[ZPM]).save(provider); + .inputItems(ENERGY_INPUT_HATCH[UV]) + .inputItems(wireGtQuadruple, YttriumBariumCuprate, 2) + .inputItems(plate, Darmstadtium, 2) + .outputItems(ENERGY_INPUT_HATCH_4A[UV]) + .duration(100).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_4a_uhv") - .inputItems(ENERGY_INPUT_HATCH[UHV]) - .inputItems(wireGtQuadruple, Europium, 2) - .inputItems(plate, Neutronium, 2) - .outputItems(ENERGY_INPUT_HATCH_4A[UHV]) - .duration(100).EUt(VA[UV]).save(provider); + .inputItems(ENERGY_INPUT_HATCH[UHV]) + .inputItems(wireGtQuadruple, Europium, 2) + .inputItems(plate, Neutronium, 2) + .outputItems(ENERGY_INPUT_HATCH_4A[UHV]) + .duration(100).EUt(VA[UV]).save(provider); // 16A Energy Hatches ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_16a_ev") - .inputItems(TRANSFORMER[IV]) - .inputItems(ENERGY_INPUT_HATCH_4A[EV]) - .inputItems(wireGtOctal, Tungsten, 2) - .inputItems(plate, TungstenSteel, 4) - .outputItems(ENERGY_INPUT_HATCH_16A[EV]) - .duration(200).EUt(VA[EV]).save(provider); + .inputItems(TRANSFORMER[IV]) + .inputItems(ENERGY_INPUT_HATCH_4A[EV]) + .inputItems(wireGtOctal, Tungsten, 2) + .inputItems(plate, TungstenSteel, 4) + .outputItems(ENERGY_INPUT_HATCH_16A[EV]) + .duration(200).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_16a_iv") - .inputItems(TRANSFORMER[LuV]) - .inputItems(ENERGY_INPUT_HATCH_4A[IV]) - .inputItems(wireGtOctal, NiobiumTitanium, 2) - .inputItems(plate, RhodiumPlatedPalladium, 4) - .outputItems(ENERGY_INPUT_HATCH_16A[IV]) - .duration(200).EUt(VA[IV]).save(provider); + .inputItems(TRANSFORMER[LuV]) + .inputItems(ENERGY_INPUT_HATCH_4A[IV]) + .inputItems(wireGtOctal, NiobiumTitanium, 2) + .inputItems(plate, RhodiumPlatedPalladium, 4) + .outputItems(ENERGY_INPUT_HATCH_16A[IV]) + .duration(200).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_16a_luv") - .inputItems(TRANSFORMER[ZPM]) - .inputItems(ENERGY_INPUT_HATCH_4A[LuV]) - .inputItems(wireGtOctal, VanadiumGallium, 2) - .inputItems(plate, NaquadahAlloy, 4) - .outputItems(ENERGY_INPUT_HATCH_16A[LuV]) - .duration(200).EUt(VA[LuV]).save(provider); + .inputItems(TRANSFORMER[ZPM]) + .inputItems(ENERGY_INPUT_HATCH_4A[LuV]) + .inputItems(wireGtOctal, VanadiumGallium, 2) + .inputItems(plate, NaquadahAlloy, 4) + .outputItems(ENERGY_INPUT_HATCH_16A[LuV]) + .duration(200).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_16a_zpm") - .inputItems(TRANSFORMER[UV]) - .inputItems(ENERGY_INPUT_HATCH_4A[ZPM]) - .inputItems(wireGtOctal, YttriumBariumCuprate, 2) - .inputItems(plate, Darmstadtium, 4) - .outputItems(ENERGY_INPUT_HATCH_16A[ZPM]) - .duration(200).EUt(VA[ZPM]).save(provider); + .inputItems(TRANSFORMER[UV]) + .inputItems(ENERGY_INPUT_HATCH_4A[ZPM]) + .inputItems(wireGtOctal, YttriumBariumCuprate, 2) + .inputItems(plate, Darmstadtium, 4) + .outputItems(ENERGY_INPUT_HATCH_16A[ZPM]) + .duration(200).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("energy_hatch_16a_uv") - .inputItems(HI_AMP_TRANSFORMER_4A[UV]) - .inputItems(ENERGY_INPUT_HATCH_4A[UV], 2) - .inputItems(wireGtOctal, Europium, 2) - .inputItems(plate, Neutronium, 4) - .outputItems(ENERGY_INPUT_HATCH_16A[UV]) - .duration(200).EUt(VA[UV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[UV]) + .inputItems(ENERGY_INPUT_HATCH_4A[UV], 2) + .inputItems(wireGtOctal, Europium, 2) + .inputItems(plate, Neutronium, 4) + .outputItems(ENERGY_INPUT_HATCH_16A[UV]) + .duration(200).EUt(VA[UV]).save(provider); // 64A Substation Energy Hatches ASSEMBLER_RECIPES.recipeBuilder("substation_energy_hatch_ev") - .inputItems(POWER_TRANSFORMER[IV]) - .inputItems(ENERGY_INPUT_HATCH_16A[EV]) - .inputItems(wireGtHex, Tungsten, 2) - .inputItems(plate, TungstenSteel, 6) - .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[EV]) - .duration(400).EUt(VA[EV]).save(provider); + .inputItems(POWER_TRANSFORMER[IV]) + .inputItems(ENERGY_INPUT_HATCH_16A[EV]) + .inputItems(wireGtHex, Tungsten, 2) + .inputItems(plate, TungstenSteel, 6) + .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[EV]) + .duration(400).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_energy_hatch_iv") - .inputItems(POWER_TRANSFORMER[LuV]) - .inputItems(ENERGY_INPUT_HATCH_16A[IV]) - .inputItems(wireGtHex, NiobiumTitanium, 2) - .inputItems(plate, RhodiumPlatedPalladium, 6) - .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[IV]) - .duration(400).EUt(VA[IV]).save(provider); + .inputItems(POWER_TRANSFORMER[LuV]) + .inputItems(ENERGY_INPUT_HATCH_16A[IV]) + .inputItems(wireGtHex, NiobiumTitanium, 2) + .inputItems(plate, RhodiumPlatedPalladium, 6) + .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[IV]) + .duration(400).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_energy_hatch_luv") - .inputItems(POWER_TRANSFORMER[ZPM]) - .inputItems(ENERGY_INPUT_HATCH_16A[LuV]) - .inputItems(wireGtHex, VanadiumGallium, 2) - .inputItems(plate, NaquadahAlloy, 6) - .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[LuV]) - .duration(400).EUt(VA[LuV]).save(provider); + .inputItems(POWER_TRANSFORMER[ZPM]) + .inputItems(ENERGY_INPUT_HATCH_16A[LuV]) + .inputItems(wireGtHex, VanadiumGallium, 2) + .inputItems(plate, NaquadahAlloy, 6) + .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[LuV]) + .duration(400).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_energy_hatch_zpm") - .inputItems(POWER_TRANSFORMER[UV]) - .inputItems(ENERGY_INPUT_HATCH_16A[ZPM]) - .inputItems(wireGtHex, YttriumBariumCuprate, 2) - .inputItems(plate, Darmstadtium, 6) - .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[ZPM]) - .duration(400).EUt(VA[ZPM]).save(provider); + .inputItems(POWER_TRANSFORMER[UV]) + .inputItems(ENERGY_INPUT_HATCH_16A[ZPM]) + .inputItems(wireGtHex, YttriumBariumCuprate, 2) + .inputItems(plate, Darmstadtium, 6) + .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[ZPM]) + .duration(400).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_energy_hatch_uv") - .inputItems(POWER_TRANSFORMER[UV]) - .inputItems(ENERGY_INPUT_HATCH_16A[UV]) - .inputItems(wireGtHex, Europium, 2) - .inputItems(plate, Neutronium, 6) - .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[UV]) - .duration(400).EUt(VA[UV]).save(provider); + .inputItems(POWER_TRANSFORMER[UV]) + .inputItems(ENERGY_INPUT_HATCH_16A[UV]) + .inputItems(wireGtHex, Europium, 2) + .inputItems(plate, Neutronium, 6) + .outputItems(SUBSTATION_ENERGY_INPUT_HATCH[UV]) + .duration(400).EUt(VA[UV]).save(provider); // 4A Dynamo Hatches ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_4a_ev") - .inputItems(ENERGY_OUTPUT_HATCH[EV]) - .inputItems(wireGtQuadruple, Aluminium, 2) - .inputItems(plate, Titanium, 2) - .outputItems(ENERGY_OUTPUT_HATCH_4A[EV]) - .duration(100).EUt(VA[HV]).save(provider); + .inputItems(ENERGY_OUTPUT_HATCH[EV]) + .inputItems(wireGtQuadruple, Aluminium, 2) + .inputItems(plate, Titanium, 2) + .outputItems(ENERGY_OUTPUT_HATCH_4A[EV]) + .duration(100).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_4a_iv") - .inputItems(ENERGY_OUTPUT_HATCH[IV]) - .inputItems(wireGtQuadruple, Tungsten, 2) - .inputItems(plate, TungstenSteel, 2) - .outputItems(ENERGY_OUTPUT_HATCH_4A[IV]) - .duration(100).EUt(VA[EV]).save(provider); + .inputItems(ENERGY_OUTPUT_HATCH[IV]) + .inputItems(wireGtQuadruple, Tungsten, 2) + .inputItems(plate, TungstenSteel, 2) + .outputItems(ENERGY_OUTPUT_HATCH_4A[IV]) + .duration(100).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_4a_luv") - .inputItems(ENERGY_OUTPUT_HATCH[LuV]) - .inputItems(wireGtQuadruple, NiobiumTitanium, 2) - .inputItems(plate, RhodiumPlatedPalladium, 2) - .outputItems(ENERGY_OUTPUT_HATCH_4A[LuV]) - .duration(100).EUt(VA[IV]).save(provider); + .inputItems(ENERGY_OUTPUT_HATCH[LuV]) + .inputItems(wireGtQuadruple, NiobiumTitanium, 2) + .inputItems(plate, RhodiumPlatedPalladium, 2) + .outputItems(ENERGY_OUTPUT_HATCH_4A[LuV]) + .duration(100).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_4a_zpm") - .inputItems(TRANSFORMER[ZPM]) - .inputItems(ENERGY_OUTPUT_HATCH[ZPM]) - .inputItems(wireGtQuadruple, VanadiumGallium, 2) - .inputItems(plate, NaquadahAlloy, 2) - .outputItems(ENERGY_OUTPUT_HATCH_4A[ZPM]) - .duration(100).EUt(VA[LuV]).save(provider); + .inputItems(TRANSFORMER[ZPM]) + .inputItems(ENERGY_OUTPUT_HATCH[ZPM]) + .inputItems(wireGtQuadruple, VanadiumGallium, 2) + .inputItems(plate, NaquadahAlloy, 2) + .outputItems(ENERGY_OUTPUT_HATCH_4A[ZPM]) + .duration(100).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_4a_uv") - .inputItems(ENERGY_OUTPUT_HATCH[UV]) - .inputItems(wireGtQuadruple, YttriumBariumCuprate, 2) - .inputItems(plate, Darmstadtium, 2) - .outputItems(ENERGY_OUTPUT_HATCH_4A[UV]) - .duration(100).EUt(VA[ZPM]).save(provider); + .inputItems(ENERGY_OUTPUT_HATCH[UV]) + .inputItems(wireGtQuadruple, YttriumBariumCuprate, 2) + .inputItems(plate, Darmstadtium, 2) + .outputItems(ENERGY_OUTPUT_HATCH_4A[UV]) + .duration(100).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_4a_uhv") - .inputItems(ENERGY_OUTPUT_HATCH[UHV]) - .inputItems(wireGtQuadruple, Europium, 2) - .inputItems(plate, Neutronium, 2) - .outputItems(ENERGY_OUTPUT_HATCH_4A[UHV]) - .duration(100).EUt(VA[UV]).save(provider); + .inputItems(ENERGY_OUTPUT_HATCH[UHV]) + .inputItems(wireGtQuadruple, Europium, 2) + .inputItems(plate, Neutronium, 2) + .outputItems(ENERGY_OUTPUT_HATCH_4A[UHV]) + .duration(100).EUt(VA[UV]).save(provider); // 16A Dynamo Hatches ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_16a_ev") - .inputItems(TRANSFORMER[IV]) - .inputItems(ENERGY_OUTPUT_HATCH_4A[EV]) - .inputItems(wireGtOctal, Tungsten, 2) - .inputItems(plate, TungstenSteel, 4) - .outputItems(ENERGY_OUTPUT_HATCH_16A[EV]) - .duration(200).EUt(VA[EV]).save(provider); + .inputItems(TRANSFORMER[IV]) + .inputItems(ENERGY_OUTPUT_HATCH_4A[EV]) + .inputItems(wireGtOctal, Tungsten, 2) + .inputItems(plate, TungstenSteel, 4) + .outputItems(ENERGY_OUTPUT_HATCH_16A[EV]) + .duration(200).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_16a_iv") - .inputItems(TRANSFORMER[LuV]) - .inputItems(ENERGY_OUTPUT_HATCH_4A[IV]) - .inputItems(wireGtOctal, NiobiumTitanium, 2) - .inputItems(plate, RhodiumPlatedPalladium, 4) - .outputItems(ENERGY_OUTPUT_HATCH_16A[IV]) - .duration(200).EUt(VA[IV]).save(provider); + .inputItems(TRANSFORMER[LuV]) + .inputItems(ENERGY_OUTPUT_HATCH_4A[IV]) + .inputItems(wireGtOctal, NiobiumTitanium, 2) + .inputItems(plate, RhodiumPlatedPalladium, 4) + .outputItems(ENERGY_OUTPUT_HATCH_16A[IV]) + .duration(200).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_16a_luv") - .inputItems(TRANSFORMER[ZPM]) - .inputItems(ENERGY_OUTPUT_HATCH_4A[LuV]) - .inputItems(wireGtOctal, VanadiumGallium, 2) - .inputItems(plate, NaquadahAlloy, 4) - .outputItems(ENERGY_OUTPUT_HATCH_16A[LuV]) - .duration(200).EUt(VA[LuV]).save(provider); + .inputItems(TRANSFORMER[ZPM]) + .inputItems(ENERGY_OUTPUT_HATCH_4A[LuV]) + .inputItems(wireGtOctal, VanadiumGallium, 2) + .inputItems(plate, NaquadahAlloy, 4) + .outputItems(ENERGY_OUTPUT_HATCH_16A[LuV]) + .duration(200).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_16a_zpm") - .inputItems(TRANSFORMER[UV]) - .inputItems(ENERGY_OUTPUT_HATCH_4A[ZPM]) - .inputItems(wireGtOctal, YttriumBariumCuprate, 2) - .inputItems(plate, Darmstadtium, 4) - .outputItems(ENERGY_OUTPUT_HATCH_16A[ZPM]) - .duration(200).EUt(VA[ZPM]).save(provider); + .inputItems(TRANSFORMER[UV]) + .inputItems(ENERGY_OUTPUT_HATCH_4A[ZPM]) + .inputItems(wireGtOctal, YttriumBariumCuprate, 2) + .inputItems(plate, Darmstadtium, 4) + .outputItems(ENERGY_OUTPUT_HATCH_16A[ZPM]) + .duration(200).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("dynamo_hatch_16a_uv") - .inputItems(HI_AMP_TRANSFORMER_4A[UV]) - .inputItems(ENERGY_OUTPUT_HATCH_4A[5]) - .inputItems(wireGtOctal, Europium, 2) - .inputItems(plate, Neutronium, 4) - .outputItems(ENERGY_OUTPUT_HATCH_16A[4]) - .duration(200).EUt(VA[UV]).save(provider); + .inputItems(HI_AMP_TRANSFORMER_4A[UV]) + .inputItems(ENERGY_OUTPUT_HATCH_4A[5]) + .inputItems(wireGtOctal, Europium, 2) + .inputItems(plate, Neutronium, 4) + .outputItems(ENERGY_OUTPUT_HATCH_16A[4]) + .duration(200).EUt(VA[UV]).save(provider); // 64A Substation Dynamo Hatches ASSEMBLER_RECIPES.recipeBuilder("substation_dynamo_hatch_ev") - .inputItems(POWER_TRANSFORMER[IV]) - .inputItems(ENERGY_OUTPUT_HATCH_16A[EV]) - .inputItems(wireGtHex, Tungsten, 2) - .inputItems(plate, TungstenSteel, 6) - .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[EV]) - .duration(400).EUt(VA[EV]).save(provider); + .inputItems(POWER_TRANSFORMER[IV]) + .inputItems(ENERGY_OUTPUT_HATCH_16A[EV]) + .inputItems(wireGtHex, Tungsten, 2) + .inputItems(plate, TungstenSteel, 6) + .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[EV]) + .duration(400).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_dynamo_hatch_iv") - .inputItems(POWER_TRANSFORMER[LuV]) - .inputItems(ENERGY_OUTPUT_HATCH_16A[IV]) - .inputItems(wireGtHex, NiobiumTitanium, 2) - .inputItems(plate, RhodiumPlatedPalladium, 6) - .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[IV]) - .duration(400).EUt(VA[IV]).save(provider); + .inputItems(POWER_TRANSFORMER[LuV]) + .inputItems(ENERGY_OUTPUT_HATCH_16A[IV]) + .inputItems(wireGtHex, NiobiumTitanium, 2) + .inputItems(plate, RhodiumPlatedPalladium, 6) + .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[IV]) + .duration(400).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_dynamo_hatch_luv") - .inputItems(POWER_TRANSFORMER[ZPM]) - .inputItems(ENERGY_OUTPUT_HATCH_16A[LuV]) - .inputItems(wireGtHex, VanadiumGallium, 2) - .inputItems(plate, NaquadahAlloy, 6) - .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[LuV]) - .duration(400).EUt(VA[LuV]).save(provider); + .inputItems(POWER_TRANSFORMER[ZPM]) + .inputItems(ENERGY_OUTPUT_HATCH_16A[LuV]) + .inputItems(wireGtHex, VanadiumGallium, 2) + .inputItems(plate, NaquadahAlloy, 6) + .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[LuV]) + .duration(400).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_dynamo_hatch_zpm") - .inputItems(POWER_TRANSFORMER[UV]) - .inputItems(ENERGY_OUTPUT_HATCH_16A[ZPM]) - .inputItems(wireGtHex, YttriumBariumCuprate, 2) - .inputItems(plate, Darmstadtium, 6) - .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[ZPM]) - .duration(400).EUt(VA[ZPM]).save(provider); + .inputItems(POWER_TRANSFORMER[UV]) + .inputItems(ENERGY_OUTPUT_HATCH_16A[ZPM]) + .inputItems(wireGtHex, YttriumBariumCuprate, 2) + .inputItems(plate, Darmstadtium, 6) + .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[ZPM]) + .duration(400).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("substation_dynamo_hatch_uv") - .inputItems(POWER_TRANSFORMER[UV]) - .inputItems(ENERGY_OUTPUT_HATCH_16A[UV]) - .inputItems(wireGtHex, Europium, 2) - .inputItems(plate, Neutronium, 6) - .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[UV]) - .duration(400).EUt(VA[UV]).save(provider); + .inputItems(POWER_TRANSFORMER[UV]) + .inputItems(ENERGY_OUTPUT_HATCH_16A[UV]) + .inputItems(wireGtHex, Europium, 2) + .inputItems(plate, Neutronium, 6) + .outputItems(SUBSTATION_ENERGY_OUTPUT_HATCH[UV]) + .duration(400).EUt(VA[UV]).save(provider); // Maintenance Hatch ASSEMBLER_RECIPES.recipeBuilder("maintenance_hatch") - .inputItems(HULL[LV]) - .circuitMeta(1) - .outputItems(MAINTENANCE_HATCH) - .duration(100).EUt(VA[LV]).save(provider); + .inputItems(HULL[LV]) + .circuitMeta(1) + .outputItems(MAINTENANCE_HATCH) + .duration(100).EUt(VA[LV]).save(provider); // Multiblock Miners ASSEMBLER_RECIPES.recipeBuilder("ev_large_miner") - .inputItems(HULL[EV]) - .inputItems(frameGt, Titanium, 4) - .inputItems(CustomTags.IV_CIRCUITS, 4) - .inputItems(ELECTRIC_MOTOR_EV, 4) - .inputItems(ELECTRIC_PUMP_EV, 4) - .inputItems(CONVEYOR_MODULE_EV, 4) - .inputItems(gear, Tungsten, 4) - .circuitMeta(2) - .outputItems(LARGE_MINER[EV]) - .duration(400).EUt(VA[EV]).save(provider); + .inputItems(HULL[EV]) + .inputItems(frameGt, Titanium, 4) + .inputItems(CustomTags.IV_CIRCUITS, 4) + .inputItems(ELECTRIC_MOTOR_EV, 4) + .inputItems(ELECTRIC_PUMP_EV, 4) + .inputItems(CONVEYOR_MODULE_EV, 4) + .inputItems(gear, Tungsten, 4) + .circuitMeta(2) + .outputItems(LARGE_MINER[EV]) + .duration(400).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("iv_large_miner") - .inputItems(HULL[IV]) - .inputItems(frameGt, TungstenSteel, 4) - .inputItems(CustomTags.IV_CIRCUITS, 4) - .inputItems(ELECTRIC_MOTOR_IV, 4) - .inputItems(ELECTRIC_PUMP_IV, 4) - .inputItems(CONVEYOR_MODULE_IV, 4) - .inputItems(gear, Iridium, 4) - .circuitMeta(2) - .outputItems(LARGE_MINER[IV]) - .duration(400).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(frameGt, TungstenSteel, 4) + .inputItems(CustomTags.IV_CIRCUITS, 4) + .inputItems(ELECTRIC_MOTOR_IV, 4) + .inputItems(ELECTRIC_PUMP_IV, 4) + .inputItems(CONVEYOR_MODULE_IV, 4) + .inputItems(gear, Iridium, 4) + .circuitMeta(2) + .outputItems(LARGE_MINER[IV]) + .duration(400).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_large_miner") - .inputItems(HULL[LuV]) - .inputItems(frameGt, HSSS, 4) - .inputItems(CustomTags.LuV_CIRCUITS, 4) - .inputItems(ELECTRIC_MOTOR_LuV, 4) - .inputItems(ELECTRIC_PUMP_LuV, 4) - .inputItems(CONVEYOR_MODULE_LuV, 4) - .inputItems(gear, Ruridit, 4) - .circuitMeta(2) - .outputItems(LARGE_MINER[LuV]) - .duration(400).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(frameGt, HSSS, 4) + .inputItems(CustomTags.LuV_CIRCUITS, 4) + .inputItems(ELECTRIC_MOTOR_LuV, 4) + .inputItems(ELECTRIC_PUMP_LuV, 4) + .inputItems(CONVEYOR_MODULE_LuV, 4) + .inputItems(gear, Ruridit, 4) + .circuitMeta(2) + .outputItems(LARGE_MINER[LuV]) + .duration(400).EUt(VA[LuV]).save(provider); // Multiblock Fluid Drills ASSEMBLER_RECIPES.recipeBuilder("mv_fluid_drilling_rig") - .inputItems(HULL[MV]) - .inputItems(frameGt, Steel, 4) - .inputItems(CustomTags.MV_CIRCUITS, 4) - .inputItems(ELECTRIC_MOTOR_MV, 4) - .inputItems(ELECTRIC_PUMP_MV, 4) - .inputItems(gear, VanadiumSteel, 4) - .circuitMeta(2) - .outputItems(FLUID_DRILLING_RIG[MV]) - .duration(400).EUt(VA[MV]).save(provider); + .inputItems(HULL[MV]) + .inputItems(frameGt, Steel, 4) + .inputItems(CustomTags.MV_CIRCUITS, 4) + .inputItems(ELECTRIC_MOTOR_MV, 4) + .inputItems(ELECTRIC_PUMP_MV, 4) + .inputItems(gear, VanadiumSteel, 4) + .circuitMeta(2) + .outputItems(FLUID_DRILLING_RIG[MV]) + .duration(400).EUt(VA[MV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("hv_fluid_drilling_rig") - .inputItems(HULL[EV]) - .inputItems(frameGt, Titanium, 4) - .inputItems(CustomTags.EV_CIRCUITS, 4) - .inputItems(ELECTRIC_MOTOR_EV, 4) - .inputItems(ELECTRIC_PUMP_EV, 4) - .inputItems(gear, TungstenCarbide, 4) - .circuitMeta(2) - .outputItems(FLUID_DRILLING_RIG[HV]) - .duration(400).EUt(VA[EV]).save(provider); + .inputItems(HULL[EV]) + .inputItems(frameGt, Titanium, 4) + .inputItems(CustomTags.EV_CIRCUITS, 4) + .inputItems(ELECTRIC_MOTOR_EV, 4) + .inputItems(ELECTRIC_PUMP_EV, 4) + .inputItems(gear, TungstenCarbide, 4) + .circuitMeta(2) + .outputItems(FLUID_DRILLING_RIG[HV]) + .duration(400).EUt(VA[EV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("ev_fluid_drilling_rig") - .inputItems(HULL[LuV]) - .inputItems(frameGt, TungstenSteel, 4) - .inputItems(CustomTags.LuV_CIRCUITS, 4) - .inputItems(ELECTRIC_MOTOR_LuV, 4) - .inputItems(ELECTRIC_PUMP_LuV, 4) - .inputItems(gear, Osmiridium, 4) - .circuitMeta(2) - .outputItems(FLUID_DRILLING_RIG[EV]) - .duration(400).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(frameGt, TungstenSteel, 4) + .inputItems(CustomTags.LuV_CIRCUITS, 4) + .inputItems(ELECTRIC_MOTOR_LuV, 4) + .inputItems(ELECTRIC_PUMP_LuV, 4) + .inputItems(gear, Osmiridium, 4) + .circuitMeta(2) + .outputItems(FLUID_DRILLING_RIG[EV]) + .duration(400).EUt(VA[LuV]).save(provider); // Long Distance Pipes ASSEMBLER_RECIPES.recipeBuilder("long_distance_item_endpoint") - .inputItems(pipeLargeItem, Tin, 2) - .inputItems(plate, Steel, 8) - .inputItems(gear, Steel, 2) - .circuitMeta(1) - .inputFluids(SolderingAlloy.getFluid(L / 2)) - .outputItems(LONG_DIST_ITEM_ENDPOINT, 2) - .duration(400).EUt(16) - .save(provider); + .inputItems(pipeLargeItem, Tin, 2) + .inputItems(plate, Steel, 8) + .inputItems(gear, Steel, 2) + .circuitMeta(1) + .inputFluids(SolderingAlloy.getFluid(L / 2)) + .outputItems(LONG_DIST_ITEM_ENDPOINT, 2) + .duration(400).EUt(16) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("long_distance_fluid_endpoint") - .inputItems(pipeLargeFluid, Bronze, 2) - .inputItems(plate, Steel, 8) - .inputItems(gear, Steel, 2) - .circuitMeta(1) - .inputFluids(SolderingAlloy.getFluid(L / 2)) - .outputItems(LONG_DIST_FLUID_ENDPOINT, 2) - .duration(400).EUt(16) - .save(provider); + .inputItems(pipeLargeFluid, Bronze, 2) + .inputItems(plate, Steel, 8) + .inputItems(gear, Steel, 2) + .circuitMeta(1) + .inputFluids(SolderingAlloy.getFluid(L / 2)) + .outputItems(LONG_DIST_FLUID_ENDPOINT, 2) + .duration(400).EUt(16) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("long_distance_item_pipe") - .inputItems(pipeLargeItem, Tin, 2) - .inputItems(plate, Steel, 8) - .circuitMeta(2) - .inputFluids(SolderingAlloy.getFluid(L / 2)) - .outputItems(LD_ITEM_PIPE, 64) - .duration(600).EUt(24) - .save(provider); + .inputItems(pipeLargeItem, Tin, 2) + .inputItems(plate, Steel, 8) + .circuitMeta(2) + .inputFluids(SolderingAlloy.getFluid(L / 2)) + .outputItems(LD_ITEM_PIPE, 64) + .duration(600).EUt(24) + .save(provider); ASSEMBLER_RECIPES.recipeBuilder("long_distance_fluid_pipe") - .inputItems(pipeLargeFluid, Bronze, 2) - .inputItems(plate, Steel, 8) - .circuitMeta(2) - .inputFluids(SolderingAlloy.getFluid(L / 2)) - .outputItems(LD_FLUID_PIPE, 64) - .duration(600).EUt(24) - .save(provider); + .inputItems(pipeLargeFluid, Bronze, 2) + .inputItems(plate, Steel, 8) + .circuitMeta(2) + .inputFluids(SolderingAlloy.getFluid(L / 2)) + .outputItems(LD_FLUID_PIPE, 64) + .duration(600).EUt(24) + .save(provider); // ME Parts @@ -743,32 +768,32 @@ public static void init(Consumer provider) { ItemStack accelerationCard = AEItems.SPEED_CARD.stack(2); ASSEMBLER_RECIPES.recipeBuilder("me_export_hatch") - .inputItems(FLUID_EXPORT_HATCH[EV]) - .inputItems(meInterface.copy()) - .inputItems(accelerationCard.copy()) - .outputItems(GTAEMachines.FLUID_EXPORT_HATCH.asStack()) - .duration(300).EUt(VA[HV]).save(provider); + .inputItems(FLUID_EXPORT_HATCH[EV]) + .inputItems(meInterface.copy()) + .inputItems(accelerationCard.copy()) + .outputItems(GTAEMachines.FLUID_EXPORT_HATCH.asStack()) + .duration(300).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("me_import_hatch") - .inputItems(FLUID_IMPORT_HATCH[EV]) - .inputItems(meInterface.copy()) - .inputItems(accelerationCard.copy()) - .outputItems(GTAEMachines.FLUID_IMPORT_HATCH.asStack()) - .duration(300).EUt(VA[HV]).save(provider); + .inputItems(FLUID_IMPORT_HATCH[EV]) + .inputItems(meInterface.copy()) + .inputItems(accelerationCard.copy()) + .outputItems(GTAEMachines.FLUID_IMPORT_HATCH.asStack()) + .duration(300).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("me_export_bus") - .inputItems(ITEM_EXPORT_BUS[EV]) - .inputItems(meInterface.copy()) - .inputItems(accelerationCard.copy()) - .outputItems(GTAEMachines.ITEM_EXPORT_BUS.asStack()) - .duration(300).EUt(VA[HV]).save(provider); + .inputItems(ITEM_EXPORT_BUS[EV]) + .inputItems(meInterface.copy()) + .inputItems(accelerationCard.copy()) + .outputItems(GTAEMachines.ITEM_EXPORT_BUS.asStack()) + .duration(300).EUt(VA[HV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("me_import_bus") - .inputItems(ITEM_IMPORT_BUS[EV]) - .inputItems(meInterface.copy()) - .inputItems(accelerationCard.copy()) - .outputItems(GTAEMachines.ITEM_IMPORT_BUS.asStack()) - .duration(300).EUt(VA[HV]).save(provider); + .inputItems(ITEM_IMPORT_BUS[EV]) + .inputItems(meInterface.copy()) + .inputItems(accelerationCard.copy()) + .outputItems(GTAEMachines.ITEM_IMPORT_BUS.asStack()) + .duration(300).EUt(VA[HV]).save(provider); } } @@ -778,248 +803,248 @@ private static void registerLaserRecipes(Consumer provider) { // 256A Laser Target Hatches ASSEMBLER_RECIPES.recipeBuilder("iv_256a_laser_target_hatch") - .inputItems(HULL[IV]) - .inputItems(lens, Diamond) - .inputItems(EMITTER_IV) - .inputItems(ELECTRIC_PUMP_IV) - .inputItems(cableGtSingle, Platinum, 4) - .circuitMeta(1) - .outputItems(LASER_INPUT_HATCH_256[IV]) - .duration(300).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(lens, Diamond) + .inputItems(EMITTER_IV) + .inputItems(ELECTRIC_PUMP_IV) + .inputItems(cableGtSingle, Platinum, 4) + .circuitMeta(1) + .outputItems(LASER_INPUT_HATCH_256[IV]) + .duration(300).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_256a_laser_target_hatch") - .inputItems(HULL[LuV]) - .inputItems(lens, Diamond) - .inputItems(EMITTER_LuV) - .inputItems(ELECTRIC_PUMP_LuV) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .circuitMeta(1) - .outputItems(LASER_INPUT_HATCH_256[LuV]) - .duration(300).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(lens, Diamond) + .inputItems(EMITTER_LuV) + .inputItems(ELECTRIC_PUMP_LuV) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .circuitMeta(1) + .outputItems(LASER_INPUT_HATCH_256[LuV]) + .duration(300).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_256a_laser_target_hatch") - .inputItems(HULL[ZPM]) - .inputItems(lens, Diamond) - .inputItems(EMITTER_ZPM) - .inputItems(ELECTRIC_PUMP_ZPM) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .circuitMeta(1) - .outputItems(LASER_INPUT_HATCH_256[ZPM]) - .duration(300).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(lens, Diamond) + .inputItems(EMITTER_ZPM) + .inputItems(ELECTRIC_PUMP_ZPM) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .circuitMeta(1) + .outputItems(LASER_INPUT_HATCH_256[ZPM]) + .duration(300).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_256a_laser_target_hatch") - .inputItems(HULL[UV]) - .inputItems(lens, Diamond) - .inputItems(EMITTER_UV) - .inputItems(ELECTRIC_PUMP_UV) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .circuitMeta(1) - .outputItems(LASER_INPUT_HATCH_256[UV]) - .duration(300).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(lens, Diamond) + .inputItems(EMITTER_UV) + .inputItems(ELECTRIC_PUMP_UV) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .circuitMeta(1) + .outputItems(LASER_INPUT_HATCH_256[UV]) + .duration(300).EUt(VA[UV]).save(provider); // 256A Laser Source Hatches ASSEMBLER_RECIPES.recipeBuilder("iv_256a_laser_source_hatch") - .inputItems(HULL[IV]) - .inputItems(lens, Diamond) - .inputItems(SENSOR_IV) - .inputItems(ELECTRIC_PUMP_IV) - .inputItems(cableGtSingle, Platinum, 4) - .circuitMeta(1) - .outputItems(LASER_OUTPUT_HATCH_256[IV]) - .duration(300).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(lens, Diamond) + .inputItems(SENSOR_IV) + .inputItems(ELECTRIC_PUMP_IV) + .inputItems(cableGtSingle, Platinum, 4) + .circuitMeta(1) + .outputItems(LASER_OUTPUT_HATCH_256[IV]) + .duration(300).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_256a_laser_source_hatch") - .inputItems(HULL[LuV]) - .inputItems(lens, Diamond) - .inputItems(SENSOR_LuV) - .inputItems(ELECTRIC_PUMP_LuV) - .inputItems(cableGtSingle, NiobiumTitanium, 4) - .circuitMeta(1) - .outputItems(LASER_OUTPUT_HATCH_256[LuV]) - .duration(300).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(lens, Diamond) + .inputItems(SENSOR_LuV) + .inputItems(ELECTRIC_PUMP_LuV) + .inputItems(cableGtSingle, NiobiumTitanium, 4) + .circuitMeta(1) + .outputItems(LASER_OUTPUT_HATCH_256[LuV]) + .duration(300).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_256a_laser_source_hatch") - .inputItems(HULL[ZPM]) - .inputItems(lens, Diamond) - .inputItems(SENSOR_ZPM) - .inputItems(ELECTRIC_PUMP_ZPM) - .inputItems(cableGtSingle, VanadiumGallium, 4) - .circuitMeta(1) - .outputItems(LASER_OUTPUT_HATCH_256[ZPM]) - .duration(300).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(lens, Diamond) + .inputItems(SENSOR_ZPM) + .inputItems(ELECTRIC_PUMP_ZPM) + .inputItems(cableGtSingle, VanadiumGallium, 4) + .circuitMeta(1) + .outputItems(LASER_OUTPUT_HATCH_256[ZPM]) + .duration(300).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_256a_laser_source_hatch") - .inputItems(HULL[UV]) - .inputItems(lens, Diamond) - .inputItems(SENSOR_UV) - .inputItems(ELECTRIC_PUMP_UV) - .inputItems(cableGtSingle, YttriumBariumCuprate, 4) - .circuitMeta(1) - .outputItems(LASER_OUTPUT_HATCH_256[UV]) - .duration(300).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(lens, Diamond) + .inputItems(SENSOR_UV) + .inputItems(ELECTRIC_PUMP_UV) + .inputItems(cableGtSingle, YttriumBariumCuprate, 4) + .circuitMeta(1) + .outputItems(LASER_OUTPUT_HATCH_256[UV]) + .duration(300).EUt(VA[UV]).save(provider); // 1024A Laser Target Hatches ASSEMBLER_RECIPES.recipeBuilder("iv_1024a_laser_target_hatch") - .inputItems(HULL[IV]) - .inputItems(lens, Diamond, 2) - .inputItems(EMITTER_IV, 2) - .inputItems(ELECTRIC_PUMP_IV, 2) - .inputItems(cableGtDouble, Platinum, 4) - .circuitMeta(2) - .outputItems(LASER_INPUT_HATCH_1024[IV]) - .duration(600).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(lens, Diamond, 2) + .inputItems(EMITTER_IV, 2) + .inputItems(ELECTRIC_PUMP_IV, 2) + .inputItems(cableGtDouble, Platinum, 4) + .circuitMeta(2) + .outputItems(LASER_INPUT_HATCH_1024[IV]) + .duration(600).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_1024a_laser_target_hatch") - .inputItems(HULL[LuV]) - .inputItems(lens, Diamond, 2) - .inputItems(EMITTER_LuV, 2) - .inputItems(ELECTRIC_PUMP_LuV, 2) - .inputItems(cableGtDouble, NiobiumTitanium, 4) - .circuitMeta(2) - .outputItems(LASER_INPUT_HATCH_1024[LuV]) - .duration(600).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(lens, Diamond, 2) + .inputItems(EMITTER_LuV, 2) + .inputItems(ELECTRIC_PUMP_LuV, 2) + .inputItems(cableGtDouble, NiobiumTitanium, 4) + .circuitMeta(2) + .outputItems(LASER_INPUT_HATCH_1024[LuV]) + .duration(600).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_1024a_laser_target_hatch") - .inputItems(HULL[ZPM]) - .inputItems(lens, Diamond, 2) - .inputItems(EMITTER_ZPM, 2) - .inputItems(ELECTRIC_PUMP_ZPM, 2) - .inputItems(cableGtDouble, VanadiumGallium, 4) - .circuitMeta(2) - .outputItems(LASER_INPUT_HATCH_1024[ZPM]) - .duration(600).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(lens, Diamond, 2) + .inputItems(EMITTER_ZPM, 2) + .inputItems(ELECTRIC_PUMP_ZPM, 2) + .inputItems(cableGtDouble, VanadiumGallium, 4) + .circuitMeta(2) + .outputItems(LASER_INPUT_HATCH_1024[ZPM]) + .duration(600).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_1024a_laser_target_hatch") - .inputItems(HULL[UV]) - .inputItems(lens, Diamond, 2) - .inputItems(EMITTER_UV, 2) - .inputItems(ELECTRIC_PUMP_UV, 2) - .inputItems(cableGtDouble, YttriumBariumCuprate, 4) - .circuitMeta(2) - .outputItems(LASER_INPUT_HATCH_1024[UV]) - .duration(600).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(lens, Diamond, 2) + .inputItems(EMITTER_UV, 2) + .inputItems(ELECTRIC_PUMP_UV, 2) + .inputItems(cableGtDouble, YttriumBariumCuprate, 4) + .circuitMeta(2) + .outputItems(LASER_INPUT_HATCH_1024[UV]) + .duration(600).EUt(VA[UV]).save(provider); // 1024A Laser Source Hatches ASSEMBLER_RECIPES.recipeBuilder("iv_1024a_laser_source_hatch") - .inputItems(HULL[IV]) - .inputItems(lens, Diamond, 2) - .inputItems(SENSOR_IV, 2) - .inputItems(ELECTRIC_PUMP_IV, 2) - .inputItems(cableGtDouble, Platinum, 4) - .circuitMeta(2) - .outputItems(LASER_OUTPUT_HATCH_1024[IV]) - .duration(600).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(lens, Diamond, 2) + .inputItems(SENSOR_IV, 2) + .inputItems(ELECTRIC_PUMP_IV, 2) + .inputItems(cableGtDouble, Platinum, 4) + .circuitMeta(2) + .outputItems(LASER_OUTPUT_HATCH_1024[IV]) + .duration(600).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_1024a_laser_source_hatch") - .inputItems(HULL[LuV]) - .inputItems(lens, Diamond, 2) - .inputItems(SENSOR_LuV, 2) - .inputItems(ELECTRIC_PUMP_LuV, 2) - .inputItems(cableGtDouble, NiobiumTitanium, 4) - .circuitMeta(2) - .outputItems(LASER_OUTPUT_HATCH_1024[LuV]) - .duration(600).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(lens, Diamond, 2) + .inputItems(SENSOR_LuV, 2) + .inputItems(ELECTRIC_PUMP_LuV, 2) + .inputItems(cableGtDouble, NiobiumTitanium, 4) + .circuitMeta(2) + .outputItems(LASER_OUTPUT_HATCH_1024[LuV]) + .duration(600).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_1024a_laser_source_hatch") - .inputItems(HULL[ZPM]) - .inputItems(lens, Diamond, 2) - .inputItems(SENSOR_ZPM, 2) - .inputItems(ELECTRIC_PUMP_ZPM, 2) - .inputItems(cableGtDouble, VanadiumGallium, 4) - .circuitMeta(2) - .outputItems(LASER_OUTPUT_HATCH_1024[ZPM]) - .duration(600).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(lens, Diamond, 2) + .inputItems(SENSOR_ZPM, 2) + .inputItems(ELECTRIC_PUMP_ZPM, 2) + .inputItems(cableGtDouble, VanadiumGallium, 4) + .circuitMeta(2) + .outputItems(LASER_OUTPUT_HATCH_1024[ZPM]) + .duration(600).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_1024a_laser_source_hatch") - .inputItems(HULL[UV]) - .inputItems(lens, Diamond, 2) - .inputItems(SENSOR_UV, 2) - .inputItems(ELECTRIC_PUMP_UV, 2) - .inputItems(cableGtDouble, YttriumBariumCuprate, 4) - .circuitMeta(2) - .outputItems(LASER_OUTPUT_HATCH_1024[UV]) - .duration(600).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(lens, Diamond, 2) + .inputItems(SENSOR_UV, 2) + .inputItems(ELECTRIC_PUMP_UV, 2) + .inputItems(cableGtDouble, YttriumBariumCuprate, 4) + .circuitMeta(2) + .outputItems(LASER_OUTPUT_HATCH_1024[UV]) + .duration(600).EUt(VA[UV]).save(provider); // 4096A Laser Target Hatches ASSEMBLER_RECIPES.recipeBuilder("iv_4096a_laser_target_hatch") - .inputItems(HULL[IV]) - .inputItems(lens, Diamond, 4) - .inputItems(EMITTER_IV, 4) - .inputItems(ELECTRIC_PUMP_IV, 4) - .inputItems(cableGtQuadruple, Platinum, 4) - .circuitMeta(3) - .outputItems(LASER_INPUT_HATCH_4096[IV]) - .duration(1200).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(lens, Diamond, 4) + .inputItems(EMITTER_IV, 4) + .inputItems(ELECTRIC_PUMP_IV, 4) + .inputItems(cableGtQuadruple, Platinum, 4) + .circuitMeta(3) + .outputItems(LASER_INPUT_HATCH_4096[IV]) + .duration(1200).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_4096a_laser_target_hatch") - .inputItems(HULL[LuV]) - .inputItems(lens, Diamond, 4) - .inputItems(EMITTER_LuV, 4) - .inputItems(ELECTRIC_PUMP_LuV, 4) - .inputItems(cableGtQuadruple, NiobiumTitanium, 4) - .circuitMeta(3) - .outputItems(LASER_INPUT_HATCH_4096[LuV]) - .duration(1200).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(lens, Diamond, 4) + .inputItems(EMITTER_LuV, 4) + .inputItems(ELECTRIC_PUMP_LuV, 4) + .inputItems(cableGtQuadruple, NiobiumTitanium, 4) + .circuitMeta(3) + .outputItems(LASER_INPUT_HATCH_4096[LuV]) + .duration(1200).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_4096a_laser_target_hatch") - .inputItems(HULL[ZPM]) - .inputItems(lens, Diamond, 4) - .inputItems(EMITTER_ZPM, 4) - .inputItems(ELECTRIC_PUMP_ZPM, 4) - .inputItems(cableGtQuadruple, VanadiumGallium, 4) - .circuitMeta(3) - .outputItems(LASER_INPUT_HATCH_4096[ZPM]) - .duration(1200).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(lens, Diamond, 4) + .inputItems(EMITTER_ZPM, 4) + .inputItems(ELECTRIC_PUMP_ZPM, 4) + .inputItems(cableGtQuadruple, VanadiumGallium, 4) + .circuitMeta(3) + .outputItems(LASER_INPUT_HATCH_4096[ZPM]) + .duration(1200).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_4096a_laser_target_hatch") - .inputItems(HULL[UV]) - .inputItems(lens, Diamond, 4) - .inputItems(EMITTER_UV, 4) - .inputItems(ELECTRIC_PUMP_UV, 4) - .inputItems(cableGtQuadruple, YttriumBariumCuprate, 4) - .circuitMeta(3) - .outputItems(LASER_INPUT_HATCH_4096[UV]) - .duration(1200).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(lens, Diamond, 4) + .inputItems(EMITTER_UV, 4) + .inputItems(ELECTRIC_PUMP_UV, 4) + .inputItems(cableGtQuadruple, YttriumBariumCuprate, 4) + .circuitMeta(3) + .outputItems(LASER_INPUT_HATCH_4096[UV]) + .duration(1200).EUt(VA[UV]).save(provider); // 4096A Laser Source Hatches ASSEMBLER_RECIPES.recipeBuilder("iv_4096a_laser_source_hatch") - .inputItems(HULL[IV]) - .inputItems(lens, Diamond, 4) - .inputItems(SENSOR_IV, 4) - .inputItems(ELECTRIC_PUMP_IV, 4) - .inputItems(cableGtQuadruple, Platinum, 4) - .circuitMeta(3) - .outputItems(LASER_OUTPUT_HATCH_4096[IV]) - .duration(1200).EUt(VA[IV]).save(provider); + .inputItems(HULL[IV]) + .inputItems(lens, Diamond, 4) + .inputItems(SENSOR_IV, 4) + .inputItems(ELECTRIC_PUMP_IV, 4) + .inputItems(cableGtQuadruple, Platinum, 4) + .circuitMeta(3) + .outputItems(LASER_OUTPUT_HATCH_4096[IV]) + .duration(1200).EUt(VA[IV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("luv_4096a_laser_source_hatch") - .inputItems(HULL[LuV]) - .inputItems(lens, Diamond, 4) - .inputItems(SENSOR_LuV, 4) - .inputItems(ELECTRIC_PUMP_LuV, 4) - .inputItems(cableGtQuadruple, NiobiumTitanium, 4) - .circuitMeta(3) - .outputItems(LASER_OUTPUT_HATCH_4096[LuV]) - .duration(1200).EUt(VA[LuV]).save(provider); + .inputItems(HULL[LuV]) + .inputItems(lens, Diamond, 4) + .inputItems(SENSOR_LuV, 4) + .inputItems(ELECTRIC_PUMP_LuV, 4) + .inputItems(cableGtQuadruple, NiobiumTitanium, 4) + .circuitMeta(3) + .outputItems(LASER_OUTPUT_HATCH_4096[LuV]) + .duration(1200).EUt(VA[LuV]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("zpm_4096a_laser_source_hatch") - .inputItems(HULL[ZPM]) - .inputItems(lens, Diamond, 4) - .inputItems(SENSOR_ZPM, 4) - .inputItems(ELECTRIC_PUMP_ZPM, 4) - .inputItems(cableGtQuadruple, VanadiumGallium, 4) - .circuitMeta(3) - .outputItems(LASER_OUTPUT_HATCH_4096[ZPM]) - .duration(1200).EUt(VA[ZPM]).save(provider); + .inputItems(HULL[ZPM]) + .inputItems(lens, Diamond, 4) + .inputItems(SENSOR_ZPM, 4) + .inputItems(ELECTRIC_PUMP_ZPM, 4) + .inputItems(cableGtQuadruple, VanadiumGallium, 4) + .circuitMeta(3) + .outputItems(LASER_OUTPUT_HATCH_4096[ZPM]) + .duration(1200).EUt(VA[ZPM]).save(provider); ASSEMBLER_RECIPES.recipeBuilder("uv_4096a_laser_source_hatch") - .inputItems(HULL[UV]) - .inputItems(lens, Diamond, 4) - .inputItems(SENSOR_UV, 4) - .inputItems(ELECTRIC_PUMP_UV, 4) - .inputItems(cableGtQuadruple, YttriumBariumCuprate, 4) - .circuitMeta(3) - .outputItems(LASER_OUTPUT_HATCH_4096[UV]) - .duration(1200).EUt(VA[UV]).save(provider); + .inputItems(HULL[UV]) + .inputItems(lens, Diamond, 4) + .inputItems(SENSOR_UV, 4) + .inputItems(ELECTRIC_PUMP_UV, 4) + .inputItems(cableGtQuadruple, YttriumBariumCuprate, 4) + .circuitMeta(3) + .outputItems(LASER_OUTPUT_HATCH_4096[UV]) + .duration(1200).EUt(VA[UV]).save(provider); } } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/GTRecipeWidget.java b/src/main/java/com/gregtechceu/gtceu/integration/GTRecipeWidget.java index 162a36aac5..69a19f892c 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/GTRecipeWidget.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/GTRecipeWidget.java @@ -172,7 +172,8 @@ private void setRecipeWidget() { new TagOrCycleItemStackTransfer(outputStacks), new TagOrCycleFluidTransfer(inputFluids), new TagOrCycleFluidTransfer(outputFluids), - recipe.data.copy() + recipe.data.copy(), + recipe.conditions ); // bind item in overlay WidgetUtils.widgetByIdForEach(group, "^%s_[0-9]+$".formatted(ItemRecipeCapability.CAP.slotName(IO.IN)), SlotWidget.class, slot -> { @@ -243,6 +244,9 @@ private void setRecipeWidget() { int yOffset = 5 + size.height; this.yOffset = yOffset; yOffset += EUt > 0 ? 20 : 0; + if (recipe.data.getBoolean("duration_is_total_cwu")) { + yOffset -= 10; + } /// add text based on i/o's MutableInt yOff = new MutableInt(yOffset); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/CustomMultiblockBuilder.java b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/CustomMultiblockBuilder.java index 6f7a9b13d8..87d49db289 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/CustomMultiblockBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/kjs/builders/machine/CustomMultiblockBuilder.java @@ -81,7 +81,7 @@ public CustomMultiblockBuilder tier(int tier) { public static MachineBuilder createMultiblock(String name, Object... args) { CustomMultiblockBuilder[] builders; int start = 0; - while (start < args.length && (!(args[start] instanceof Number) || !(args[start] instanceof Number[]) || !(args[start] instanceof int[]))) { + while (start < args.length && (!(args[start] instanceof Number || args[start] instanceof Number[] || args[start] instanceof int[]))) { ++start; } Object[] tierObjects = MachineFunctionPresets.copyArgs(args, start);