diff --git a/dependencies.gradle b/dependencies.gradle index e95d2e04c..e82847554 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -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 4b4fd4bb2..74aef2330 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptEFR.java +++ b/src/main/java/com/dreammaster/scripts/ScriptEFR.java @@ -2,27 +2,38 @@ 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; 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.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; 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 +42,12 @@ 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; +import thaumcraft.api.research.ResearchItem; +import thaumcraft.api.research.ResearchPage; public class ScriptEFR implements IScriptLoader { @@ -173,5 +190,106 @@ 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); + + GTValues.RA.stdBuilder() + .itemInputs( + 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); + + 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); + + 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", + 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 a1fbc31eb..f378dc4bb 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. 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.