diff --git a/src/main/java/fox/spiteful/forbidden/ForbiddenRecipes.java b/src/main/java/fox/spiteful/forbidden/ForbiddenRecipes.java
index f1743a4..187723e 100644
--- a/src/main/java/fox/spiteful/forbidden/ForbiddenRecipes.java
+++ b/src/main/java/fox/spiteful/forbidden/ForbiddenRecipes.java
@@ -10,6 +10,7 @@ import thaumcraft.api.ItemApi;
import thaumcraft.api.ThaumcraftApi;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.aspects.AspectList;
+import thaumcraft.api.crafting.InfusionEnchantmentRecipe;
import thaumcraft.api.wands.WandCap;
import fox.spiteful.forbidden.blocks.ForbiddenBlocks;
@@ -50,6 +51,7 @@ public class ForbiddenRecipes {
ForbiddenResearch.recipes.put("Pigbane", ThaumcraftApi.addInfusionEnchantmentRecipe("PIGBANE", DarkEnchantments.pigBane, 1, (new AspectList()).add(Aspect.HUNGER, 4).add(Aspect.WEAPON, 4).add(Aspect.BEAST, 4), new ItemStack[] { new ItemStack(Items.iron_sword), new ItemStack(Items.porkchop), ItemApi.getItem("itemResource", 14) }));
ForbiddenResearch.recipes.put("Educational", ThaumcraftApi.addInfusionEnchantmentRecipe("EDUCATIONAL", DarkEnchantments.educational, 3, (new AspectList()).add(Aspect.MAGIC, 4).add(Aspect.WEAPON, 4).add(Aspect.MIND, 8), new ItemStack[] { ItemApi.getItem("itemResource", 5), new ItemStack(Items.book), ItemApi.getItem("itemResource", 14) }));
ForbiddenResearch.recipes.put("Corrupting", ThaumcraftApi.addInfusionEnchantmentRecipe("CORRUPTING", DarkEnchantments.corrupting, 4, (new AspectList()).add(DarkAspects.NETHER, 16).add(Aspect.EXCHANGE, 16).add(Aspect.CRYSTAL, 8), new ItemStack[] { new ItemStack(Items.nether_wart), new ItemStack(Blocks.soul_sand), ItemApi.getItem("itemResource", 14) }));
+ ForbiddenResearch.recipes.put("Eternal", ThaumcraftApi.addInfusionEnchantmentRecipe("ETERNAL", DarkEnchantments.eternal, 12, (new AspectList()).add(Aspect.CRAFT, 32).add(Aspect.TOOL, 64).add(DarkAspects.ENVY, 76).add(Aspect.MAGIC, 64), new ItemStack[] { new ItemStack(Items.nether_star), ItemApi.getItem("itemResource", 16), ItemApi.getItem("itemResource", 16), ItemApi.getItem("itemResource", 16), new ItemStack(ForbiddenItems.deadlyShards, 1, 1), new ItemStack(ForbiddenItems.deadlyShards, 1, 1), new ItemStack(ForbiddenItems.deadlyShards, 1, 1) }));
CraftingManager.getInstance().addRecipe(new ItemStack(Items.emerald, 1, 0), new Object[] { "###", "###", "###", Character.valueOf('#'), new ItemStack(ForbiddenItems.resource, 1, 0) });
CraftingManager.getInstance().addRecipe(new ItemStack(ForbiddenItems.resource, 9, 0), new Object[] { "#", Character.valueOf('#'), new ItemStack(Items.emerald, 1, 0) });
diff --git a/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java b/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java
index a8d1d7a..f600bcc 100644
--- a/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java
+++ b/src/main/java/fox/spiteful/forbidden/ForbiddenResearch.java
@@ -68,6 +68,9 @@ public class ForbiddenResearch {
(new DarkResearchItem("GREEDY", "FORBIDDEN", (new AspectList()).add(Aspect.MAGIC, 2).add(Aspect.WEAPON, 1).add(Aspect.GREED, 3), -1, 5, 4, new ResourceLocation("forbidden", "textures/misc/greedy.png"))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.GREEDY.1"), new ResearchPage((InfusionEnchantmentRecipe) recipes.get("Greedy")) }).setParents(new String[] { "INFAUXSIONENCHANTMENT" }).setConcealed().registerResearchItem();
(new DarkResearchItem("CORRUPTING", "FORBIDDEN", (new AspectList()).add(DarkAspects.NETHER, 5).add(Aspect.CRYSTAL, 2).add(Aspect.EXCHANGE, 1), -1, 6, 3, new ResourceLocation("forbidden", "textures/misc/corrupting.png"))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.CORRUPTING.1"), new ResearchPage((InfusionEnchantmentRecipe) recipes.get("Corrupting")) }).setParents(new String[] { "INFAUXSIONENCHANTMENT" }).setConcealed().registerResearchItem();
+ (new DarkResearchItem("ETERNAL", "FORBIDDEN", (new AspectList()).add(Aspect.MAGIC, 16).add(Aspect.TOOL, 10).add(Aspect.CRAFT, 8).add(DarkAspects.ENVY, 32), -5, 7, 6, new ResourceLocation("forbidden", "textures/misc/eternal.png"))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.ETERNAL.1"), new ResearchPage((InfusionEnchantmentRecipe) recipes.get("Eternal")) }).setParents(new String[] { "MORPHTOOLS", "ICHOR_TOOLS" }).setConcealed().registerResearchItem();
+ ThaumcraftApi.addWarpToResearch("ETERNAL", 5);
+
if (Config.wrathCage) {
if (Config.wrathCost > 0)
(new DarkResearchItem("WRATHCAGE", "FORBIDDEN", (new AspectList()).add(DarkAspects.WRATH, 5).add(Aspect.MECHANISM, 3).add(Aspect.BEAST, 2), -2, 0, 6, new ItemStack(ForbiddenBlocks.wrathCage))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.WRATHCAGE.1"), new ResearchPage((InfusionRecipe) recipes.get("WrathCage")), new ResearchPage("forbidden.research_page.WRATHCAGE.2"), new ResearchPage("forbidden.research_page.WRATHCAGE.3"), new ResearchPage((CrucibleRecipe) recipes.get("MobCrystal")) }).setParents(new String[] { "INFAUXSION" }).setParentsHidden(new String[] { "THAUMIUM", "DISTILESSENTIA" }).setConcealed().setSiblings(new String[] { "FORK" }).registerResearchItem();
diff --git a/src/main/java/fox/spiteful/forbidden/compat/BloodMagic.java b/src/main/java/fox/spiteful/forbidden/compat/BloodMagic.java
index 15394a0..bd3441d 100644
--- a/src/main/java/fox/spiteful/forbidden/compat/BloodMagic.java
+++ b/src/main/java/fox/spiteful/forbidden/compat/BloodMagic.java
@@ -52,8 +52,9 @@ public class BloodMagic {
AltarRecipeRegistry.registerAltarRecipe(new ItemStack(ForbiddenItems.wandCore, 1, 3), new ItemStack(ForbiddenItems.wandCore, 1, 6), 4, 20000, 15, 20, false);
+
InfusionRecipe blood_recipe = ThaumcraftApi.addInfusionCraftingRecipe("ROD_blood", new ItemStack(ForbiddenItems.wandCore, 1, 6), 2, (new AspectList()).add(Aspect.LIFE, 32).add(Aspect.MAGIC, 12).add(Aspect.WATER, 16), new ItemStack(masterOrb), new ItemStack[] { new ItemStack(magicales), new ItemStack(imbuedSlate), new ItemStack(imbuedSlate), new ItemStack(tennebrae), new ItemStack(sanctus), new ItemStack(aquasalus), new ItemStack(incendium), new ItemStack(terrae), new ItemStack(aether) });
- (new DarkResearchItem("ROD_blood", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 5).add(Aspect.WATER, 4).add(Aspect.WEAPON, 3), -5, -3, 3, new ItemStack(ForbiddenItems.wandCore, 1, 3))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.ROD_blood.1"), new ResearchPage(blood_recipe), new ResearchPage("forbidden.research_page.ROD_blood.2") }).setParents(new String[] { "ROD_silverwood", "INFAUXSION" }).setAspectTriggers(new Aspect[] { Aspect.LIFE }).setConcealed().registerResearchItem();
+ (new DarkResearchItem("ROD_blood", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 5).add(Aspect.WATER, 4).add(Aspect.WEAPON, 3), -5, -3, 2, new ItemStack(ForbiddenItems.wandCore, 1, 3))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.ROD_blood.1"), new ResearchPage(blood_recipe), new ResearchPage("forbidden.research_page.ROD_blood.2") }).setParents(new String[] { "ROD_silverwood", "INFAUXSION" }).setAspectTriggers(new Aspect[] { Aspect.LIFE }).setConcealed().registerResearchItem();
ThaumcraftApi.addWarpToResearch("ROD_blood", 2);
InfusionRecipe alchemical_recipe = ThaumcraftApi.addInfusionCraftingRecipe("CAP_alchemical", new ItemStack(ForbiddenItems.wandCap, 1, 0), 3, (new AspectList()).add(Aspect.LIFE, 12).add(Aspect.WATER, 6), ItemApi.getItem("itemWandCap", 1), new ItemStack[] { new ItemStack(magicales), new ItemStack(magicales), new ItemStack(magicales) });
@@ -69,20 +70,10 @@ public class BloodMagic {
InfusionRecipe blood_rapier = ThaumcraftApi.addInfusionCraftingRecipe("BLOODRAPIER", new ItemStack(ForbiddenItems.bloodRapier, 1, 0), 8, (new AspectList()).add(Aspect.LIFE, 18).add(Aspect.HUNGER, 32).add(Aspect.WEAPON, 8), ItemApi.getItem("itemSwordVoid", 0), new ItemStack[] { ItemApi.getItem("itemResource", 12), new ItemStack(ForbiddenItems.deadlyShards, 1, 0), new ItemStack(ForbiddenItems.gluttonyShard, 1, 0), new ItemStack(Items.feather), ItemApi.getItem("itemResource", 6) });
(new DarkResearchItem("BLOODRAPIER", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 16).add(Aspect.HUNGER, 12).add(Aspect.WEAPON, 12).add(Aspect.MAGIC, 12), -9, 8, 4, new ItemStack(ForbiddenItems.bloodRapier, 1, 0))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.BLOODRAPIER.1"), new ResearchPage(blood_rapier) }).setParents(new String[] { "INFAUXSION", "VOIDMETAL" }).setConcealed().registerResearchItem();
- if (Compat.kami) {
- try {
+ InfusionRecipe divine_orb = ThaumcraftApi.addInfusionCraftingRecipe("DIVINEORB", new ItemStack(ForbiddenItems.bloodOrb, 1, 0), 12, (new AspectList()).add(Aspect.LIFE, 64).add(Aspect.ELDRITCH, 48).add(Aspect.DARKNESS, 32).add(Aspect.VOID, 64), new ItemStack(archmasterOrb), new ItemStack[] { ItemApi.getItem("itemEldritchObject", 0), new ItemStack(Items.ender_eye), ItemApi.getItem("itemResource", 16), ItemApi.getItem("itemResource", 16), ItemApi.getItem("itemResource", 16), new ItemStack(Items.nether_star), ItemApi.getItem("itemResource", 16), ItemApi.getItem("itemResource", 16), ItemApi.getItem("itemResource", 16), new ItemStack(Items.ender_eye) });
+ (new DarkResearchItem("DIVINEORB", "FORBIDDEN", "[BM]", (new AspectList()).add(Aspect.LIFE, 24).add(Aspect.VOID, 32).add(Aspect.CRYSTAL, 24).add(Aspect.ELDRITCH, 12), -9, 6, 6, new ItemStack(ForbiddenItems.bloodOrb, 1, 0))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.DIVINEORB.1"), new ResearchPage(divine_orb) }).setParents(new String[] { "INFAUXSION", "ELDRITCHMAJOR", "VOIDMETAL" }).setConcealed().setSpecial().registerResearchItem();
+ ThaumcraftApi.addWarpToResearch("DIVINEORB", 4);
- //Item kamiResource = (Item) (Class.forName("thaumic.tinkerer.common.item.ModItems").getField("kamiResource").get(null));
- Item kamiResource = GameRegistry.findItem("ThaumicTinkerer", "kamiResource");
- InfusionRecipe divine_orb = ThaumcraftApi.addInfusionCraftingRecipe("DIVINEORB", new ItemStack(ForbiddenItems.bloodOrb, 1, 0), 12, (new AspectList()).add(Aspect.LIFE, 64).add(Aspect.MAGIC, 48).add(Aspect.WATER, 32).add(Aspect.VOID, 64), new ItemStack(archmasterOrb), new ItemStack[] { new ItemStack(kamiResource, 1, 0), new ItemStack(kamiResource, 1, 0), new ItemStack(kamiResource, 1, 0), new ItemStack(kamiResource, 1, 2), new ItemStack(kamiResource, 1, 2), new ItemStack(kamiResource, 1, 1), new ItemStack(kamiResource, 1, 6), new ItemStack(kamiResource, 1, 7), new ItemStack(ForbiddenItems.gluttonyShard) });
- (new DarkResearchItem("DIVINEORB", "FORBIDDEN", "[BM] [TTKami]", (new AspectList()).add(Aspect.LIFE, 32).add(Aspect.VOID, 24).add(Aspect.CRYSTAL, 24).add(Aspect.MAGIC, 12), -9, 6, 6, new ItemStack(ForbiddenItems.bloodOrb, 1, 0))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.DIVINEORB.1"), new ResearchPage(divine_orb) }).setParents(new String[] { "ICHOR", "INFAUXSION", "ICHOR_CLOTH", "ICHORIUM" }).setAspectTriggers(new Aspect[] { Aspect.LIFE }).setConcealed().setSpecial().registerResearchItem();
-
- } catch (Exception e) {
- FMLLog.log(Level.INFO, e, "Forbidden Magic doesn't have Thaumic Tinkerer's nose.");
- e.printStackTrace();
- }
-
- }
list = (new AspectList()).add(Aspect.LIFE, 2).add(Aspect.MAGIC, 2).add(Aspect.CRYSTAL, 4);
ThaumcraftApi.registerObjectTag(new ItemStack(crapOrb, 1, OreDictionary.WILDCARD_VALUE), list);
diff --git a/src/main/java/fox/spiteful/forbidden/compat/Compat.java b/src/main/java/fox/spiteful/forbidden/compat/Compat.java
index 1fc3573..6c20527 100644
--- a/src/main/java/fox/spiteful/forbidden/compat/Compat.java
+++ b/src/main/java/fox/spiteful/forbidden/compat/Compat.java
@@ -79,12 +79,6 @@ public class Compat {
list = new AspectList().add(Aspect.ELDRITCH, 2).add(Aspect.MAGIC, 1).add(Aspect.CRYSTAL, 1);
ThaumcraftApi.registerObjectTag(new ItemStack(kamiResource, 1, 7), list);
- InfusionEnchantmentRecipe eternal = ThaumcraftApi.addInfusionEnchantmentRecipe("ETERNAL", DarkEnchantments.eternal, 12, (new AspectList()).add(Aspect.CRAFT, 32).add(Aspect.TOOL, 64).add(DarkAspects.ENVY, 76).add(Aspect.MAGIC, 64), new ItemStack[] { new ItemStack(kamiResource, 1, 0), new ItemStack(kamiResource, 1, 2), new ItemStack(kamiResource, 1, 2), new ItemStack(kamiResource, 1, 2), new ItemStack(kamiResource, 1, 6), new ItemStack(ForbiddenItems.deadlyShards, 1, 1), new ItemStack(ForbiddenItems.deadlyShards, 1, 1), new ItemStack(ForbiddenItems.deadlyShards, 1, 1) });
- (new DarkResearchItem("ETERNAL", "FORBIDDEN", "[TTKami]", (new AspectList()).add(Aspect.MAGIC, 16).add(Aspect.TOOL, 10).add(Aspect.CRAFT, 8).add(DarkAspects.ENVY, 32), -5, 7, 6, new ResourceLocation("forbidden", "textures/misc/eternal.png"))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.ETERNAL.1"), new ResearchPage(eternal) }).setParents(new String[] { "MORPHTOOLS", "ICHOR_TOOLS" }).setConcealed().registerResearchItem();
- ThaumcraftApi.addWarpToResearch("ETERNAL", 5);
-
- InfusionRecipe thoth = ThaumcraftApi.addInfusionCraftingRecipe("DIVINEWELL", new ItemStack(ForbiddenItems.divinewell, 1, 0), 5, (new AspectList()).add(Aspect.MIND, 32).add(Aspect.BEAST, 12).add(Aspect.EARTH, 16), ItemApi.getItem("itemInkwell", 0), new ItemStack[] { new ItemStack(kamiResource, 1, 2), new ItemStack(kamiResource, 1, 0), new ItemStack(kamiResource, 1, 0), new ItemStack(Blocks.bookshelf), new ItemStack(Blocks.bookshelf), new ItemStack(Blocks.bookshelf), ItemApi.getItem("itemResource", 5), ItemApi.getItem("itemResource", 5), ItemApi.getItem("itemResource", 5) });
- (new DarkResearchItem("DIVINEWELL", "FORBIDDEN", "[TTKami]", (new AspectList()).add(Aspect.MIND, 6).add(Aspect.EARTH, 3).add(Aspect.MAGIC, 5), -11, 4, 3, new ItemStack(ForbiddenItems.divinewell, 1, 0))).setPages(new ResearchPage[] { new ResearchPage("forbidden.research_page.DIVINEWELL.1"), new ResearchPage(thoth) }).setParents(new String[] { "ICHORIUM" }).setConcealed().registerResearchItem();
} catch (Exception e) {
LogHandler.log(Level.INFO, e, "We don't have Thaumic Tinkerer's nose.");
}
diff --git a/src/main/java/fox/spiteful/forbidden/items/ForbiddenItems.java b/src/main/java/fox/spiteful/forbidden/items/ForbiddenItems.java
index fe040e8..f768578 100644
--- a/src/main/java/fox/spiteful/forbidden/items/ForbiddenItems.java
+++ b/src/main/java/fox/spiteful/forbidden/items/ForbiddenItems.java
@@ -169,9 +169,6 @@ public class ForbiddenItems {
ridingCrop = new ItemRidingCrop(ToolMaterial.WOOD).setUnlocalizedName("RidingCrop");
GameRegistry.registerItem(ridingCrop, "RidingCrop");
- divinewell = new ItemDivinewell().setUnlocalizedName("Divinewell");
- GameRegistry.registerItem(divinewell, "Divinewell");
-
bloodRapier = new ItemBloodRapier().setUnlocalizedName("BloodRapier");
GameRegistry.registerItem(bloodRapier, "BloodRapier");
diff --git a/src/main/resources/assets/forbidden/lang/en_US.lang b/src/main/resources/assets/forbidden/lang/en_US.lang
index a9eebb1..f28a4f8 100644
--- a/src/main/resources/assets/forbidden/lang/en_US.lang
+++ b/src/main/resources/assets/forbidden/lang/en_US.lang
@@ -36,7 +36,7 @@ item.DiabolistFork.name=Diabolist Fork
item.DiabolistSpork.name=Spork of Doom
item.GluttonyShard.name=Gluttony Shard
item.Bloodwell.name=Bloody Scrivener's Tools
-item.DivineOrb.name=Transcendent Blood Orb
+item.DivineOrb.name=Eldritch Blood Orb
item.Crystalwell.name=Crystal Scribing Tools
item.RidingCrop.name=Riding Crop
item.Divinewell.name=Scribing Tools of Thoth
@@ -237,9 +237,9 @@ forbidden.research_name.BLOODWELL=Bloody Scrivener's Tools
forbidden.research_text.BLOODWELL="I'll complete this research if it kills me!"
forbidden.research_page.BLOODWELL.1=There's nothing more frustrating than having to pause your research to refill your inkwell. Sometimes, you're just so desperate to complete a research you'd rather use your own blood as ink than stop to go find a refill.
The Bloody Scrivener's Tools will refill using Life Points from their owner's network, at a rate of 25 LP per point. This ability requires human warmth to activate, requiring you to remove the tools from the research table, but without having to actually leave the research area.
#
-forbidden.research_name.DIVINEORB=Transcendent Blood Orb
-forbidden.research_text.DIVINEORB=Orb of Armok
-forbidden.research_page.DIVINEORB.1=It is whispered among some Thaumaturgic circles that Ichor is actually the blood of the divine. You don't know whether this is true or not, but Ichor does seem to have an affinity with more advanced alchemical devices.
The Transcendent Blood Orb is what happens when you combine the most advanced Thaumaturgy and Alchemical Wizardry available. The infusion vastly increases the orb's carrying capacity, allowing it to hold a whopping 70,000,000 LP. What would you ever need that much LP for?
+forbidden.research_name.DIVINEORB=Eldritch Blood Orb
+forbidden.research_text.DIVINEORB=Orb of Bel-Shamharoth
+forbidden.research_page.DIVINEORB.1=Strange whispers speak of power and dark energy in the spaces between the stars where even gods dare not gaze. Whether or not the whispers are telling the truth, it turns out that you can fit a lot of things in those spaces.
By infusing a blood orb with the essence of the void and arcane geometries, you create an orb capable of storing vast amounts of life energy. 80,000,000 LP, to be exact. Storing life energy in a space not bound by Euclidean geometry can't possibly go wrong!
#
forbidden.research_name.BLOODRAPIER=Rapier of the Strix
forbidden.research_text.BLOODRAPIER=Destroyer of Blood Magic
diff --git a/src/main/resources/assets/forbidden/textures/items/divineorb.png b/src/main/resources/assets/forbidden/textures/items/divineorb.png
index 88ecc8f..4afa01b 100644
Binary files a/src/main/resources/assets/forbidden/textures/items/divineorb.png and b/src/main/resources/assets/forbidden/textures/items/divineorb.png differ
diff --git a/src/main/resources/assets/forbidden/textures/items/divineorb.png.mcmeta b/src/main/resources/assets/forbidden/textures/items/divineorb.png.mcmeta
new file mode 100644
index 0000000..0645f48
--- /dev/null
+++ b/src/main/resources/assets/forbidden/textures/items/divineorb.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation": {
+ "frametime": 2
+ }
+}
diff --git a/src/main/resources/assets/forbidden/textures/misc/eternal.png b/src/main/resources/assets/forbidden/textures/misc/eternal.png
index 59594fa..8dfa207 100644
Binary files a/src/main/resources/assets/forbidden/textures/misc/eternal.png and b/src/main/resources/assets/forbidden/textures/misc/eternal.png differ