diff --git a/dependencies.gradle b/dependencies.gradle index 0d87558..afc9510 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -83,4 +83,9 @@ dependencies { if (project.debug_all.toBoolean() || project.debug_gcym.toBoolean()) { runtimeOnlyNonPublishable rfg.deobf("curse.maven:gregicality-multiblocks-564858:5619513") } + + // debug GTFO + if (project.debug_all.toBoolean() || project.debug_gtfo.toBoolean()) { + runtimeOnlyNonPublishable rfg.deobf("curse.maven:gregtech-food-option-477021:5487400") // GTFO 1.11.2.1 + } } diff --git a/gradle.properties b/gradle.properties index 650f631..76e8bd9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,6 +27,7 @@ debug_forestry = false debug_gendustry = false debug_binnies = false debug_gcym = false +debug_gtfo = false # Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you # restart Minecraft in development. Choose this dependent on your mod: diff --git a/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/GTFOConfigHolder.java b/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/GTFOConfigHolder.java new file mode 100644 index 0000000..286ac7a --- /dev/null +++ b/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/GTFOConfigHolder.java @@ -0,0 +1,12 @@ +package com.github.gtexpert.gtbm.integration.gtfo; + +import net.minecraftforge.common.config.Config; + +import com.github.gtexpert.gtbm.api.ModValues; +import com.github.gtexpert.gtbm.module.Modules; + +@Config.LangKey(ModValues.MODID + ".config.integration.gtfo") +@Config(modid = ModValues.MODID, + name = ModValues.MODID + "/integration/" + Modules.MODULE_GTFO, + category = "GTFO") +public class GTFOConfigHolder {} diff --git a/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/GTFOModule.java b/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/GTFOModule.java new file mode 100644 index 0000000..c56618e --- /dev/null +++ b/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/GTFOModule.java @@ -0,0 +1,25 @@ +package com.github.gtexpert.gtbm.integration.gtfo; + +import net.minecraft.item.crafting.IRecipe; +import net.minecraftforge.event.RegistryEvent; + +import com.github.gtexpert.gtbm.api.ModValues; +import com.github.gtexpert.gtbm.api.modules.TModule; +import com.github.gtexpert.gtbm.api.util.Mods; +import com.github.gtexpert.gtbm.integration.GTBMIntegrationSubmodule; +import com.github.gtexpert.gtbm.integration.gtfo.recipes.GTFOOverrideRecipe; +import com.github.gtexpert.gtbm.module.Modules; + +@TModule( + moduleID = Modules.MODULE_GTFO, + containerID = ModValues.MODID, + modDependencies = Mods.Names.GREGTECH_FOOD_OPTION, + name = "GTBeesMatrix Gregtech Food Option Integration", + description = "Gregtech Food Option Integration Module") +public class GTFOModule extends GTBMIntegrationSubmodule { + + @Override + public void registerRecipesLowest(RegistryEvent.Register event) { + GTFOOverrideRecipe.init(); + } +} diff --git a/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/recipes/GTFOOverrideRecipe.java b/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/recipes/GTFOOverrideRecipe.java new file mode 100644 index 0000000..8677a7b --- /dev/null +++ b/src/main/java/com/github/gtexpert/gtbm/integration/gtfo/recipes/GTFOOverrideRecipe.java @@ -0,0 +1,46 @@ +package com.github.gtexpert.gtbm.integration.gtfo.recipes; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.recipes.GTRecipeHandler; +import gregtech.api.recipes.RecipeMaps; + +import com.github.gtexpert.gtbm.api.util.Mods; + +import forestry.core.fluids.Fluids; + +public class GTFOOverrideRecipe { + + public static void init() { + GTRecipeHandler.removeRecipesByInputs(RecipeMaps.EXTRACTOR_RECIPES, new ItemStack(Items.APPLE)); + GTRecipeHandler.removeRecipesByInputs(RecipeMaps.EXTRACTOR_RECIPES, new ItemStack(Items.CARROT)); + + // Forestry Recipe + RecipeMaps.EXTRACTOR_RECIPES.recipeBuilder() + .input(Items.APPLE) + .circuitMeta(1) + .chancedOutput(Mods.Forestry.getItem("mulch"), 2000, 0) + .fluidOutputs(Fluids.JUICE.getFluid(200)) + .EUt(7).duration(32).buildAndRegister(); + + RecipeMaps.EXTRACTOR_RECIPES.recipeBuilder() + .input(Items.CARROT) + .circuitMeta(1) + .chancedOutput(Mods.Forestry.getItem("mulch"), 2000, 0) + .fluidOutputs(Fluids.JUICE.getFluid(200)) + .EUt(7).duration(32).buildAndRegister(); + + // GTFO Recipe + RecipeMaps.EXTRACTOR_RECIPES.recipeBuilder().EUt(1920).duration(200) + .input(Items.CARROT) + .circuitMeta(2) + .outputs(Mods.GregTechFoodOption.getItem("gtfo_meta_item", 1, 52)) + .buildAndRegister(); + RecipeMaps.EXTRACTOR_RECIPES.recipeBuilder().EUt(1920).duration(200) + .input(Items.APPLE) + .circuitMeta(2) + .outputs(Mods.GregTechFoodOption.getItem("gtfo_meta_item", 1, 53)) + .buildAndRegister(); + } +} diff --git a/src/main/java/com/github/gtexpert/gtbm/module/Modules.java b/src/main/java/com/github/gtexpert/gtbm/module/Modules.java index 4c7b68e..68893f3 100644 --- a/src/main/java/com/github/gtexpert/gtbm/module/Modules.java +++ b/src/main/java/com/github/gtexpert/gtbm/module/Modules.java @@ -21,6 +21,7 @@ public class Modules implements IModuleContainer { public static final String MODULE_EXTREES = "extratrees_integration"; public static final String MODULE_GENETICS = "genetics_integration"; public static final String MODULE_TC = "tc_integration"; + public static final String MODULE_GTFO = "gtfo_integration"; @Override public String getID() {