diff --git a/src/main/java/com/dreammaster/scripts/ScriptThaumcraft.java b/src/main/java/com/dreammaster/scripts/ScriptThaumcraft.java index cd390bc69..4f7d03505 100644 --- a/src/main/java/com/dreammaster/scripts/ScriptThaumcraft.java +++ b/src/main/java/com/dreammaster/scripts/ScriptThaumcraft.java @@ -22,10 +22,12 @@ import static gregtech.api.enums.Mods.Railcraft; import static gregtech.api.enums.Mods.RandomThings; import static gregtech.api.enums.Mods.StevesCarts2; +import static gregtech.api.enums.Mods.TaintedMagic; 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.enums.Mods.TwilightForest; +import static gregtech.api.enums.Mods.Witchery; import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; import static gregtech.api.recipe.RecipeMaps.cutterRecipes; @@ -92,7 +94,9 @@ public List getDependencies() { ExtraUtilities.ID, BartWorks.ID, PamsHarvestTheNether.ID, - StevesCarts2.ID); + StevesCarts2.ID, + TaintedMagic.ID, + Witchery.ID); } @Override @@ -5580,6 +5584,70 @@ private void eldritch() { .add(Aspect.getAspect("aer"), 9).add(Aspect.getAspect("ordo"), 9) .add(Aspect.getAspect("praecantatio"), 6).add(Aspect.getAspect("alienis"), 3)); TCHelper.setResearchComplexity("ADVALCHEMYFURNACE", 3); + new ResearchItem( + "CRIMSONRITES", + "ELDRITCH", + new AspectList().add(Aspect.getAspect("alienis"), 12).add(Aspect.getAspect("praecantatio"), 6) + .add(Aspect.getAspect("cognitio"), 3).add(Aspect.getAspect("spiritus"), 12) + .add(Aspect.getAspect("vacuos"), 9).add(Aspect.getAspect("infernus"), 2) + .add(Aspect.getAspect("vitium"), 5), + -3, + -3, + 5, + getModItem(Thaumcraft.ID, "ItemEldritchObject", 1, 1, missing)).setParents("ELDRITCHMAJOR") + .setConcealed().setPages(new ResearchPage("tc.research_page.CRIMSONRITES")) + .registerResearchItem(); + ThaumcraftApi.addWarpToResearch("CRIMSONRITES", 10); + ThaumcraftApi.addInfusionCraftingRecipe( + "CRIMSONRITES", + getModItem(Thaumcraft.ID, "ItemEldritchObject", 1, 1, missing), + 10, + new AspectList().add(Aspect.getAspect("alienis"), 32).add(Aspect.getAspect("praecantatio"), 64) + .add(Aspect.getAspect("infernus"), 16), + getModItem(Thaumcraft.ID, "ItemThaumonomicon", 1, 0, missing), + new ItemStack[] { getModItem(TaintedMagic.ID, "ItemCrystalDagger", 1, 0, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 15, missing), + getModItem(ThaumicBases.ID, "knoseFragment", 1, 6, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 17, missing), + getModItem(TaintedMagic.ID, "ItemMaterial", 1, 7, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 17, missing), + getModItem(ThaumicBases.ID, "knoseFragment", 1, 6, missing), + getModItem(Minecraft.ID, "ender_eye", 21, 0, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 16, missing), + getModItem(Minecraft.ID, "ender_eye", 21, 0, missing), + getModItem(ThaumicBases.ID, "knoseFragment", 1, 6, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 17, missing), + getModItem(TaintedMagic.ID, "ItemMaterial", 1, 7, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 17, missing), + getModItem(ThaumicBases.ID, "knoseFragment", 1, 6, missing), + getModItem(Thaumcraft.ID, "ItemResource", 1, 15, missing) }); + TCHelper.addResearchPage( + "CRIMSONRITES", + new ResearchPage( + TCHelper.findInfusionRecipe(getModItem(Thaumcraft.ID, "ItemEldritchObject", 1, 1, missing)))); + ThaumcraftApi.addArcaneCraftingRecipe( + "CRIMSONRITES", + getModItem(Thaumcraft.ID, "blockWoodenDevice", 1, 8, missing), + new AspectList().add(Aspect.getAspect("aqua"), 5).add(Aspect.getAspect("terra"), 5) + .add(Aspect.getAspect("perditio"), 5), + "aba", + "bcb", + "ada", + 'a', + getModItem(Witchery.ID, "ingredient", 1, 102, missing), + 'b', + getModItem(TaintedMagic.ID, "ItemMaterial", 1, 2, missing), + 'c', + getModItem(TaintedMagic.ID, "ItemMaterial", 1, 8, missing), + 'd', + getModItem(Thaumcraft.ID, "WandRod", 1, 0, missing)); + TCHelper.addResearchPage( + "CRIMSONRITES", + new ResearchPage( + TCHelper.findArcaneRecipe( + getModItem(Thaumcraft.ID, "blockWoodenDevice", 1, 8, missing), + false))); + TCHelper.refreshResearchPages("CRIMSONRITES"); TCHelper.refreshResearchPages("ELDRITCHMINOR"); TCHelper.refreshResearchPages("VOIDMETAL"); TCHelper.refreshResearchPages("CAP_void"); diff --git a/src/main/java/com/dreammaster/thaumcraft/TCHelper.java b/src/main/java/com/dreammaster/thaumcraft/TCHelper.java index 5a08329ab..786ac25ac 100644 --- a/src/main/java/com/dreammaster/thaumcraft/TCHelper.java +++ b/src/main/java/com/dreammaster/thaumcraft/TCHelper.java @@ -47,6 +47,17 @@ public static IArcaneRecipe findArcaneRecipe(ItemStack stack) { return null; } + public static IArcaneRecipe findArcaneRecipe(ItemStack stack, boolean ignoreNBT) { + for (Object craft : ThaumcraftApi.getCraftingRecipes()) { + if (craft instanceof IArcaneRecipe) { + if (((IArcaneRecipe) craft).getRecipeOutput() != null + && GT_Utility.areStacksEqual(((IArcaneRecipe) craft).getRecipeOutput(), stack, ignoreNBT)) + return (IArcaneRecipe) craft; + } + } + return null; + } + public static CrucibleRecipe findCrucibleRecipe(ItemStack stack) { for (Object craft : ThaumcraftApi.getCraftingRecipes()) { if (craft instanceof CrucibleRecipe) { diff --git a/src/main/resources/assets/dreamcraft/lang/en_US.lang b/src/main/resources/assets/dreamcraft/lang/en_US.lang index 7ace086ee..9cabe272c 100644 --- a/src/main/resources/assets/dreamcraft/lang/en_US.lang +++ b/src/main/resources/assets/dreamcraft/lang/en_US.lang @@ -1527,6 +1527,9 @@ Witchery.research_page.WAYSTONE=A waystone is an etched piece of flint that is a tc.research_name.RUNEDTABLET=Runed Tablet tc.research_text.RUNEDTABLET=[NH] Boss...? Yeee is farming time kosh.research_page.RUNEDTABLET=Your desire get to the boss? DO IT !!! +tc.research_name.CRIMSONRITES=Crimson Rites +tc.research_text.CRIMSONRITES=Unlocking the Unknown +tc.research_page.CRIMSONRITES=You have seen glimpses of powerful magic users. You think you might have found a way to unlock their secrets. # Tinker's Construct manual contents item.tconstruct.manual.common.recipes=Recipes