From ca923ed015e75bf6d94b9aabaa56ed759e36b72a Mon Sep 17 00:00:00 2001 From: Integer Limit <103940576+IntegerLimit@users.noreply.github.com> Date: Mon, 3 Mar 2025 18:35:36 +1100 Subject: [PATCH] Allow NAE2 Upgrade Cards in AE2FC Dual Interfaces --- dependencies.gradle | 7 +++++ gradle.properties | 4 +++ .../java/com/nomiceu/nomilabs/LabsValues.java | 1 + .../nomiceu/nomilabs/event/CommonProxy.java | 4 +++ .../integration/nae2/AE2FCIntegration.java | 31 +++++++++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 src/main/java/com/nomiceu/nomilabs/integration/nae2/AE2FCIntegration.java diff --git a/dependencies.gradle b/dependencies.gradle index 73d8c64..79598fa 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -198,6 +198,9 @@ dependencies { // Armor Plus (from CurseForge) compileOnly rfg.deobf("curse.maven:armor-plus-237366:2803109") // Version 11.25.1.62 + // AE2 Fluid Crafting Rework (from CurseForge) + compileOnly rfg.deobf("curse.maven:ae2-fluid-crafting-rework-623955:5751930") // Version 2.6.6-r + /* -------------------------------- Soft Deps, Multiple Runtime Declaration -------------------------------- */ if (project.enable_draconic.toBoolean() || project.enable_thermal.toBoolean()) { runtimeOnly "curse.maven:redstone-flux-270789:2920436" // Version 2.1.1.1 @@ -240,6 +243,10 @@ dependencies { runtimeOnly "curse.maven:nae2-884359:5380800" // Version 1.6.4 } + if (project.enable_ae2fc.toBoolean()) { + runtimeOnly "curse.maven:ae2-fluid-crafting-rework-623955:5751930" // Version 2.6.6-r + } + if (project.enable_better_p2p.toBoolean()) { runtimeOnly "curse.maven:shadowfacts-forgelin-248453:2785465" // Version 1.8.4 runtimeOnly "curse.maven:betterer-p2p-943734:4928154" // Version 1.3.2 diff --git a/gradle.properties b/gradle.properties index 4b27a2b..9af42e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -243,6 +243,10 @@ enable_ae2 = false # Whether to enable NAE2 in runtime. Requires enable_ae2 to be true. enable_nae2 = false +# Whether to enable AE2 Fluid Crafting Rework in runtime. Requires enable_ae2 to be true. +# If this is true, then NAE2 Upgrade Card support is added to AE2FC Interfaces. Temporary, until NAE2 is released. +enable_ae2fc = false + # Whether to enable Betterer P2P in runtime. Requires enable_ae2 to be true. enable_better_p2p = false diff --git a/src/main/java/com/nomiceu/nomilabs/LabsValues.java b/src/main/java/com/nomiceu/nomilabs/LabsValues.java index 7dc0635..03051c4 100644 --- a/src/main/java/com/nomiceu/nomilabs/LabsValues.java +++ b/src/main/java/com/nomiceu/nomilabs/LabsValues.java @@ -24,6 +24,7 @@ public class LabsValues { public static final String EXTENDED_CRAFTING_MODID = "extendedcrafting"; public static final String AE2_MODID = "appliedenergistics2"; public static final String NAE2_MODID = "nae2"; + public static final String AE2FC_MODID = "ae2fc"; public static final String CHISEL_MODID = "chisel"; public static final String DRACONIC_MODID = "draconicevolution"; public static final String NUCLEARCRAFT_MODID = "nuclearcraft"; diff --git a/src/main/java/com/nomiceu/nomilabs/event/CommonProxy.java b/src/main/java/com/nomiceu/nomilabs/event/CommonProxy.java index aa74696..5b45cf1 100644 --- a/src/main/java/com/nomiceu/nomilabs/event/CommonProxy.java +++ b/src/main/java/com/nomiceu/nomilabs/event/CommonProxy.java @@ -48,6 +48,7 @@ import com.nomiceu.nomilabs.integration.architecturecraft.LabsShapes; import com.nomiceu.nomilabs.integration.betterp2p.LabsBetterMemoryCardModes; import com.nomiceu.nomilabs.integration.jei.LabsJEIPlugin; +import com.nomiceu.nomilabs.integration.nae2.AE2FCIntegration; import com.nomiceu.nomilabs.integration.top.LabsTOPManager; import com.nomiceu.nomilabs.item.ItemExcitationCoil; import com.nomiceu.nomilabs.item.registry.LabsItems; @@ -119,6 +120,9 @@ public static void preInit() { public static void postInit() { LabsModeHelper.onPostInit(); + + if (Loader.isModLoaded(LabsValues.NAE2_MODID) && Loader.isModLoaded(LabsValues.AE2FC_MODID)) + AE2FCIntegration.postInit(); } public static void loadComplete() { diff --git a/src/main/java/com/nomiceu/nomilabs/integration/nae2/AE2FCIntegration.java b/src/main/java/com/nomiceu/nomilabs/integration/nae2/AE2FCIntegration.java new file mode 100644 index 0000000..099b310 --- /dev/null +++ b/src/main/java/com/nomiceu/nomilabs/integration/nae2/AE2FCIntegration.java @@ -0,0 +1,31 @@ +package com.nomiceu.nomilabs.integration.nae2; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.Optional; + +import com.glodblock.github.loader.FCBlocks; +import com.glodblock.github.loader.FCItems; + +import co.neeve.nae2.NAE2; +import co.neeve.nae2.common.registration.definitions.Upgrades; + +/** + * Temporary class to add NAE2 upgrade card support to AE2 FC Interfaces. + */ +public class AE2FCIntegration { + + public static void postInit() { + Upgrades upgrades = NAE2.definitions().upgrades(); + + if (upgrades.autoComplete().isEnabled()) + registerUpgradeFc(Upgrades.UpgradeType.AUTO_COMPLETE); + if (upgrades.gregtechCircuit().isEnabled()) + registerUpgradeFc(Upgrades.UpgradeType.GREGTECH_CIRCUIT); + } + + @Optional.Method(modid = "nae2") + private static void registerUpgradeFc(Upgrades.UpgradeType upgrade) { + upgrade.registerItem(new ItemStack(FCBlocks.DUAL_INTERFACE), 1); + upgrade.registerItem(new ItemStack(FCItems.PART_DUAL_INTERFACE), 1); + } +}