From 3f20a694a753d8b15d1757fd799b25576a4db152 Mon Sep 17 00:00:00 2001 From: EnderProyects Date: Mon, 27 Jan 2025 19:38:11 +0100 Subject: [PATCH 1/5] New batch of EFR recipes Blue ice, nther wart block, coarse dirt, coarse gravel, slime block, and totem --- .../com/dreammaster/scripts/ScriptEFR.java | 86 +++++++++++++++++++ .../assets/dreamcraft/lang/en_US.lang | 3 + 2 files changed, 89 insertions(+) diff --git a/src/main/java/com/dreammaster/scripts/ScriptEFR.java b/src/main/java/com/dreammaster/scripts/ScriptEFR.java index 4b4fd4bb2..ae6ba3576 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEFR.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEFR.java @@ -2,27 +2,35 @@ import static gregtech.api.enums.Mods.AdventureBackpack; import static gregtech.api.enums.Mods.AppliedEnergistics2; +import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.DraconicEvolution; +import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.EtFuturumRequiem; import static gregtech.api.enums.Mods.ExtraUtilities; import static gregtech.api.enums.Mods.HardcoreEnderExpansion; import static gregtech.api.enums.Mods.Minecraft; import static gregtech.api.enums.Mods.PamsHarvestCraft; +import static gregtech.api.enums.Mods.StevesCarts2; import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.enums.Mods.ThaumicBases; import static gregtech.api.enums.Mods.TinkerConstruct; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GTModHandler.getModItem; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import java.util.Arrays; import java.util.List; +import java.util.Objects; +import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import com.dreammaster.recipes.CustomItem; +import com.dreammaster.thaumcraft.TCHelper; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; @@ -31,6 +39,11 @@ import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.research.ResearchItem; +import thaumcraft.api.research.ResearchPage; public class ScriptEFR implements IScriptLoader { @@ -173,5 +186,78 @@ public void loadRecipes() { .itemOutputs(getModItem(Minecraft.ID, "magma_cream", 4, 0, missing)) .fluidOutputs(new FluidStack(FluidRegistry.getFluid("lava"), 1000)).duration(10 * SECONDS).eut(48) .addTo(fluidExtractionRecipes); + + GTValues.RA.stdBuilder().itemInputs(getModItem(BiomesOPlenty.ID, "hardIce", 4, 0, missing)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "blue_ice", 1, 0, missing)).duration(8 * SECONDS).eut(2) + .addTo(compressorRecipes); + + GTValues.RA.stdBuilder().itemInputs(getModItem(Minecraft.ID, "nether_wart", 9L)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "nether_wart", 1L)).duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV).addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(Minecraft.ID, "gravel", 4L), + getModItem(TinkerConstruct.ID, "CraftedSoil", 4L, 1)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "old_gravel", 8L)).duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV).addTo(assemblerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(EtFuturumRequiem.ID, "old_gravel", 4L), + getModItem(BiomesOPlenty.ID, "driedDirt", 4L)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("steam"), 400)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "coarse_dirt", 8, 0, missing)).duration(8 * SECONDS).eut(2) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(TinkerConstruct.ID, "slime.gel", 4L, 1), + getModItem(TinkerConstruct.ID, "GlueBlock", 4L, 0), + getModItem(TinkerConstruct.ID, "materials", 1L, 1)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("steam"), 4000)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "slime", 16, 0, missing)).duration(40 * SECONDS).eut(2) + .addTo(mixerRecipes); + + new ResearchItem( + "UNDYINGTOTEM", + "NEWHORIZONS", + new AspectList().add(Aspect.getAspect("infernus"), 15).add(Aspect.getAspect("lucrum"), 12) + .add(Aspect.getAspect("praecantatio"), 12).add(Aspect.getAspect("spiritus"), 9) + .add(Aspect.getAspect("fames"), 6).add(Aspect.getAspect("corpus"), 3), + -6, + -7, + 3, + getModItem(EtFuturumRequiem.ID, "totem_of_undying", 1, 0, missing)).setParents("GREENHEART") + .setConcealed().setRound().setPages(new ResearchPage("TConstruct.research_page.UNDYINGTOTEM.1")) + .registerResearchItem(); + ThaumcraftApi.addInfusionCraftingRecipe( + "UNDYINGTOTEM", + getModItem(EtFuturumRequiem.ID, "totem_of_undying", 1, 0, missing), + 15, + new AspectList().add(Aspect.getAspect("exanimis"), 100).add(Aspect.getAspect("ignis"), 150) + .add(Aspect.getAspect("lucrum"), 150).add(Aspect.getAspect("sano"), 200) + .add(Aspect.getAspect("praecantatio"), 200), + getModItem(TinkerConstruct.ID, "heartCanister", 1, 5, missing), + new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.plate, Materials.InfusedGold, 1L), + GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Emerald, 1L), + getModItem(ThaumicBases.ID, "oldGold", 1, 0, missing), + getModItem(StevesCarts2.ID, "BlockMetalStorage", 1, 2, missing), + getModItem(ThaumicBases.ID, "oldGold", 1, 0, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.InfusedGold, 1L), + getModItem(EnderIO.ID, "itemFrankenSkull", 1, 5, missing), + GTOreDictUnificator.get(OrePrefixes.plate, Materials.InfusedGold, 1L), + getModItem(ThaumicBases.ID, "oldGold", 1, 0, missing), + getModItem(StevesCarts2.ID, "BlockMetalStorage", 1, 2, missing), + getModItem(ThaumicBases.ID, "oldGold", 1, 0, missing), + GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.GreenSapphire, 1L), }); + TCHelper.addResearchPage( + "UNDYINGTOTEM", + new ResearchPage( + Objects.requireNonNull( + TCHelper.findInfusionRecipe( + getModItem(EtFuturumRequiem.ID, "totem_of_undying", 1, 0, missing))))); + ThaumcraftApi.addWarpToResearch("UNDYINGTOTEM", 3); + } } diff --git a/src/main/resources/assets/dreamcraft/lang/en_US.lang b/src/main/resources/assets/dreamcraft/lang/en_US.lang index 9edcc9452..1ae1e46ba 100644 --- a/src/main/resources/assets/dreamcraft/lang/en_US.lang +++ b/src/main/resources/assets/dreamcraft/lang/en_US.lang @@ -973,6 +973,9 @@ TConstruct.research_page.YELLOWHEARTCANISTER.1=The Yellow Heart Canister which i tc.research_name.GREENHEART=Green Heart tc.research_text.GREENHEART=[TC] 30 Hearts are not enough. TConstruct.research_page.GREENHEART.1=The Miniature Green Heart is an item from Tinkers Construct. It can be made via Infusion. Its primary use is in crafting the Geen Heart Canister, but it can also be eaten to restore 30 life. +tc.research_name.UNDYINGTOTEM=Totem of Undying +tc.research_text.UNDYINGTOTEM=Revival of the future +TConstruct.research_page.UNDYINGTOTEM.1=What is better than having strong health? Reviving from death itself. tc.research_name.GREENHEARTCANISTER=Green Heart Canister tc.research_text.GREENHEARTCANISTER=[TC] Bound in a big box. TConstruct.research_page.GREENHEARTCANISTER.1=The Green Heart Canister which increases the amount of hearts that the player has. To have an effect the canisters must be equipped in the Armor Tab, in the slot on the right with the symbol that looks like the green heart canister. Up to 10 can be stacked in this slot to allow for a total of 10 extra hearts (or 20 extra health points). These will not appear above the regular health bar like from the Absorption effect, instead once the health bar is full with yellow hearts and will gradually be replaced by green hearts. From c597e7190a7144f0ea2128c31dcba076f40f1697 Mon Sep 17 00:00:00 2001 From: EnderProyects Date: Tue, 28 Jan 2025 15:18:20 +0100 Subject: [PATCH 2/5] Update en_US.lang --- src/main/resources/assets/dreamcraft/lang/en_US.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/dreamcraft/lang/en_US.lang b/src/main/resources/assets/dreamcraft/lang/en_US.lang index 23fac8ece..61a0a90be 100644 --- a/src/main/resources/assets/dreamcraft/lang/en_US.lang +++ b/src/main/resources/assets/dreamcraft/lang/en_US.lang @@ -975,7 +975,7 @@ tc.research_text.GREENHEART=[TC] 30 Hearts are not enough. TConstruct.research_page.GREENHEART.1=The Miniature Green Heart is an item from Tinkers Construct. It can be made via Infusion. Its primary use is in crafting the Geen Heart Canister, but it can also be eaten to restore 30 life. tc.research_name.UNDYINGTOTEM=Totem of Undying tc.research_text.UNDYINGTOTEM=Revival of the future -TConstruct.research_page.UNDYINGTOTEM.1=What is better than having strong health? Reviving from death itself. +TConstruct.research_page.UNDYINGTOTEM.1=What is better than having strong health? Reviving from death itself. If the player is holding a totem of undying in their off-hand or main-hand slot and receives otherwise fatal damage, the totem saves the player from death. The totem of undying must be in the player's hand for it to work—it does not work if it is in the hotbar, unless selected. Any mob that can hold a totem of undying, can use it while holding it. The totem can be used only once, it disappears after use. When activated, the totem of undying restores 1♥, removes all existing status effects, then grants 45 seconds of Regeneration II, 40 seconds of Fire Resistance I and 5 seconds of Absorption II. tc.research_name.GREENHEARTCANISTER=Green Heart Canister tc.research_text.GREENHEARTCANISTER=[TC] Bound in a big box. TConstruct.research_page.GREENHEARTCANISTER.1=The Green Heart Canister which increases the amount of hearts that the player has. To have an effect the canisters must be equipped in the Armor Tab, in the slot on the right with the symbol that looks like the green heart canister. Up to 10 can be stacked in this slot to allow for a total of 10 extra hearts (or 20 extra health points). These will not appear above the regular health bar like from the Absorption effect, instead once the health bar is full with yellow hearts and will gradually be replaced by green hearts. From e3086751c43c8a14e699071acf2861e3cfe2741c Mon Sep 17 00:00:00 2001 From: EnderProyects Date: Thu, 30 Jan 2025 16:11:01 +0100 Subject: [PATCH 3/5] New recipes Recipe of conversion of calcite Recipe of decorative obsidian --- dependencies.gradle | 5 +++-- .../java/com/dreammaster/scripts/ScriptEFR.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index dc87a7cca..57f61bd55 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,11 +1,11 @@ // Add your dependencies here dependencies { - api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.101:dev") + api("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.103:dev") api("com.github.GTNewHorizons:Yamcl:0.6.0:dev") api("com.github.GTNewHorizons:Baubles:1.0.4:dev") - implementation("com.github.GTNewHorizons:GTNHLib:0.6.6:dev") + implementation("com.github.GTNewHorizons:GTNHLib:0.6.8:dev") compileOnly("com.github.GTNewHorizons:AkashicTome:1.2.0:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Avaritia:1.59:dev") { transitive = false } @@ -25,6 +25,7 @@ dependencies { compileOnly("com.github.GTNewHorizons:Galacticraft:3.3.4-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:ForestryMC:4.10.1:dev") { transitive = false } compileOnlyApi("com.github.GTNewHorizons:Mobs-Info:0.5.0-GTNH:dev") + //compileOnly("com.github.Roadhog360:Et-Futurum-Requiem:2.6.2:dev") { transitive = false } runtimeOnlyNonPublishable rfg.deobf("curse.maven:biomes-o-plenty-220318:2499612") runtimeOnlyNonPublishable("com.github.GTNewHorizons:WailaHarvestability:1.2.1-GTNH:dev") diff --git a/src/main/java/com/dreammaster/scripts/ScriptEFR.java b/src/main/java/com/dreammaster/scripts/ScriptEFR.java index ae6ba3576..6895f7aa4 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEFR.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEFR.java @@ -17,6 +17,7 @@ import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.hammerRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GTModHandler.getModItem; import static gregtech.api.util.GTRecipeBuilder.SECONDS; @@ -219,6 +220,22 @@ public void loadRecipes() { .itemOutputs(getModItem(EtFuturumRequiem.ID, "slime", 16, 0, missing)).duration(40 * SECONDS).eut(2) .addTo(mixerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + getModItem(Minecraft.ID, "obsidian", 15L), + getModItem(ThaumicBases.ID, "cryingObsidian", 1L, 0)) + .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2distilledwater"), 4000)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "crying_obsidian", 16L)).duration(5 * SECONDS) + .eut(TierEU.RECIPE_LV).addTo(assemblerRecipes); + + GTValues.RA.stdBuilder().itemInputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 9L)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "calcite", 1, 0, missing)).duration(8 * SECONDS).eut(2) + .addTo(compressorRecipes); + + GTValues.RA.stdBuilder().itemInputs(getModItem(EtFuturumRequiem.ID, "calcite", 1, 0, missing)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 9L)).duration(8 * SECONDS) + .eut(2).addTo(hammerRecipes); + new ResearchItem( "UNDYINGTOTEM", "NEWHORIZONS", From 300197b544f8d8c607a3bac18ca9a7d242794ae9 Mon Sep 17 00:00:00 2001 From: EnderProyects Date: Thu, 30 Jan 2025 16:28:54 +0100 Subject: [PATCH 4/5] Update ScriptEFR.java Added recipe for chorus flower --- .../java/com/dreammaster/scripts/ScriptEFR.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/com/dreammaster/scripts/ScriptEFR.java b/src/main/java/com/dreammaster/scripts/ScriptEFR.java index 6895f7aa4..e4238a91f 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEFR.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEFR.java @@ -3,6 +3,7 @@ import static gregtech.api.enums.Mods.AdventureBackpack; import static gregtech.api.enums.Mods.AppliedEnergistics2; import static gregtech.api.enums.Mods.BiomesOPlenty; +import static gregtech.api.enums.Mods.Botania; import static gregtech.api.enums.Mods.DraconicEvolution; import static gregtech.api.enums.Mods.EnderIO; import static gregtech.api.enums.Mods.EtFuturumRequiem; @@ -19,6 +20,7 @@ import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; import static gregtech.api.util.GTModHandler.getModItem; import static gregtech.api.util.GTRecipeBuilder.SECONDS; @@ -40,6 +42,7 @@ import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; import thaumcraft.api.ThaumcraftApi; import thaumcraft.api.aspects.Aspect; import thaumcraft.api.aspects.AspectList; @@ -236,6 +239,18 @@ public void loadRecipes() { .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 9L)).duration(8 * SECONDS) .eut(2).addTo(hammerRecipes); + GTValues.RA.stdBuilder() + .itemInputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.MelodicAlloy, 8L), + getModItem(Botania.ID, "fertilizer", 3, 0, missing), + getModItem(ThaumicBases.ID, "genLeaves", 1, 3, missing), + GTUtility.getIntegratedCircuit(24)) + .itemOutputs(getModItem(EtFuturumRequiem.ID, "chorus_flower", 1, 0, missing)) + .fluidInputs( + new FluidStack(FluidRegistry.getFluid("endergoo"), 4000), + new FluidStack(FluidRegistry.getFluid("ender"), 1000)) + .duration(30 * SECONDS).eut(TierEU.RECIPE_HV).addTo(multiblockChemicalReactorRecipes); + new ResearchItem( "UNDYINGTOTEM", "NEWHORIZONS", From 4b06784351bda7d315a0f39464d41b6b68aa44ea Mon Sep 17 00:00:00 2001 From: EnderProyects Date: Thu, 30 Jan 2025 18:53:14 +0100 Subject: [PATCH 5/5] Update ScriptEFR.java --- src/main/java/com/dreammaster/scripts/ScriptEFR.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dreammaster/scripts/ScriptEFR.java b/src/main/java/com/dreammaster/scripts/ScriptEFR.java index e4238a91f..74aef2330 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEFR.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEFR.java @@ -225,8 +225,8 @@ public void loadRecipes() { GTValues.RA.stdBuilder() .itemInputs( - getModItem(Minecraft.ID, "obsidian", 15L), - getModItem(ThaumicBases.ID, "cryingObsidian", 1L, 0)) + getModItem(HardcoreEnderExpansion.ID, "laboratory_obsidian", 16L), + getModItem(HardcoreEnderExpansion.ID, "spectral_tear", 1L, 0)) .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2distilledwater"), 4000)) .itemOutputs(getModItem(EtFuturumRequiem.ID, "crying_obsidian", 16L)).duration(5 * SECONDS) .eut(TierEU.RECIPE_LV).addTo(assemblerRecipes);