diff --git a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/ARCProcessor.java b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/ARCProcessor.java index 0ad3246c..1cd3fa4d 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/ARCProcessor.java +++ b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/ARCProcessor.java @@ -1,6 +1,7 @@ package wayoftime.bloodmagic.compat.patchouli.processors; import java.util.Arrays; +import java.util.Optional; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; @@ -23,14 +24,18 @@ public class ARCProcessor implements IComponentProcessor public void setup(IVariableProvider variables) { ResourceLocation id = new ResourceLocation(variables.get("recipe").asString()); - IRecipe recipe = Minecraft.getInstance().world.getRecipeManager().getRecipe(id).get(); - if (recipe.getType().equals(BloodMagicRecipeType.ARC)) + Optional> recipeHandler = Minecraft.getInstance().world.getRecipeManager().getRecipe(id); + if (recipeHandler.isPresent()) { - this.recipe = (RecipeARC) recipe; + IRecipe recipe = recipeHandler.get(); + if (recipe.getType().equals(BloodMagicRecipeType.ARC)) + { + this.recipe = (RecipeARC) recipe; + } } if (this.recipe == null) { - LogManager.getLogger().warn("Guidebook missing Alchemical Reaction Chamber recipe " + id); + LogManager.getLogger().warn("Guidebook missing Alchemical Reaction Chamber recipe {}", id); } } @@ -42,7 +47,7 @@ public class ARCProcessor implements IComponentProcessor return null; } else if (key.startsWith("output")) { - int index = Integer.parseInt(key.substring("output".length())) - 1; + int index = Integer.parseInt(key.substring(6)) - 1; if (recipe.getAllListedOutputs().size() > index) { return IVariable.from(recipe.getAllListedOutputs().get(index)); @@ -52,7 +57,7 @@ public class ARCProcessor implements IComponentProcessor } } else if (key.startsWith("chance")) { - int index = Integer.parseInt(key.substring("chance".length())) - 2; // Index 0 = 2nd output. + int index = Integer.parseInt(key.substring(6)) - 2; // Index 0 = 2nd output. if (recipe.getAllOutputChances().length > index) { double chance = recipe.getAllOutputChances()[index] * 100; @@ -64,7 +69,7 @@ public class ARCProcessor implements IComponentProcessor } } else if (key.startsWith("show_chance")) { - int index = Integer.parseInt(key.substring("show_chance".length())) - 2; // Index 0 = 2nd output. + int index = Integer.parseInt(key.substring(11)) - 2; // Index 0 = 2nd output. if (recipe.getAllOutputChances().length > index) { return IVariable.wrap(true); diff --git a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyArrayProcessor.java b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyArrayProcessor.java index 03405668..5abc768b 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyArrayProcessor.java +++ b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyArrayProcessor.java @@ -1,6 +1,7 @@ package wayoftime.bloodmagic.compat.patchouli.processors; import java.util.Arrays; +import java.util.Optional; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; @@ -22,14 +23,18 @@ public class AlchemyArrayProcessor implements IComponentProcessor public void setup(IVariableProvider variables) { ResourceLocation id = new ResourceLocation(variables.get("recipe").asString()); - IRecipe recipe = Minecraft.getInstance().world.getRecipeManager().getRecipe(id).get(); - if (recipe.getType().equals(BloodMagicRecipeType.ARRAY)) + Optional> recipeHandler = Minecraft.getInstance().world.getRecipeManager().getRecipe(id); + if (recipeHandler.isPresent()) { - this.recipe = (RecipeAlchemyArray) recipe; + IRecipe recipe = Minecraft.getInstance().world.getRecipeManager().getRecipe(id).get(); + if (recipe.getType().equals(BloodMagicRecipeType.ARRAY)) + { + this.recipe = (RecipeAlchemyArray) recipe; + } } if (this.recipe == null) { - LogManager.getLogger().warn("Guidebook missing Alchemy Array recipe " + id); + LogManager.getLogger().warn("Guidebook missing Alchemy Array recipe {}", id); } } diff --git a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyTableProcessor.java b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyTableProcessor.java index 9ac92fe7..a62f02b5 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyTableProcessor.java +++ b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/AlchemyTableProcessor.java @@ -1,6 +1,7 @@ package wayoftime.bloodmagic.compat.patchouli.processors; import java.util.Arrays; +import java.util.Optional; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; @@ -25,14 +26,18 @@ public class AlchemyTableProcessor implements IComponentProcessor public void setup(IVariableProvider variables) { ResourceLocation id = new ResourceLocation(variables.get("recipe").asString()); - IRecipe recipe = Minecraft.getInstance().world.getRecipeManager().getRecipe(id).get(); - if (recipe.getType().equals(BloodMagicRecipeType.ALCHEMYTABLE)) + Optional> recipeHandler = Minecraft.getInstance().world.getRecipeManager().getRecipe(id); + if (recipeHandler.isPresent()) { - this.recipe = (RecipeAlchemyTable) recipe; + IRecipe recipe = recipeHandler.get(); + if (recipe.getType().equals(BloodMagicRecipeType.ALCHEMYTABLE)) + { + this.recipe = (RecipeAlchemyTable) recipe; + } } if (this.recipe == null) { - LogManager.getLogger().warn("Guidebook missing Alchemy Table recipe " + id); + LogManager.getLogger().warn("Guidebook missing Alchemy Table recipe {}", id); } } @@ -44,7 +49,7 @@ public class AlchemyTableProcessor implements IComponentProcessor return null; } else if (key.startsWith("input")) { - int index = Integer.parseInt(key.substring("input".length())) - 1; + int index = Integer.parseInt(key.substring(5)) - 1; if (recipe.getInput().size() > index) { return IVariable.wrapList(Arrays.stream(recipe.getInput().get(index).getMatchingStacks()).map(IVariable::from).collect(Collectors.toList())); @@ -78,7 +83,7 @@ public class AlchemyTableProcessor implements IComponentProcessor // case 6: return IVariable.from(new // ItemStack(BloodMagicItems.TRANSCENDENT_BLOOD_ORB.get())); default: - LogManager.getLogger().warn("Guidebook unable to find large enough Blood Orb for " + recipe.getId()); + LogManager.getLogger().warn("Guidebook unable to find large enough Blood Orb for {}", recipe.getId()); return IVariable.from(new ItemStack(Items.BARRIER)); } default: diff --git a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/BloodAltarProcessor.java b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/BloodAltarProcessor.java index d55e7a70..81476136 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/BloodAltarProcessor.java +++ b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/BloodAltarProcessor.java @@ -1,6 +1,7 @@ package wayoftime.bloodmagic.compat.patchouli.processors; import java.util.Arrays; +import java.util.Optional; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; @@ -22,14 +23,18 @@ public class BloodAltarProcessor implements IComponentProcessor public void setup(IVariableProvider variables) { ResourceLocation id = new ResourceLocation(variables.get("recipe").asString()); - IRecipe recipe = Minecraft.getInstance().world.getRecipeManager().getRecipe(id).get(); - if (recipe.getType().equals(BloodMagicRecipeType.ALTAR)) + Optional> recipeHandler = Minecraft.getInstance().world.getRecipeManager().getRecipe(id); + if (recipeHandler.isPresent()) { - this.recipe = (RecipeBloodAltar) recipe; + IRecipe recipe = recipeHandler.get(); + if (recipe.getType().equals(BloodMagicRecipeType.ALTAR)) + { + this.recipe = (RecipeBloodAltar) recipe; + } } if (this.recipe == null) { - LogManager.getLogger().warn("Guidebook missing Blood Altar recipe " + id); + LogManager.getLogger().warn("Guidebook missing Blood Altar recipe {}", id); } } diff --git a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/TartaricForgeProcessor.java b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/TartaricForgeProcessor.java index b0a6a3cb..6815812f 100644 --- a/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/TartaricForgeProcessor.java +++ b/src/main/java/wayoftime/bloodmagic/compat/patchouli/processors/TartaricForgeProcessor.java @@ -1,6 +1,7 @@ package wayoftime.bloodmagic.compat.patchouli.processors; import java.util.Arrays; +import java.util.Optional; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; @@ -25,14 +26,18 @@ public class TartaricForgeProcessor implements IComponentProcessor public void setup(IVariableProvider variables) { ResourceLocation id = new ResourceLocation(variables.get("recipe").asString()); - IRecipe recipe = Minecraft.getInstance().world.getRecipeManager().getRecipe(id).get(); - if (recipe.getType().equals(BloodMagicRecipeType.TARTARICFORGE)) + Optional> recipeHandler = Minecraft.getInstance().world.getRecipeManager().getRecipe(id); + if (recipeHandler.isPresent()) { - this.recipe = (RecipeTartaricForge) recipe; + IRecipe recipe = recipeHandler.get(); + if (recipe.getType().equals(BloodMagicRecipeType.TARTARICFORGE)) + { + this.recipe = (RecipeTartaricForge) recipe; + } } if (this.recipe == null) { - LogManager.getLogger().warn("Guidebook missing Hellfire Forge recipe " + id); + LogManager.getLogger().warn("Guidebook missing Hellfire Forge recipe {}", id); } } @@ -45,7 +50,7 @@ public class TartaricForgeProcessor implements IComponentProcessor } if (key.startsWith("input")) { - int index = Integer.parseInt(key.substring("input".length())) - 1; + int index = Integer.parseInt(key.substring(5)) - 1; if (recipe.getInput().size() > index) { return IVariable.wrapList(Arrays.stream(recipe.getInput().get(index).getMatchingStacks()).map(IVariable::from).collect(Collectors.toList())); @@ -83,7 +88,7 @@ public class TartaricForgeProcessor implements IComponentProcessor // } } else { - LogManager.getLogger().warn("Guidebook could not find a large enough Tartaric Gem for " + recipe.getId()); + LogManager.getLogger().warn("Guidebook could not find a large enough Tartaric Gem for {}", recipe.getId()); return IVariable.from(new ItemStack(Items.BARRIER)); } diff --git a/src/main/resources/assets/bloodmagic/images/crafting/arcaneash.png b/src/main/resources/assets/bloodmagic/images/crafting/arcaneash.png deleted file mode 100644 index 86f262c8..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/crafting/arcaneash.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/crafting/bloodaltar.png b/src/main/resources/assets/bloodmagic/images/crafting/bloodaltar.png deleted file mode 100644 index afa4e687..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/crafting/bloodaltar.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/crafting/soulforge.png b/src/main/resources/assets/bloodmagic/images/crafting/soulforge.png deleted file mode 100644 index e4ac64d4..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/crafting/soulforge.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/divination_array_1.png b/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/divination_array_1.png deleted file mode 100644 index d2e4c7c4..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/divination_array_1.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/divination_array_2.png b/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/divination_array_2.png deleted file mode 100644 index a6d20ae3..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/divination_array_2.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/simple_array.png b/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/simple_array.png deleted file mode 100644 index 04771848..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/entries/alchemyarray/simple_array.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/entries/demonwill/demonwill.png b/src/main/resources/assets/bloodmagic/images/entries/demonwill/demonwill.png deleted file mode 100644 index f75a0af8..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/entries/demonwill/demonwill.png and /dev/null differ diff --git a/src/main/resources/assets/bloodmagic/images/entries/demonwill/snare_particles.png b/src/main/resources/assets/bloodmagic/images/entries/demonwill/snare_particles.png deleted file mode 100644 index b8723d3e..00000000 Binary files a/src/main/resources/assets/bloodmagic/images/entries/demonwill/snare_particles.png and /dev/null differ diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/demon_will/aspected_will.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/demon_will/aspected_will.json index 66c90718..6f64357b 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/demon_will/aspected_will.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/demon_will/aspected_will.json @@ -19,7 +19,7 @@ "pages": [ { "type": "text", - "text": "Unleashing $(l:demon_will/demon_will)$(item)Demon Will$() into the atmosphere was definitely an excellent idea. Not only has it proven most useful in empowering $(item)Rituals$(), you have also succesfully condensed it into a $(l:demon_will/crystallized_will)Crystal Cluster$(), and are wondering what to turn your eye to next. $(br2)These $(item)Crystals$() feel somehow... conflicted, to you. A certain $(l:rituals/rituals_list/ritual_crystal_split)Ritual$() may help coax them out into purer forms..." + "text": "Unleashing $(l:demon_will/demon_will)$(item)Demon Will$() into the atmosphere was definitely an excellent idea. Not only has it proven most useful in empowering $(item)Rituals$(), you have also successfully condensed it into a $(l:demon_will/crystallized_will)Crystal Cluster$(), and are wondering what to turn your eye to next. $(br2)These $(item)Crystals$() feel somehow... conflicted, to you. A certain $(l:rituals/rituals_list/ritual_crystal_split)Ritual$() may help coax them out into purer forms..." }, { "type": "image", @@ -45,6 +45,10 @@ { "type": "text", "text": "You may be wondering: \"How on earth do I get this will into a usable form?\" Well, the answer is simple. Just place an EMPTY $(l:demon_will/soul_gem)Tartaric Gem$() into a $(l:demon_will/soul_forge)Hellfire Forge$() in the same chunk as a $(item)Demon Crucible$(), then feed the Demon Crucible with Will Crystals of the desired aspect. Your $(l:demon_will/soul_gem)Tartaric Gem$() will fill with that aspect of will. You can change which kind of will your $(raw)Sentient Tools$() use by right-clicking while holding them." + }, + { + "type": "text", + "text": "Note that your $(raw)Sentient Tools$() will take on the aspect of the largest amount of $(raw)Will$() in your inventory. If you're carrying 10 $(corrosive)Corrosive Will$() in one $(l:demon_will/soul_gem)Tartaric Gem$(), and 1,000 $(raw)Raw Will$() in another, then your sword will remain $(raw)Raw$()." } ] } \ No newline at end of file diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/living_equipment/living_basics.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/living_equipment/living_basics.json index 4daa26ec..f199a28c 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/living_equipment/living_basics.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/living_equipment/living_basics.json @@ -3,13 +3,7 @@ "icon": "bloodmagic:reagentbinding", "category": "living_equipment", "priority": "true", - "extra_recipe_mappings":[ - ["bloodmagic:reagentbinding", 1], - ["bloodmagic:livinghelmet", 4], - ["bloodmagic:livingplate", 4], - ["bloodmagic:livingleggings", 4], - ["bloodmagic:livingboots", 4] - ], + "extra_recipe_mappings":[["bloodmagic:reagentbinding", 1]], "pages": [ { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/ritual_diviner.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/ritual_diviner.json index 06b645e0..10cb930b 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/ritual_diviner.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/ritual_diviner.json @@ -25,6 +25,7 @@ { "type": "crafting", "recipe": "bloodmagic:ritual_diviner_1", + "anchor": "dusk", "text": "There is also an augmented version of the Ritual Diviner, for creating more powerful rituals." }, { diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_animal_growth.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_animal_growth.json index 8e7baef2..b5b9045f 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_animal_growth.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_animal_growth.json @@ -23,7 +23,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_armour_evolve.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_armour_evolve.json index 292dcf01..c1bf3e52 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_armour_evolve.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_armour_evolve.json @@ -22,7 +22,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crushing.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crushing.json index 969c6876..c1274c94 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crushing.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crushing.json @@ -20,7 +20,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_harvest.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_harvest.json index 3e4354d9..a988c5a9 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_harvest.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_harvest.json @@ -21,7 +21,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_split.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_split.json index 7e99c848..a5a4b0de 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_split.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_crystal_split.json @@ -22,11 +22,22 @@ }, "symetrical": false }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", - "text": "Splits apart a well-grown Raw crystal cluster into several aspected crystal clusters. For more information, see $(l:demon_will/aspected_will)Aspected Will$(). $(br2)$(blank)Blank Runes: 4 $(br)$(water)Water Runes: 1 $(br)$(air)Air Runes: 1 $(br)$(fire)Fire Runes: 1 $(br)$(earth)Earth Runes: 1 $(br)$()Dusk Runes: 12 $(br2)$()Total Runes: 20" + "text": "Splits apart a well-grown Raw crystal cluster into several aspected crystal clusters. For additional setup information, see the next page. For more information on Aspected Will, see $(l:demon_will/aspected_will)Aspected Will$(). $(br2)$(blank)Blank Runes: 4 $(br)$(water)Water Runes: 1 $(br)$(air)Air Runes: 1 $(br)$(fire)Fire Runes: 1 $(br)$(earth)Earth Runes: 1 $(br)$()Dusk Runes: 12 $(br2)$()Total Runes: 20" + }, + { + "type": "image", + "title": "Ritual Setup", + "images": ["bloodmagic:images/entries/demon_will/will_splitting.png"], + "border": true, + "text": "Recommended setup for the Resonance of the Faceted Crystal ritual." + }, + { + "type": "text", + "text": "This ritual takes a well grown (5 spires) $(l:bloodmagic:demon_will/crystallized_will)Raw Crystal Cluster$(/l) located 2 blocks above the $(item)Master Ritual Stone$(), and splits it into new single spires of each $(l:demon_will/aspected_will)Aspected Will$(/l) Crystal Clusters located directly above the 4 elemental Ritual Stones. This spacing is designed to accommodate a $(item)Demon Crystallizer$() on top of the $(item)Master Ritual Stone$().$(br2)For information on growing Demon Will Crystals, please see $(l:bloodmagic:demon_will/crystallized_will)Crystallized Will$(/l)." } ] } diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_ellipse.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_ellipse.json index 1b5c6638..3daf98d4 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_ellipse.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_ellipse.json @@ -30,7 +30,7 @@ }, "symetrical": false }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_feathered_knife.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_feathered_knife.json index 7a39b40b..ef0ccae7 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_feathered_knife.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_feathered_knife.json @@ -21,7 +21,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_green_grove.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_green_grove.json index b064b41d..cd23ac06 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_green_grove.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_green_grove.json @@ -19,7 +19,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner)Ritual Diviner$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_harvest.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_harvest.json index fccda2c1..beee03f9 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_harvest.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_harvest.json @@ -24,7 +24,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_lava.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_lava.json index d4eae024..007adcbb 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_lava.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_lava.json @@ -18,7 +18,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner)Ritual Diviner$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_magnetic.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_magnetic.json index 24aaee4a..1f577d9c 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_magnetic.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_magnetic.json @@ -20,7 +20,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner)Ritual Diviner$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_regeneration.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_regeneration.json index e8293a90..80ed3f9d 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_regeneration.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_regeneration.json @@ -21,7 +21,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_upgrade_remove.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_upgrade_remove.json index 0efbbc4d..3c875de8 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_upgrade_remove.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_upgrade_remove.json @@ -24,7 +24,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner#dusk)Ritual Diviner [Dusk]$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_water.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_water.json index a1daa9c3..9e2dc020 100644 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_water.json +++ b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/rituals/rituals_list/ritual_water.json @@ -18,7 +18,7 @@ }, "symetrical": true }, - "text": "Use a Ritual Diviner for easier contruction." + "text": "Use a $(l:bloodmagic:rituals/ritual_diviner)Ritual Diviner$(/l) for easier construction." }, { "type": "text", diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/experience_book.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/book_experience.json similarity index 100% rename from src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/experience_book.json rename to src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/book_experience.json diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/example_double_array.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/example_double_array.json deleted file mode 100644 index a4052f62..00000000 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/example_double_array.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "Dev Example - Double Array", - "icon": "minecraft:barrier", - "category": "utility", - "pages": [ - { - "type": "crafting_array", - "heading": "Example Single Array", - "recipe": "bloodmagic:array/living_helmet", - "text": "This is an example using a single array. This template is the normal template.$(br2)The double array template uses the same template, just with an \"a\" recipe on top and a \"b\" recipe below." - } , - { - "type": "2x_crafting_array", - "a.heading": "Example Double Array A", - "a.recipe": "bloodmagic:array/living_plate", - "b.heading": "Example Double Array B", - "b.recipe": "bloodmagic:array/living_leggings", - "b.text": "text under the B array. There's nothing stopping you from putting text under the A array, but it would overlap." - } - ] -} - - diff --git a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/example_double_functional_array.json b/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/example_double_functional_array.json deleted file mode 100644 index 1b108e56..00000000 --- a/src/main/resources/data/bloodmagic/patchouli_books/guide/en_us/entries/utility/example_double_functional_array.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Dev Example - Double Functoinal Array", - "icon": "minecraft:barrier", - "category": "utility", - "pages": [ - { - "type": "functional_array", - "heading": "Example Single Array", - "recipe": "bloodmagic:array/movement", - "image": "movementarray.png", - "text": "This is an example using a single functional array. This template is the normal template.$(br2)The double array template uses the same template, just with an \"a\" recipe on top and a \"b\" recipe below." - } , - { - "type": "2x_functional_array", - "a.heading": "Example Double Array A", - "a.recipe": "bloodmagic:array/movement", - "a.image": "movementarray.png", - "b.heading": "Example Double Array B", - "b.recipe": "bloodmagic:array/movement", - "b.image": "movementarray.png", - "b.text": "text under the B array. There's nothing stopping you from putting text under the A array, but it would overlap." - } - ] -} - -