diff --git a/src/generated/resources/assets/occultism/lang/en_us.json b/src/generated/resources/assets/occultism/lang/en_us.json index 2b4405c7a..6985b1606 100644 --- a/src/generated/resources/assets/occultism/lang/en_us.json +++ b/src/generated/resources/assets/occultism/lang/en_us.json @@ -1,4 +1,38 @@ { + "advancements.occultism.chalks.black.description": "Fourth Foundation", + "advancements.occultism.chalks.black.title": "Black Chalk", + "advancements.occultism.chalks.blue.description": "Fourth Tier", + "advancements.occultism.chalks.blue.title": "Blue Chalk", + "advancements.occultism.chalks.brown.description": "Bait for what?", + "advancements.occultism.chalks.brown.title": "Brown Chalk", + "advancements.occultism.chalks.cyan.description": "Ancient Knowledge", + "advancements.occultism.chalks.cyan.title": "Cyan Chalk", + "advancements.occultism.chalks.gray.description": "Third Foundation", + "advancements.occultism.chalks.gray.title": "Gray Chalk", + "advancements.occultism.chalks.green.description": "Wild Attraction", + "advancements.occultism.chalks.green.title": "Green Chalk", + "advancements.occultism.chalks.light_blue.description": "Wild Stabilizer", + "advancements.occultism.chalks.light_blue.title": "Light Blue Chalk", + "advancements.occultism.chalks.light_gray.description": "Second Foundation", + "advancements.occultism.chalks.light_gray.title": "Light Gray Chalk", + "advancements.occultism.chalks.lime.description": "Second Tier", + "advancements.occultism.chalks.lime.title": "Lime Chalk", + "advancements.occultism.chalks.magenta.description": "Dragon Power", + "advancements.occultism.chalks.magenta.title": "Magenta Chalk", + "advancements.occultism.chalks.orange.description": "Third Tier?", + "advancements.occultism.chalks.orange.title": "Orange Chalk", + "advancements.occultism.chalks.pink.description": "Wild Power", + "advancements.occultism.chalks.pink.title": "Pink Chalk", + "advancements.occultism.chalks.purple.description": "Infusion", + "advancements.occultism.chalks.purple.title": "Purple Chalk", + "advancements.occultism.chalks.red.description": "Third Tier!", + "advancements.occultism.chalks.red.title": "Red Chalk", + "advancements.occultism.chalks.root.description": "Colorful", + "advancements.occultism.chalks.root.title": "Occultism: Chalks", + "advancements.occultism.chalks.white.description": "First Foundation", + "advancements.occultism.chalks.white.title": "White Chalk", + "advancements.occultism.chalks.yellow.description": "Possession", + "advancements.occultism.chalks.yellow.title": "Yellow Chalk", "advancements.occultism.familiar.bat.description": "Lure a normal bat near your bat familiar", "advancements.occultism.familiar.bat.title": "Cannibalism", "advancements.occultism.familiar.beaver_woodchop.description": "Let your Beaver familiar chop down a tree", @@ -175,6 +209,10 @@ "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.usage_drawing.title": "Usage (Drawing)", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_afrit_miner.name": "Afrit Miner", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_afrit_miner.spotlight.text": "The [#](ad03fc)Afrit[#]() miner harvests ores, like djinni miners, and additionally mines deepslate ores. This miner is faster and more efficient than the djinnis, thus damaging the magic lamp even more slowly.\n", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_ancient_miner.name": "Ancient Miner", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_ancient_miner.spotlight.text": "By compressing MMM you get an extremely powerful miner, but something starts watching you. [](item://occultism:mining_dim_core) are a extremely rarely mined by a Marid.\n", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_budding_amethyst.name": "Forge Budding Amethyst", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_budding_amethyst.spotlight.text": "Unlike other rituals, creating a [](item://minecraft:budding_amethyst) is a service provided by Wild Spirits and not bound any spirit to the final object. You sacrifice the items and the Wild Spirits uses his power to forge that item for you.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_dimensional_matrix.name": "Dimensional Matrix", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_dimensional_matrix.spotlight.text": "The dimensional matrix is the entry point to a small dimension used for storing items. A [#](ad03fc)Djinni[#]() bound to the matrix keeps the dimension stable, often supported by additional spirits in storage stabilizers, to increase the dimension size.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_dimensional_mineshaft.description.text": "The dimensional mineshaft will discard any items it cannot store, so it is important to regularly empty the mineshaft, either manually, with hoppers or using a transporter spirit. Spirits in lamps can be **inserted** from the top, all other sides can be used to **extract** items.\n", @@ -203,6 +241,8 @@ "book.occultism.dictionary_of_spirits.crafting_rituals.craft_otherworld_goggles.lenses_more.title": "Crafting Lenses", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_otherworld_goggles.lenses_spotlight.text": "Otherworld Goggles make use of a [#](ad03fc)Foliot[#]() bound into the lenses. The Foliot shares it's ability to view higher planes with the wearer, thus allowing them to see Otherworld materials.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_otherworld_goggles.name": "Craft Otherworld Goggles", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_reinforced_deepslate.name": "Forge Reinforced Deepslate", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_reinforced_deepslate.spotlight.text": "Unlike other rituals, creating a [](item://minecraft:reinforced deepslate) is a service provided by Ancient Spirits and not bound any spirit to the final object. You sacrifice the items and the Ancient Spirits uses his power to forge that item for you.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_satchel.name": "Surprisingly Substantial Satchel", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_satchel.spotlight.text": "A [#](ad03fc)Foliot[#]() is bound to the satchel, tasked with **slightly** warping reality. This allows to store more items in the satchel than it's size would indicate, making it a practical traveller's companion.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_soul_gem.name": "Soul Gem", @@ -226,11 +266,14 @@ "book.occultism.dictionary_of_spirits.crafting_rituals.craft_storage_system.name": "Magic Storage", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_storage_system.spotlight.text": "The following entries show only the rituals related to the Magic Storage system. For full step-by-step instructions on building the storage system, see the [Magic Storage](category://storage) category.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.craft_wild_trim.name": "Forge Wild Trim", - "book.occultism.dictionary_of_spirits.crafting_rituals.craft_wild_trim.spotlight.text": "Unlike other rituals, creating a [](item://minecraft:wild_armor_trim_smithing_template) is a service provided by a Marid that is not bound to the final object. You sacrifice the items and the Marid uses his power to forge that item for you.\n", + "book.occultism.dictionary_of_spirits.crafting_rituals.craft_wild_trim.spotlight.text": "Unlike other rituals, creating a [](item://minecraft:wild_armor_trim_smithing_template) is a service provided by Wild Spirits and not bound any spirit to the final object. You sacrifice the items and the Wild Spirits uses his power to forge that item for you.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.name": "Binding Rituals", "book.occultism.dictionary_of_spirits.crafting_rituals.overview.intro.text": "Binding rituals infuse spirits into items, where their powers are used for one specific purpose. The created items can act like simple empowering enchantments, or fulfill complex tasks to aid the summoner.\n", "book.occultism.dictionary_of_spirits.crafting_rituals.overview.intro.title": "Binding Rituals", "book.occultism.dictionary_of_spirits.crafting_rituals.overview.name": "Binding Rituals", + "book.occultism.dictionary_of_spirits.crafting_rituals.repair.name": "Repair Rituals", + "book.occultism.dictionary_of_spirits.crafting_rituals.repair.spotlight.text": "With simple materials, a Djinni can repair any chalk for you. By evolving in the occult path, an Afrit can repair miners, tools and armors. Any item repaired in this way retains its properties.\n", + "book.occultism.dictionary_of_spirits.crafting_rituals.repair.spotlight.title": "Repairing", "book.occultism.dictionary_of_spirits.crafting_rituals.return_to_rituals.name": "Return to Rituals Category", "book.occultism.dictionary_of_spirits.familiar_rituals.demonic_partner.about.text": "The Demonic Partner - a Husband or Wife - can fight for you and split your household chores.\n\\\n\\\nRight-Click with any cookable food and they will use their magic to cook it.\n\\\n\\\nRight-Click with a potion to get the effect for a significantly longer time.\n", "book.occultism.dictionary_of_spirits.familiar_rituals.demonic_partner.about.title": "Demonic Partner", @@ -309,7 +352,7 @@ "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_mummy.name": "Mummy Familiar", "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_otherworld_bird.description.text": "[#](ad03fc)Drikwings$[#]() are a subclass of [#](ad03fc)Djinni[#]() that are known to be amicable towards humans. They usually take the shape of a dark blue and purple parrot. Drikwings will provide their owner with limited flight abilities when nearby.\n\\\n\\\n**Upgrade Behaviour**\\\nCannot be upgraded by the blacksmith familiar.\n", "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_otherworld_bird.description.title": "Description", - "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_otherworld_bird.description2.text": "To obtain the parrot or parrot familiar for the sacrifice, consider summoning them using either the [Wild Parrot Ritual](entry://summoning_rituals/summon_wild_parrot) or [Parrot Familiar Ritual](entry://familiar_rituals/familiar_parrot)\n\\\n\\\n**Hint:** If you use mods that protect pets from death, use the wild parrot ritual!\n", + "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_otherworld_bird.description2.text": "To obtain the parrot or parrot familiar for the sacrifice, consider summoning them using either the [Wild Parrot Ritual](entry://possession_rituals/possess_unbound_parrot) or [Parrot Familiar Ritual](entry://familiar_rituals/familiar_parrot)\n\\\n\\\n**Hint:** If you use mods that protect pets from death, use the wild parrot ritual!\n", "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_otherworld_bird.entity.text": "**Provides**: [#](ad03fc)Multi-Jump[#](), [#](ad03fc)Jump Boost[#](), [#](ad03fc)Slow Falling[#]()\n", "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_otherworld_bird.name": "Drikwing Familiar", "book.occultism.dictionary_of_spirits.familiar_rituals.familiar_parrot.description.text": "In this ritual a [#](ad03fc)Foliot[#]() is summoned **as a familiar**, the slaughter of a [#](ad03fc)Chicken[#]() and the offering of dyes are intended to entice the [#](ad03fc)Foliot[#]() to take the shape of a parrot.\\\nAs [#](ad03fc)Foliot[#]() are not among the smartest spirits, they sometimes misunderstand the instructions ...\n", @@ -331,6 +374,10 @@ "book.occultism.dictionary_of_spirits.familiar_rituals.overview.ring.title": "Equipping Familiars", "book.occultism.dictionary_of_spirits.familiar_rituals.overview.trading.text": "\"Familiars can be easily traded when in a [Familiar Ring](entry://crafting_rituals/craft_familiar_ring).\n\\\n\\\nWhen released, the spirit will recognize the person releasing them as their new master.\n", "book.occultism.dictionary_of_spirits.familiar_rituals.overview.trading.title": "Equipping Familiars", + "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.description.text": "Purify a Vex to an Allay on a resurrection process that reveals its true name.\n", + "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.description.title": "Description", + "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.entity.text": "**Provides**: Allay\n", + "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.name": "Purify Vex to Allay", "book.occultism.dictionary_of_spirits.familiar_rituals.resurrection.description": "How to bring back a familiar from the dead.", "book.occultism.dictionary_of_spirits.familiar_rituals.resurrection.description.text": "The resurrection is a relatively simple process. The soul shard is strengthened with [](item://occultism:otherworld_essence) until it is strong enough to allow the familiar to return to the mortal realm and create a new body for itself.\n\\\n\\\nThe essence is obtained by growing (lots of) Demons Dream plants.\n", "book.occultism.dictionary_of_spirits.familiar_rituals.resurrection.description.title": "Resurrection", @@ -339,10 +386,6 @@ "book.occultism.dictionary_of_spirits.familiar_rituals.resurrection.soul_shard.text": "If a familiar dies it does not merely return to the Otherworld. Due to the close connection to the summoner a splinter of the familiar's soul remains in the mortal realm.\n\\\n\\\nThis splinter - shard - can be used to re-summon the familiar more easily.\n", "book.occultism.dictionary_of_spirits.familiar_rituals.resurrection.soul_shard.title": "Soul Shards", "book.occultism.dictionary_of_spirits.familiar_rituals.return_to_rituals.name": "Return to Rituals Category", - "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.description.text": "Purify a Vex to an Allay on a resurrection process that reveals its true name.\n", - "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.description.title": "Description", - "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.entity.text": "**Provides**: Allay\n", - "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.name": "Purify Vex to Allay", "book.occultism.dictionary_of_spirits.getting_started.books_of_binding.awakened_feather_recipe.text": "In order to craft [#](ad03fc)Books of Binding[#]() to summon spirits, you also need awakened feather. Simply drop any feather into [](item://occultism:spirit_fire) to awakened it.\n", "book.occultism.dictionary_of_spirits.getting_started.books_of_binding.book_of_binding_bound_foliot_recipe.text": "Add the name of the spirit to summon to your book of binding by crafting it with the Dictionary of Spirits. The Dictionary will not be used up.\n", "book.occultism.dictionary_of_spirits.getting_started.books_of_binding.book_of_binding_empty.text": " Alternatively, you can directly use the Binding Book: Empty instead of the previous three items. There are two ways to obtain this book. Place this book in the center of dyes to get specific book of binding.\n", @@ -381,13 +424,11 @@ "book.occultism.dictionary_of_spirits.getting_started.candle.lit_candle.text": "Just like the candles from Minecraft, [](item://occultism:large_candle) and colored versions can be lit, turning in a great light source.\n\\\nIn addiction, you can use a [](item://minecraft:torch), [](item://minecraft:soul_torch), [](item://minecraft:redstone_torch) or [](item://occultism:spirit_torch) to change the type of fire.\n\\\nAlso can be waterlogged.\n", "book.occultism.dictionary_of_spirits.getting_started.candle.name": "Candles", "book.occultism.dictionary_of_spirits.getting_started.candle.tallow.text": "Key ingredient for large candles. Kill large animals like pigs, cows or sheep with a [](item://occultism:butcher_knife)\nto harvest [](item://occultism:tallow).\n", - "book.occultism.dictionary_of_spirits.getting_started.chalks.afrit_essence.text": "To obtain the essence of an [#](ad03fc)Afrit[#]() for [](item://occultism:chalk_red) you need to [summon and kill an Unbound Afrit](entry://summoning_rituals/afrit_essence).\n", - "book.occultism.dictionary_of_spirits.getting_started.chalks.decoColors.text": "Other colored chalks (for now) only have decorative purposes, you can check the recipes in next pages. All needs to be purified in spirit fire.\n", - "book.occultism.dictionary_of_spirits.getting_started.chalks.decoColors.title": "Decorative Chalks", "book.occultism.dictionary_of_spirits.getting_started.chalks.description": "Better chalks for better rituals!", - "book.occultism.dictionary_of_spirits.getting_started.chalks.impure_purple_chalk_recipe.text": "You do not need to visit the [#](ad03fc)The End[#]() to obtain Endstone. You can summon a [Possessed Endermite](entry://possession_rituals/possess_endermite) which has a high chance to drop it.\n", "book.occultism.dictionary_of_spirits.getting_started.chalks.intro.text": "For more advanced rituals the basic [White Chalk](entry://occultism:dictionary_of_spirits/getting_started/ritual_prep_chalk) is not sufficient. Instead chalks made from more arcane materials are required.\n", "book.occultism.dictionary_of_spirits.getting_started.chalks.intro.title": "More Chalks", + "book.occultism.dictionary_of_spirits.getting_started.chalks.more.text": "Follow the progression in [Pentacle page](category://pentacles) to get the 16 chalks and do all pentacles,\n", + "book.occultism.dictionary_of_spirits.getting_started.chalks.more.title": "Pentacle Category", "book.occultism.dictionary_of_spirits.getting_started.chalks.name": "More Chalks", "book.occultism.dictionary_of_spirits.getting_started.crafting_rituals.description": "Infuse spirits into items to create powerful tools", "book.occultism.dictionary_of_spirits.getting_started.crafting_rituals.intro.text": "Infusion rituals are all about crafting powerful items, by binding (\"infusing\") spirits into objects.The spirits will provide special functionality to the items.\n", @@ -437,6 +478,9 @@ "book.occultism.dictionary_of_spirits.getting_started.first_ritual.bowl_placement.text": "Possible locations for the sacrificial bowls.\n", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.bowl_text.text": "Next, place *at least* 4 [Sacrificial Bowls](item://occultism:sacrificial_bowl) close to the pentacle.\n\\\n\\\nThey must be placed **anywhere** within 8 blocks of the central [](item://occultism:golden_sacrificial_bowl). **The exact location does not matter.**\n", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.bowl_text.title": "Sacrificial Bowls", + "book.occultism.dictionary_of_spirits.getting_started.first_ritual.clone_placement.text": "One suggestion is to use any block that interacts with redstone and an observer.\n", + "book.occultism.dictionary_of_spirits.getting_started.first_ritual.clone_redstone.text": "You can place another [](item://occultism:golden_sacrificial_bowl) in the third block below the\n original [](item://occultism:golden_sacrificial_bowl). Every time this new bowl receives an\n block update, it clones the actual signal strength of the original bowl.\n", + "book.occultism.dictionary_of_spirits.getting_started.first_ritual.clone_redstone.title": "All sides blocked?", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.description": "We're actually getting started now!", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.intro.text": "These pages will walk the gentle reader through the process of the [first ritual](entry://summoning_rituals/summon_crusher_t1) step by step.\n\\\nWe **start** by placing the [](item://occultism:golden_sacrificial_bowl) and drawing the appropriate pentacle, [Aviar's Circle](entry://pentacles/summon_foliot) as seen on the left around it.\n", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.intro.title": "The Ritual (tm)", @@ -444,7 +488,7 @@ "book.occultism.dictionary_of_spirits.getting_started.first_ritual.name": "First Ritual", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.pentacle_link_hint.text": "Ritual recipe pages, such as the previous pageshow not only the ingredients, but also the pentacle that you need to draw with chalk in order to use the ritual.\n\\\n\\\n**To show the pentacle, click the blue link** at the center top of the ritual page. You can then even preview it in-world.\n", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.pentacle_link_hint.title": "A Note about Ritual Recipes", - "book.occultism.dictionary_of_spirits.getting_started.first_ritual.redstone.text": "Depending on the ritual state the golden bowl will emit a different redstone level:\n- **0** if no ritual is active\n- **1** if the ritual is active, but waiting for a sacrifice\n- **2** if the ritual is active, but waiting for an item to be used\n- **4** if the ritual is active and running\n", + "book.occultism.dictionary_of_spirits.getting_started.first_ritual.redstone.text": "Depending on the ritual state the golden bowl will emit a different redstone level:\n- **0** if no ritual is active\n- **1** if the ritual is active, but waiting for a sacrifice\n- **2** if the ritual is active, but waiting for an item to be used\n- **8** if the ritual is active and running\n", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.redstone.title": "Redstone", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.ritual_text.text": "Now it is time to place the ingredients you see on the next page in the (regular, not golden) sacrificial bowls. The ingredients will be consumed from the bowls as the ritual progresses.\n", "book.occultism.dictionary_of_spirits.getting_started.first_ritual.ritual_text.title": "Placing Ingredients", @@ -560,111 +604,225 @@ "book.occultism.dictionary_of_spirits.getting_started.third_eye.name": "The Third Eye", "book.occultism.dictionary_of_spirits.getting_started.third_eye.otherworld_goggles.text": "[These goggles](entry://occultism:dictionary_of_spirits/crafting_rituals/craft_otherworld_goggles) allow to see even more hidden Otherworld blocks,\nhowever they do not allow harvesting those materials.\nLow-tier materials can be harvested by consuming [Demon's Dream](entry://occultism:dictionary_of_spirits/getting_started/demons_dream),\nbut more valuable materials require special tools.\n", "book.occultism.dictionary_of_spirits.name": "Dictionary of Spirits", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.golden_chalk.text": "Yellow chalk is used for binding runes, which allow to infuse a spirit into an item, or make it possess a living being.\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.golden_chalk_uses.text": "- [Eziveus' Spectral Compulsion](entry://occultism:dictionary_of_spirits/pentacles/craft_foliot)\n- [Hedyrin's Lure](entry://occultism:dictionary_of_spirits/pentacles/possess_foliot)\n- [Strigeor's Higher Binding](entry://occultism:dictionary_of_spirits/pentacles/craft_djinni)\n- [Ihagan's Enthrallment](entry://occultism:dictionary_of_spirits/pentacles/possess_djinni)\n- [Sevira's Permanent Confinement](entry://occultism:dictionary_of_spirits/pentacles/craft_afrit)\n- [Uphyxes Inverted Tower](entry://occultism:dictionary_of_spirits/pentacles/craft_marid)\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.golden_chalk_uses.title": "Yellow Chalk Uses", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.intro.text": "Chalk is used to draw pentacle runes and define the pentacle shape. Different types of chalk are used for different purposes, as outlined on the next pages.\n\\\n\\\nThe different runes are purely decorative.\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.intro.title": "Chalk Types", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.intro2.text": "**Repeatedly** use chalk on a block to switch to a different rune.\n\\\n\\\nUsing a [](item://occultism:brush) is the easiest way to **remove** chalk runes that have been incorrectly placed.\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.name": "Chalk Types", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.purple_chalk.text": "Purple chalk is generally used to call on higher beings such as [#](ad03fc)Djinn[#]() or [#](ad03fc)Afrit[#](), but also slows essence decay of summoned spirits.\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.purple_chalk_uses.text": "- [Ophyx' Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_djinni)\n- [Strigeor's Higher Binding](entry://occultism:dictionary_of_spirits/pentacles/craft_djinni)\n- [Ihagan's Enthrallment](entry://occultism:dictionary_of_spirits/pentacles/possess_djinni)\n- [Abras' Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_afrit)\n- [Sevira's Permanent Confinement](entry://occultism:dictionary_of_spirits/pentacles/craft_afrit)\n- [Abras' Open Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_afrit)\n- [Osorin' Unbound Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_greater_spirit)\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.purple_chalk_uses.title": "Purple Chalk Uses", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.red_chalk.text": "Red chalk is used to call on the most powerful and dangerous beings, such as [#](ad03fc)Marid[#]().\n\\\n\\\n[Afrit Essence](entry://occultism:dictionary_of_spirits/summoning_rituals/afrit_essence) is required to craft red chalk.\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.red_chalk_uses.text": "- [Abras' Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_afrit)\n- [Uphyxes Inverted Tower](entry://occultism:dictionary_of_spirits/pentacles/craft_marid)\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.red_chalk_uses.title": "Red Chalk Uses", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk.text": "White chalk is the most basic type of ritual chalk and is found in most pentacles. It has no special power beyond defining the shape of the pentacle.\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses.text": "- [Aviar's Circle](entry://occultism:dictionary_of_spirits/pentacles/summon_foliot)\n- [Eziveus' Spectral Compulsion](entry://occultism:dictionary_of_spirits/pentacles/craft_foliot)\n- [Hedyrin's Lure](entry://occultism:dictionary_of_spirits/pentacles/possess_foliot)\n- [Ophyx' Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_djinni)\n- [Strigeor's Higher Binding](entry://occultism:dictionary_of_spirits/pentacles/craft_djinni)\n- [Ihagan's Enthrallment](entry://occultism:dictionary_of_spirits/pentacles/possess_djinni)\n- [Abras' Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_afrit)\n- [Sevira's Permanent Confinement](entry://occultism:dictionary_of_spirits/pentacles/craft_afrit)\n- [Abras' Open Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_afrit)\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses.title": "White Chalk Uses", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses2.text": "- [Uphyxes Inverted Tower](entry://occultism:dictionary_of_spirits/pentacles/craft_marid)\n- [Osorin' Unbound Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_greater_spirit)\n", - "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses2.title": "White Chalk Uses", - "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.intro.text": "**Purpose:** Bind Afrit\n\\\n\\\nFirst discovered by Grandmistress Sevira of Emberwoods, **Sevira's Permanent Confinement** is used for binding [#](ad03fc)Afrit[#]() into objects. Due to the power of the spirits involved, this should be performed only by advanced summoners.\n", - "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.intro.title": "Sevira's Permanent Confinement", + "book.occultism.dictionary_of_spirits.pentacles.black_chalk.description": "Black Chalk", + "book.occultism.dictionary_of_spirits.pentacles.black_chalk.lore.text": "The black chalk has a composition as rigid as it is supernatural. Mixing the essence of\n Wither with netherite turns this chalk into an extremely valuable tool.\n", + "book.occultism.dictionary_of_spirits.pentacles.black_chalk.lore.title": "Powerful", + "book.occultism.dictionary_of_spirits.pentacles.black_chalk.name": "Perfect Foundation Chalk", + "book.occultism.dictionary_of_spirits.pentacles.black_chalk.spotlight.text": "Perfect for the foundation of any pentacle, the power of the black chalk is sufficient\n to replace any other \"colorless\" chalk.\n", + "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.description": "Blue Chalk", + "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.lore.text": "Just as the red chalk is made from the essence of Afrit, the blue chalk is made\n from the essence of Marid, allowing for control over these powerful spirits.\n", + "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.lore.title": "Marid Lure", + "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.name": "The Chalk of The Seven Seas", + "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.spotlight.text": "The purpose of the blue chalk is to overcome the willpower of a Marid; its sometimes\n excessive use serves as a guarantee that any Marid will be controlled.\n Should the control fail, it would generate extreme fury in the invoked Marid.\n", + "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.description": "Brown Chalk", + "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.lore.text": "The brown chalk is made with the essence of cruelty, and obtaining it certainly lives up\n to its name. Do the ends justify the means? Does morality truly exist? What is your morality?\n", + "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.lore.title": "Very Evil", + "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.name": "The Cruelty Chalk", + "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.spotlight.text": "This chalk is known to be part of an \"Alignment Test.\" Anyone who possesses it is\n automatically classified as \"Evil.\" What kind of spirits will these glyphs attract?\n", + "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.description": "Contact Eldritch", + "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.intro.text": "**Purpose:** Contact [#](AA00AA)Eldritch[#]()\\\n\\\nThis is a very strange pentacle that you dont understand for now.\n", + "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.intro.title": "Ronazas Contact", + "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.name": "Ronaza's Contact", + "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.uses.text": "- [Eldritch Ancient Miner](entry://crafting_rituals/craft_ancient_miner)\n", + "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.description": "Contact Wild Spirits", + "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.intro.text": "**Purpose:** Contact [#](AA00AA)Wild Spirits[#]()\\\n\\\n**Osorins Unbound Calling** has a unique form, mixing different aspects obtained in each chalk\n and none of the common stabilizing paraphernalia. Therefore, the pentacle offers no protection\n to the occultist, but acts as an irresistible contact with the [#](AA00AA)Wild Spirits[#]().\n", + "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.intro.title": "Osorins Unbound Calling", + "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.name": "Osorin's Unbound Calling", + "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.uses.text": "- [Wither Skeleton Skull](entry://possession_rituals/wither_skull)\n- [Horde Husk](entry://possession_rituals/horde_husk)\n- [Horde Drowned](entry://possession_rituals/horde_drowned)\n- [Horde Creeper](entry://possession_rituals/horde_creeper)\n- [Horde Silverfish](entry://possession_rituals/horde_silverfish)\n- [Trial Key](entry://possession_rituals/possess_weak_breeze)\n- [Ominous Trial Key](entry://possession_rituals/possess_breeze)\n- [Heavy Core](entry://possession_rituals/possess_strong_breeze)\n- [Small Illager Invasion](entry://possession_rituals/horde_illager)\n- [Wild Armor Trim Smithing Template](entry://crafting_rituals/craft_wild_trim)\n", + "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.description": "Afrit Infusing", + "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.intro.text": "**Purpose:** Bind [#](AA00AA)Afrit[#]()\\\n\\\nFirst discovered by Grandmistress Sevira of Emberwoods, **Seviras Permanent Confinement** is used for\n binding [#](AA00AA)Afrit[#]() into objects. Due to the power of the spirits involved, this should be performed only by advanced summoners.\n\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.intro.title": "Seviras Permanent Confinement", "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.name": "Sevira's Permanent Confinement", - "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.uses.text": "- [Storage Stabilizer Tier 3](entry://crafting_rituals/craft_stabilizer_tier3)\n- [Afrit Deep Ore Miner](entry://crafting_rituals/craft_afrit_miner)\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.uses.text": "- [Storage Stabilizer Tier 3](entry://crafting_rituals/craft_stabilizer_tier3)\n- [Afrit Deep Ore Miner](entry://crafting_rituals/craft_afrit_miner)\n- [Artisanal Ritual Satchel](entry://crafting_rituals/artisanal_ritual_satchel)\n", "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.intro.text": "**Purpose:** Bind Djinni\n\\\n\\\n**Strigeor's Higher Binding** is a pentacle for binding [#](ad03fc)Djinn[#]() into objects, should not be attempted by the novice summoner. Supported by spirit attuned crystals and stabilized by candles it is highly suitable for permanent infusions of objects with spirits.\n", - "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.intro.title": "Strigeor's Higher Binding", + "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.description": "Djinni Infusing", + "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.intro.text": "**Purpose:** Bind [#](AA00AA)Djinni[#]()\\\n\\\n**Strigeors Higher Binding** is a pentacle for binding [#](AA00AA)Djinni[#]() into objects, should not be attempted by the\n novice summoner. Supported by skeleton skulls and stabilized by candles it is highly suitable for\n permanent infusions of objects with spirits.\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.intro.title": "Strigeors Higher Binding", "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.name": "Strigeor's Higher Binding", - "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.uses.text": "- [Infused Pickaxe](entry://crafting_rituals/craft_infused_pickaxe)\n- [Soul Gem](entry://crafting_rituals/craft_soul_gem)\n- [Familiar Ring](entry://crafting_rituals/craft_familiar_ring)\n- [Dimensional Matrix](entry://crafting_rituals/craft_dimensional_matrix)\n- [Storage Accessor](entry://crafting_rituals/craft_storage_remote)\n- [Storage Stabilizer Tier 2](entry://crafting_rituals/craft_stabilizer_tier2)\n- [Dimensional Mineshaft](entry://crafting_rituals/craft_dimensional_mineshaft)\n- [Djinni Ore Miner](entry://crafting_rituals/craft_djinni_miner)\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.uses.text": "- [Infused Pickaxe](entry://crafting_rituals/craft_infused_pickaxe)\n- [Soul Gem](entry://crafting_rituals/craft_soul_gem)\n- [Familiar Ring](entry://crafting_rituals/craft_familiar_ring)\n- [Dimensional Matrix](entry://crafting_rituals/craft_dimensional_matrix)\n- [Storage Accessor](entry://crafting_rituals/craft_storage_remote)\n- [Storage Stabilizer Tier 2](entry://crafting_rituals/craft_stabilizer_tier2)\n- [Dimensional Mineshaft](entry://crafting_rituals/craft_dimensional_mineshaft)\n- [Djinni Ore Miner](entry://crafting_rituals/craft_djinni_miner)\n- [Apprentice Ritual Satchel](entry://crafting_rituals/apprentice_ritual_satchel)\n", "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.intro.text": "**Purpose:** Bind Foliot\n\\\n\\\nAs a simple binding pentacle, **Eziveus' Spectral Compulsion** is a common starting point for object infusion with lower spirits. The enchantment is made permanent by stabilizing candles and spirit attuned crystals.\n", - "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.intro.title": "Eziveus' Spectral Compulsion", + "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.description": "Foliot Infusing", + "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.intro.text": "**Purpose:** Bind [#](AA00AA)Foliot[#]()\\\n\\\nAs a simple binding pentacle, **Eziveus Spectral Compulsion** is a common starting point for object\n infusion with lower spirits. The enchantment is made permanent by stabilizing candles.\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.intro.title": "Eziveus Spectral Compulsion", "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.name": "Eziveus' Spectral Compulsion", "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.uses.text": "- [Infused Lenses](entry://crafting_rituals/craft_otherworld_goggles)\n- [Surprisingsly Substantial Satchel](entry://crafting_rituals/craft_satchel)\n- [Storage Actuator Base](entry://crafting_rituals/craft_storage_controller_base)\n- [Stable Wormhole](entry://crafting_rituals/craft_stable_wormhole)\n- [Storage Stabilizer Tier 1](entry://crafting_rituals/craft_stabilizer_tier1)\n- [Foliot Miner](entry://crafting_rituals/craft_foliot_miner)\n", "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.craft_marid.intro.text": "**Purpose:** Bind Marid\n\\\n\\\n**Uphyxes Inverted Tower** is one of the few pentacles capable of binding [#](ad03fc)Marid[#]() into objects. Any rituals involving [#](ad03fc)Marid[#]() should be performed only by the most experienced summoners.\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_marid.description": "Marid Infusing", + "book.occultism.dictionary_of_spirits.pentacles.craft_marid.intro.text": "**Purpose:** Bind [#](AA00AA)Marid[#]()\\\n\\\n**Uphyxes Inverted Tower** is one of the few pentacles capable of binding [#](AA00AA)Marid[#]() into objects.\n Any rituals involving [#](AA00AA)Marid[#]() should be performed only by the most experienced summoners.\n", "book.occultism.dictionary_of_spirits.pentacles.craft_marid.intro.title": "Uphyxes Inverted Tower", "book.occultism.dictionary_of_spirits.pentacles.craft_marid.name": "Uphyxes Inverted Tower", - "book.occultism.dictionary_of_spirits.pentacles.craft_marid.uses.text": "- [Storage Stabilizer Tier 4](entry://crafting_rituals/craft_stabilizer_tier4)\n- [Marid Master Miner](entry://crafting_rituals/craft_marid_miner)\n- [Wild Armor Trim Smithing Template](entry://crafting_rituals/craft_wild_trim)\n", + "book.occultism.dictionary_of_spirits.pentacles.craft_marid.uses.text": "- [Storage Stabilizer Tier 4](entry://crafting_rituals/craft_stabilizer_tier4)\n- [Marid Master Miner](entry://crafting_rituals/craft_marid_miner)\n", "book.occultism.dictionary_of_spirits.pentacles.craft_marid.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.description": "Cyan Chalk", + "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.lore.text": "Almost lost to time, the cyan chalk brings ancient knowledge, often even forbidden.\n But who cares? After all, knowledge is knowledge, and the more, the better, right?\n", + "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.lore.title": "In the Past", + "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.name": "The Chalk From Ancients", + "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.recipe_impure.text": "Pulverize the [#](FF55FF)Echo Shard[#]() keeping their properties is a job that only the best crusher can do.\n", + "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.spotlight.text": "Despite the complexity of its manufacture, this chalk is dated as one of the oldest,\n perhaps even the oldest chalk ever recorded. And even after all this time,\n its uses are little known, but you can see just how stable it is.\n", + "book.occultism.dictionary_of_spirits.pentacles.didactics.description": "Basic learning", + "book.occultism.dictionary_of_spirits.pentacles.didactics.intro.text": " This category is a roadmap that guides you step by step, follow the unlocked entries.\\\n \\\n**Tip:** By default, to set up all pentacles, you need four 19x19 areas.\n", + "book.occultism.dictionary_of_spirits.pentacles.didactics.intro.title": "About", + "book.occultism.dictionary_of_spirits.pentacles.didactics.name": "Reading this category", + "book.occultism.dictionary_of_spirits.pentacles.didactics.table.text": "This category is organized as a table.\\\n Each line refers to a type of ritual.\\\n And each column represents a tier.\\\n By following the line you can just upgrade the pentacle you drew before,\n working like the previous and the new one.\n", + "book.occultism.dictionary_of_spirits.pentacles.didactics.table.title": "Types and Tier", + "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.description": "Gray Chalk", + "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.lore.text": "The gray chalk is made with one of the magical pastes, making it an intermediate-level\n foundation chalk. Its magical properties can react in curious ways with the world around it.\n", + "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.lore.title": "Getting Power", + "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.name": "Improved Foundation Chalk", + "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.spotlight.text": "As an enhanced foundation chalk, it further strengthens the core of the pentacle and\n (almost always) can replace white glyphs or light gray glyphs.\n", + "book.occultism.dictionary_of_spirits.pentacles.green_chalk.description": "Green Chalk", + "book.occultism.dictionary_of_spirits.pentacles.green_chalk.lore.text": "The green chalk uses herbal concentrate to bring the energies of flora into the pentacles.\n", + "book.occultism.dictionary_of_spirits.pentacles.green_chalk.lore.title": "Wildness", + "book.occultism.dictionary_of_spirits.pentacles.green_chalk.name": "The Nature Chalk, specifically The Flora Chalk", + "book.occultism.dictionary_of_spirits.pentacles.green_chalk.spotlight.text": "This connection with nature makes the green chalk ideal for attracting wild spirits.\n", + "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.description": "Light Blue Chalk", + "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.lore.text": "The light blue chalk is made with such icy materials that its glyphs\n are inert and impart a natural stability to the pentacles.\n", + "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.lore.title": "Never Melt", + "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.name": "The Glaced Chalk", + "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.recipe_impure.text": "Crushing ice without melting it is a job a Foliot can't do, so you need a better crusher.\n", + "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.spotlight.text": "Although it is basically made of ice, the magic present prevents it from melting.\n", + "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.description": "Light Gray Chalk", + "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.lore.text": "The light gray chalk uses mineral compounds to enhance the foundation of a pentacle.\n The foundation is an important property, often considered the stabilization of the \"core.\"\n", + "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.lore.title": "Most Common Foundation", + "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.name": "Decent Foundation Chalk", + "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.spotlight.text": "Due to its relatively low cost and inherent magical properties, it is the most common\n foundation option among practitioners of occultism, capable of replacing white chalk\n in almost all pentacles.\n", + "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.description": "Lime Chalk", + "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.lore.text": "The lime chalk attracts spirits beyond Folio.\n Anyone wishing to elevate the level of their rituals will need this chalk.\n", + "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.lore.title": "Getting Experience", + "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.name": "First Tier Increase Chalk", + "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.spotlight.text": "Made with valuable gems infused with experiences, lime glyphs become especially\n interesting to demonstrate that yours skills have surpassed the basic level.\n", + "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.description": "Magenta Chalk", + "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.lore.text": "All the power of a dragon in a single chalk: this is the marvel of the purple chalk.\n The relationship between spirits and dragons is unclear, but there may definitely be connections.\n", + "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.lore.title": "Ender Energy", + "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.name": "The Dragon Chalk", + "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.spotlight.text": "Ah, the energy of the end. But what end? Does an end truly exist?\n What concludes at the end? Will the end ever come to an end?\n", "book.occultism.dictionary_of_spirits.pentacles.name": "Pentacles", - "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.candle.text": "Candles increase the stability of the pentacle, thus allowing a slowed essence decay of the summoned spirit, leading to a longer lifetime of the spirit, or possessed object or being.\n", - "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.crystal.text": "Crystals increase the binding power of the pentacle, allowing a permanent binding of the spirit into an item or living being.\n", + "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.description": "Orange Chalk", + "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.lore.text": "The orange chalk is a perfect bait for spirits of the Afrit class, who,\n although impressed by the lime chalk, can resist its call.\n", + "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.lore.title": "Afrit Attractive", + "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.name": "The Little Hot Chalk", + "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.spotlight.text": "Being a sweet and slightly warm chalk, it does not guarantee control over the invoked Afrit.\n Commanding an Afrit requires power directly related to its class of spirits and\n extreme stability in the pentacle.\n", + "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.candle.text": "Candles increase the stability of the pentacle, thus allowing a slowed essence decay of the summoned\n spirit, leading to a longer lifetime of the spirit, or possessed object or being.\n", + "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.crystal.text": "Crystals increase the stability of the pentacle, at levels that candles would not reach, allowing a performing more unstable rituals.\\\n\\\nCheck the recipes in next page.\n", + "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.description": "Stability and Power", "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.intro.text": "In addition to runes various occult paraphernalia are used to improve the intended effect of the pentacle.\n", - "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.intro.title": "Occult Paraphernalia", + "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.intro.title": "Paraphernalia", "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.name": "Occult Paraphernalia", - "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.skeleton_skull.text": "Skulls increase the calling power of the pentacle, allowing to summon more dangerous spirits.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.bowl_text.text": "[Sacrificial Bowls](item://occultism:sacrificial_bowl) must be placed **anywhere** within 8 blocks horizontally of the central [](item://occultism:golden_sacrificial_bowl). The exact location does not matter.\n\\\n\\\nNow it is time to place the ingredients you see on the next page in the (regular, not golden) sacrificial bowls.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.infusion_pentacles.text": "Infusion pentacles allow the binding of spirits into objects. While the spirits suffer from essence decay in some cases, this can often be averted with the right pentacle setup, and by embedding crystals and precious metals into the object to support the spirit.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.infusion_pentacles.title": "Infusion Pentacles", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro1.text": "The name [#](ad03fc)Pentacle[#]() in this context refers to ritual drawings of any shape, not just five-pointed stars. \\\n\\\nPentacles are used to summon and bind spirits from [#](ad03fc)The Other Place[#]().\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro1.title": "On Pentacles", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro2.text": "They act both as a device to call on the entity, an amplifier for the summoner's commanding power\nand as a protecting circle preventing attacks from within against the summoner.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro3.text": "Each pentacle consists of a central golden sacrificial bowl, surrounding runes of various colors and occult paraphernalia that improve the intended effect in various ways.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro4.text": "The combination of chosen runes and supporting items as well as their exact spatial positioning determines the use and effectiveness of the pentacle.\n\\\n\\\nIngredients are placed in [#](ad03fc)Sacrifical Bowls[#]() near the pentacle.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.name": "On Pentacles", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.possession_pentacles.text": "These pentacles force spirits to possess a living being, which, depending on the ritual context, gives the summoner control over various aspects of that being, ranging from it's strength to it what it drops when killed, and in some cases even allows total control.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.possession_pentacles.title": "Possession Pentacles", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.summoning_pentacles.text": "The purpose of this type of pentacle is to summon spirits in their chosen form into the world. Spirits summoned thus suffer from strong essence decay, and only very powerful spirits can remain for extended periods of time.\n", - "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.summoning_pentacles.title": "Summoning Pentacles", - "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.intro.text": "**Purpose:** Afrit Possession\n\\\n\\\n**Abras' Commanding Conjure** is a modified version of [#](ad03fc)Abras' Conjure[#]() that allows possessing entities, and thus summoning familiars.\n", - "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.intro.title": "Abras' Commanding Conjure", + "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.skull.text": "Skulls increase the calling power of the pentacle, allowing to summon more dangerous spirits.\\\n\\\nOccultists can find an easy way to obtain these skulls using basic possession rituals.\n", + "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.wither_skull.text": "Whiter Skulls are stronger than regular Skull, and increase a lot the calling power of the pentacle,\n allowing to summon more powerful class of spirits.\\\n\\\nOccultists can find an easy way to obtain these skulls using wild rituals.\n", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.description": "Lets Draw", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro1.text": "The name [#](AA00AA)Pentacle[#]() in this context refers to ritual drawings of any shape, not just five-pointed stars. \\\n\\\nPentacles are used to summon and bind spirits from [#](AA00AA)The Other Place[#]().\n", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro1.title": "Overview", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro2.text": "Each pentacle consists of a central golden sacrificial bowl, surrounding runes of various colors\n and occult paraphernalia that improve the intended effect in various ways.\\\n\\\nThey act both as a device to call on the entity, an amplifier for the summoner's commanding power\n and as a protecting circle preventing attacks from within against the summoner.\n", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro2.title": "", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro3.text": "The combination of chosen runes and supporting items as well as their exact spatial positioning\n determines the use and effectiveness of the pentacle.\n", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro3.title": "", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro4.text": "Ingredients are placed in [Sacrificial Bowls](item://occultism:sacrificial_bowl)\n near the pentacle. Specifically, must be placed **anywhere** within\n 8 blocks horizontally of the central [](item://occultism:golden_sacrificial_bowl).\n The exact location does not matter.\n", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro4.title": "", + "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.name": "On Pentacles", + "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.description": "Pink Chalk", + "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.lore.text": "Made from the flesh of a pig possessed by an Afrit, this chalk possesses\n both animalistic properties and part of an Afrit's power.\n", + "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.lore.title": "It's Alive", + "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.name": "The Meat Chalk?", + "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.spotlight.text": "Some occultists have reported that the demonic flesh keeps the chalk alive,\n resulting in strange movements. However, this has never been officially\n documented or proven, remaining merely rumors that may or may not be true.\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.description": "Possessing Afrit", + "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.intro.text": "**Purpose:** [#](AA00AA)Afrit[#]() Possession\\\n\\\n**Abras Commanding Conjure** is a modified version in the possession geometry of [#](FF55FF)Abras Conjure[#]() that allows\n possessing entities, and thus summoning familiars.\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.intro.title": "Abras Commanding Conjure", "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.name": "Abras' Commanding Conjure", "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.uses.text": "- [Guardian Familiar](entry://familiar_rituals/familiar_guardian)\n- [Possessed Shulker](entry://possession_rituals/possess_shulker)\n- [Possessed Elder Guardian](entry://possession_rituals/possess_elder_guardian)\n- [Possessed Hoglin](entry://possession_rituals/possess_hoglin)\n", "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.intro.text": "**Purpose:** Djinni Possession\n\\\n\\\n**Ihagan's Enthrallment** forces [#](ad03fc)Djinn[#]() to possess a nearby creature. This pentacle does not lead to permanent imprisonment, the spirit and possessed creature will perish within a short period of time.\n", - "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.intro.title": "Ihagan's Enthrallment", + "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.description": "Possessing Djinni", + "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.intro.text": "**Purpose:** [#](AA00AA)Djinni[#]() Possession\\\n\\\n**Ihagans Enthrallment** forces [#](AA00AA)Djinni[#]() to possess a nearby creature. This pentacle is very versatile\n for imprisonment, the spirit and creature possessed are diverse and have moderate power.\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.intro.title": "Ihagans Enthrallment", "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.name": "Ihagan's Enthrallment", - "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.uses.text": "- [Possessed Enderman](entry://possession_rituals/possess_enderman)\n- [Possessed Ghast](entry://possession_rituals/possess_ghast)\n- [Possessed Weak Shulker](entry://possession_rituals/possess_weak_shulker)\n- [Possessed Warden](entry://possession_rituals/possess_warden)\n- [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird)\n- [Bat Familiar](entry://familiar_rituals/familiar_bat)\n- [Cthulhu Familiar](entry://familiar_rituals/familiar_cthulhu)\n- [Devil Familiar](entry://familiar_rituals/familiar_devil)\n- [Dragon Familiar](entry://familiar_rituals/familiar_dragon)\n- [Headless Ratman Familiar](entry://familiar_rituals/familiar_headless)\n- [Chimera Familiar](entry://familiar_rituals/familiar_chimera)\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.uses.text": "- [Possessed Enderman](entry://possession_rituals/possess_enderman)\n- [Possessed Ghast](entry://possession_rituals/possess_ghast)\n- [Possessed Weak Shulker](entry://possession_rituals/possess_weak_shulker)\n- [Possessed Warden](entry://possession_rituals/possess_warden)\n- [Possessed Bee](entry://possession_rituals/possess_bee)\n- [Unbound Drikwing](entry://possession_rituals/possess_unbound_otherworld_bird)\n- [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird)\n- [Bat Familiar](entry://familiar_rituals/familiar_bat)\n- [Cthulhu Familiar](entry://familiar_rituals/familiar_cthulhu)\n- [Devil Familiar](entry://familiar_rituals/familiar_devil)\n- [Dragon Familiar](entry://familiar_rituals/familiar_dragon)\n", "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.uses2.text": "- [Beholder Familiar](entry://familiar_rituals/familiar_beholder)\n- [Fairy Familiar](entry://familiar_rituals/familiar_fairy)\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.uses2.text": "- [Headless Ratman Familiar](entry://familiar_rituals/familiar_headless)\n- [Beholder Familiar](entry://familiar_rituals/familiar_beholder)\n- [Fairy Familiar](entry://familiar_rituals/familiar_fairy)\n- [Chimera Familiar](entry://familiar_rituals/familiar_chimera)\n- [Mummy Familiar](entry://familiar_rituals/familiar_mummy)\n", "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.uses2.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.intro.text": "**Purpose:** Foliot Possession\n\\\n\\\n**Hedyrin's Lure** attracts [#](ad03fc)Foliot[#]() and forces them to possess a nearby creature. This pentacle does not lead to permanent imprisonment, the spirit and possessed creature will perish within a short period of time.\n", - "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.intro.title": "Hedyrin's Lure", + "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.description": "Possessing Foliot", + "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.intro.text": "**Purpose:** [#](AA00AA)Foliot[#]() Possession\\\n\\\n**Hedyrins Lure** attracts [#](AA00AA)Foliot[#]() and forces them to possess a nearby creature. This pentacle can\n perform basic possessions, bringing back only low-power spirits and possessed creatures.\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.intro.title": "Hedyrins Lure", "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.name": "Hedyrin's Lure", - "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.uses.text": "- [Possessed Endermite](entry://possession_rituals/possess_endermite)\n- [Possessed Skeleton](entry://possession_rituals/possess_skeleton)\n- [Possessed Phantom](entry://possession_rituals/possess_phantom)\n- [Parrot Familiar](entry://familiar_rituals/familiar_parrot)\n- [Greedy Familiar](entry://familiar_rituals/familiar_greedy)\n- [Deer Familiar](entry://familiar_rituals/familiar_deer)\n- [Blacksmith Familiar](entry://familiar_rituals/familiar_blacksmith)\n- [Beaver Familiar](entry://familiar_rituals/familiar_beaver)\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.uses.text": "- [Possessed Endermite](entry://possession_rituals/possess_endermite)\n- [Possessed Skeleton](entry://possession_rituals/possess_skeleton)\n- [Possessed Witch](entry://possession_rituals/possess_witch)\n- [Possessed Phantom](entry://possession_rituals/possess_phantom)\n- [Unbound Parrot](entry://possession_rituals/possess_unbound_parrot)\n- [Random Animal](entry://possession_rituals/possess_random_animal)\n- [Parrot Familiar](entry://familiar_rituals/familiar_parrot)\n- [Greedy Familiar](entry://familiar_rituals/familiar_greedy)\n- [Deer Familiar](entry://familiar_rituals/familiar_deer)\n- [Blacksmith Familiar](entry://familiar_rituals/familiar_blacksmith)\n- [Beaver Familiar](entry://familiar_rituals/familiar_beaver)\n", "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.intro.text": "**Purpose:** Summon an [#](ad03fc)Afrit[#]()\n\\\n\\\n**Abras' Conjure** is one of the few pentacles capable of (mostly) safely summoning an [#](ad03fc)Afrit[#](). While the requirement of a wither skeleton skull makes it comparatively expensive, the additional calling potential is required to reach these high-power spirits.\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.intro.title": "Abras' Conjure", + "book.occultism.dictionary_of_spirits.pentacles.possess_marid.description": "Possessing Marid", + "book.occultism.dictionary_of_spirits.pentacles.possess_marid.intro.text": "**Purpose:** [#](AA00AA)Marid[#]() Possession\\\n\\\n**Xeovrenth Adjure** is a powerful pentacle, allowing to possessing [#](AA00AA)Marid[#]() in extremely dangerous rituals.\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_marid.intro.title": "Xeovrenth Adjure", + "book.occultism.dictionary_of_spirits.pentacles.possess_marid.name": "Xeovrenth Adjure", + "book.occultism.dictionary_of_spirits.pentacles.possess_marid.uses.text": "- [Cruelty Essence](entry://possession_rituals/possess_goat)\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_marid.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.description": "Possessing Unbound Afrit", + "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.intro.text": "**Purpose:** [#](AA00AA)Unbound Afrit[#]() Possession\\\n\\\n**Abras Open Commanding Conjure** is a simplified version of [#](AA00AA)Abras Commanding Conjure[#](), allowing to possess [#](AA00AA)Afrit[#]() without red chalk.\n Due to the very reduced power of the pentacle, it has limitations in its use.\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.intro.title": "Abras Open Commanding Conjure", + "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.name": "Abras' Open Commanding Conjure", + "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.uses.text": "- [Possessed Pig](entry://possession_rituals/possess_zombie_piglin)\n", + "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.description": "Purple Chalk", + "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.lore.text": "The purple chalk is extremely important for those wishing to perform infusions,\n serving as the main glyph in this type of ritual.\n", + "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.lore.title": "Infusing", + "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.name": "The Chalk to Infusion", + "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.recipe_impure.text": "You do not need to visit the [#](FF55FF)The End[#]() to obtain Endstone. You can summon a\n [Possessed Endermite](entry://possession_rituals/possess_endermite) which has a high chance to drop it.\n", + "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.spotlight.text": "Infusions are an extremely different type of ritual, as while summoning and possession\n bring living creatures into the world, infusion creates objects bound to spirits.\n", + "book.occultism.dictionary_of_spirits.pentacles.red_chalk.description": "Red Chalk", + "book.occultism.dictionary_of_spirits.pentacles.red_chalk.essence.text": "To obtain the essence of an [#](AA00AA)Afrit[#]() for [](item://occultism:chalk_red) you need to\n [summon and kill an Unbound Afrit](entry://summoning_rituals/afrit_essence).\n", + "book.occultism.dictionary_of_spirits.pentacles.red_chalk.lore.text": "The red chalk is made from the very essence of Afrit, making its glyphs directly\n connected to these spirits. Additionally, it elevates the pentacles\n capacity to the most demonic levels.\n", + "book.occultism.dictionary_of_spirits.pentacles.red_chalk.lore.title": "Under Control", + "book.occultism.dictionary_of_spirits.pentacles.red_chalk.name": "The Afrit Control Chalk", + "book.occultism.dictionary_of_spirits.pentacles.red_chalk.spotlight.text": "These properties allow for an incredible achievement that has been sought\n for ages before being attained: the summoning of an Afrit bound to the occultist.\n", + "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.description": "Spirit Resurrection", + "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.intro.text": "**Purpose:** Resurrect a [#](AA00AA)Familiar[#]()\\\n\\\n**Susjes Simple Circle** is a simple pentacle that returns the physical form of a spirit that has\n been slaughtered, not needing much to do so.\\\n \\\n**Note:** This is the only pentacle where the [#](FF55FF)White Chalk[#]() cannot be replaced with another better [#](FF55FF)Foundation Chalk[#]().\n", + "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.intro.title": "Susjes Simple Circle", + "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.name": "Susje's Simple Circle", + "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.uses.text": "- [Resurrect Familiar](entry://familiar_rituals/resurrection)\n- [Purify Vex to Allay](entry://familiar_rituals/resurrect_allay)\n", + "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.description": "Afrit Summoning", + "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.intro.text": "**Purpose:** Summon a [#](AA00AA)Afrit[#]()\\\n\\\n**Abras Conjure** is one of the few pentacles capable of (mostly) safely summoning an [#](AA00AA)Afrit[#]().\n While the requirement of several [#](FF55FF)Spirit Attuned Gems[#]() makes it comparatively expensive,\n the additional calling potential is required to reach these high-power spirits.\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.intro.title": "Abras Conjure", "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.name": "Abras' Conjure", - "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.uses.text": "- [Thunderstorm](entry://summoning_rituals/weather_magic@thunder)\n- [Rainy Weather](entry://summoning_rituals/weather_magic@rain)\n- [Afrit Crusher](entry://summoning_rituals/summon_crusher_t3)\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.uses.text": "- [Afrit Crusher](entry://summoning_rituals/summon_crusher_t3)\n- [Thunderstorm](entry://summoning_rituals/weather_magic@thunder)\n- [Rainy Weather](entry://summoning_rituals/weather_magic@rain)\n", "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.intro.text": "**Purpose:** Summon a [#](ad03fc)Djinni[#]()\n\\\n\\\nDeveloped by [#](ad03fc)Ophyx[#]() during the Third Era, the [#](ad03fc)Calling[#]() is the go-to pentacle for [#](ad03fc)Djinni[#]() summonings ever since. Skeleton skulls ([Obtain here](entry://possession_rituals/possess_skeleton)) and [#](ad03fc)Purple Chalk[#]() provide the calling power required to force Djinni into appearance and candles stabilize the ritual.\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.intro.title": "Ophyx' Calling", + "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.description": "Djinni Summoning", + "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.intro.text": "**Purpose:** Summon a [#](AA00AA)Djinni[#]()\\\n\\\nDeveloped by [#](FF55FF)Ophyx[#]() during the Third Era, the [#](FF55FF)Calling[#]() is the go-to pentacle for [#](AA00AA)Djinni[#]() summonings ever since.\n Skeleton skulls ([Obtain here](entry://possession_rituals/possess_skeleton))\n and [#](AA00AA)Lime Chalk[#]() provide the calling power required to force Djinni into appearance and candles stabilize the ritual.\n\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.intro.title": "Ophyx Calling", "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.name": "Ophyx' Calling", - "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.uses.text": "- [Djinni Machine Operator](entry://summoning_rituals/summon_manage_machine)\n- [Djinni Crusher](entry://summoning_rituals/summon_crusher_t2)\n- [Clear Weather](entry://summoning_rituals/weather_magic@clear)\n- [Time Magic](entry://summoning_rituals/time_magic)\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.uses.text": "- [Djinni Crusher](entry://summoning_rituals/summon_crusher_t2)\n- [Djinni Machine Operator](entry://summoning_rituals/summon_manage_machine)\n- [Clear Weather](entry://summoning_rituals/weather_magic@clear)\n- [Time Magic](entry://summoning_rituals/time_magic)\n- [Demonic Partner](entry://familiar_rituals/demonic_partner)\n", "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.intro.text": "**Purpose:** Summon a [#](ad03fc)Foliot[#]()\n\\\n\\\nConsidered by most to be the simplest pentacle, [#](ad03fc)Aviar's Circle[#]() is easy to set up, but provides only a minimum of binding power and protection for the summoner.\n\\\n\\\nOnly the weakest [#](ad03fc)Foliot[#]() can be summoned in rituals using this pentacle.\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.intro.title": "Aviar's Circle", + "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.description": "Foliot Summoning", + "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.intro.text": "**Purpose:** Summon a [#](AA00AA)Foliot[#]()\\\n\\\nConsidered by most to be the simplest pentacle, [#](FF55FF)Aviars Circle[#]() is easy to set up,\n but provides only a minimum of binding power and protection for the summoner.\\\n\\\nOnly the weakest [#](AA00AA)Foliot[#]() can be summoned in rituals using this pentacle.\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.intro.title": "Aviars Circle", "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.name": "Aviar's Circle", - "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.uses.text": "- [Foliot Crusher](entry://summoning_rituals/summon_crusher_t1)\n- [Foliot Lumberjack](entry://summoning_rituals/summon_lumberjack)\n- [Foliot Transporter](entry://summoning_rituals/summon_transport_items)\n- [Foliot Janitor](entry://summoning_rituals/summon_cleaner)\n- [Otherstone Trader](entry://summoning_rituals/summon_otherstone_trader)\n- [Otherworld Sapling Trader](entry://summoning_rituals/summon_otherworld_sapling_trader)\n- [Resurrect Familiar](entry://familiar_rituals/resurrection)\n- [Purify Vex to Allay](entry://familiar_rituals/summon_allay)\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.uses.text": "- [Foliot Crusher](entry://summoning_rituals/summon_crusher_t1)\n- [Foliot Lumberjack](entry://summoning_rituals/summon_lumberjack)\n- [Foliot Transporter](entry://summoning_rituals/summon_transport_items)\n- [Foliot Janitor](entry://summoning_rituals/summon_cleaner)\n- [Otherstone Trader](entry://summoning_rituals/summon_otherstone_trader)\n- [Otherworld Sapling Trader](entry://summoning_rituals/summon_otherworld_sapling_trader)\n", "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.summon_marid.intro.text": "**Purpose:** Summon a [#](ad03fc)Marid[#]()\n\\\n\\\n**Fatma's Incentivized Attraction** is a powerful pentacle, allowing to summon [#](ad03fc)Marid[#]() and bind them to the summoner's will.\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_marid.intro.title": "Fatma's Incentivized Attraction", + "book.occultism.dictionary_of_spirits.pentacles.summon_marid.description": "Marid Summoning", + "book.occultism.dictionary_of_spirits.pentacles.summon_marid.intro.text": "**Purpose:** Summon a [#](AA00AA)Marid[#]()\\\n\\\n**Fatmas Incentivized Attraction** is a powerful pentacle, allowing to summon [#](AA00AA)Marid[#]()\n and bind them to the summoners will.\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_marid.intro.title": "Fatmas Incentivized Attraction", "book.occultism.dictionary_of_spirits.pentacles.summon_marid.name": "Fatma's Incentivized Attraction", "book.occultism.dictionary_of_spirits.pentacles.summon_marid.uses.text": "- [Marid Crusher](entry://summoning_rituals/summon_crusher_t4)\n", "book.occultism.dictionary_of_spirits.pentacles.summon_marid.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.intro.text": "**Purpose:** Summon an unbound [#](ad03fc)Afrit[#]()\n\\\n\\\n**Abras' Open Conjure** is a simplified version of [#](ad03fc)Abras' Conjure[#](), allowing to summon [#](ad03fc)Afrit[#]() without red chalk. Due to the much reduced power of the pentacle, it cannot be used to control [#](ad03fc)Afrit[#](), and it thus can only be used to fight and kill [#](ad03fc)Afrit[#]().\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.intro.title": "Abras' Open Conjure", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.name": "Abras' Open Conjure", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.uses.text": "- [Afrit Essence](entry://summoning_rituals/afrit_essence)\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.uses.title": "Uses", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.intro.text": "**Purpose:** Summon an unbound [#](ad03fc)Greater Spirit[#]()\n\\\n\\\n**Osorin's Unbound Calling** is based on [#](ad03fc)Abras' Open Conjure[#](), but features none of the stabilizing paraphernalia. The pentacle offers no protection whatsoever to the summoner, but acts as an irresistible call to [#](ad03fc)Greater Spirits[#]().\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.intro.title": "Osorin's Unbound Calling", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.name": "Osorin's Unbound Calling", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.uses.text": "- [Wither Skeleton Skull](entry://summoning_rituals/wither_skull)\n- [Horde Husk](entry://possession_rituals/horde_husk)\n- [Horde Drowned](entry://possession_rituals/horde_drowned)\n- [Horde Creeper](entry://possession_rituals/horde_creeper)\n- [Horde Silverfish](entry://possession_rituals/horde_silverfish)\n- [Trial Key](entry://possession_rituals/possess_weak_breeze)\n- [Ominous Trial Key](entry://possession_rituals/possess_breeze)\n- [Heavy Core](entry://possession_rituals/possess_strong_breeze)\n- [Small Illager Invasion](entry://possession_rituals/horde_illager)\n", - "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.description": "Unbound Afrit Summoning", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.intro.text": "**Purpose:** Summon an [#](AA00AA)Unbound Afrit[#]()\\\n\\\n**Abras Open Conjure** is a simplified version of [#](FF55FF)Abras Open Conjure[#](), allowing to summon [#](AA00AA)Afrit[#]() without red chalk.\n Due to the much reduced power of the pentacle, it cannot be used to control [#](AA00AA)Afrit[#](),\n and it thus can only be used to fight and kill [#](AA00AA)Afrit[#]().\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.intro.title": "Abras Open Conjure", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.name": "Abras' Open Conjure", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.uses.text": "- [Afrit Essence](entry://summoning_rituals/afrit_essence)\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.description": "Unbound Marid Summoning", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.intro.text": "**Purpose:** Summon an [#](AA00AA)Unbound Marid[#]()\\\n\\\n**Abras Fortified Conjure** is a improved version of [#](FF55FF)Abras Conjure[#](), allowing to summon [#](AA00AA)Marid[#](),\n however without any control of the occultist. [#](AA00AA)Marid[#]() summoned by this will become\n aggressive due to the instability of the ritual\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.intro.title": "Abras Fortified Conjure", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.name": "Abras' Fortified Conjure", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.uses.text": "- [Marid Essence](entry://summoning_rituals/marid_essence)\n", + "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.uses.title": "Uses", + "book.occultism.dictionary_of_spirits.pentacles.white_chalk.description": "White Chalk", + "book.occultism.dictionary_of_spirits.pentacles.white_chalk.lore.text": "This is the first chalk in the journey of any occultist. Due to its simplicity, it serves as a\n weak foundation. Pentacles drawn only with this chalk attract only the weakest spirits,\n known as Folit.\n", + "book.occultism.dictionary_of_spirits.pentacles.white_chalk.lore.title": "First Foundation", + "book.occultism.dictionary_of_spirits.pentacles.white_chalk.name": "The Most Basic Chalk", + "book.occultism.dictionary_of_spirits.pentacles.white_chalk.spotlight.text": "In almost any pentacle where you see a white glyph, it can be replaced with another\n \"colorless\" chalk (light gray, gray, or black).\n", + "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.description": "Yellow Chalk", + "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.lore.text": "The yellow chalk, also known as golden chalk, brings a sparkle to the eyes of those who\n engage in possessions, serving as the main glyph in this type of ritual.\n", + "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.lore.title": "Possessing", + "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.name": "The Chalk to Possession", + "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.spotlight.text": "Possessions are a variation of summoning, caused by a transformation in geometry and\n the addition of yellow glyphs, allowing spirits to manifest in bodies (material prisons)\n different from their usual ones.\n", "book.occultism.dictionary_of_spirits.possession_rituals.horde_creeper.description.text": "Creeper summoned in this ritual are CHARGED and will drop 1-3 of these discs: [](item://minecraft:music_disc_13), [](item://minecraft:music_disc_cat), [](item://minecraft:music_disc_blocks), [](item://minecraft:music_disc_chirp), [](item://minecraft:music_disc_far), [](item://minecraft:music_disc_mall), [](item://minecraft:music_disc_mellohi), [](item://minecraft:music_disc_stal), [](item://minecraft:music_disc_strad), [](item://minecraft:music_disc_ward), [](item://minecraft:music_disc_11), [](item://minecraft:music_disc_wait).\n", "book.occultism.dictionary_of_spirits.possession_rituals.horde_creeper.entity.text": "**Drops**: Discs that the normal creeper drops when killed by Skeleton (See next page);\n", "book.occultism.dictionary_of_spirits.possession_rituals.horde_creeper.name": "Wild Horde Creeper", @@ -684,11 +842,14 @@ "book.occultism.dictionary_of_spirits.possession_rituals.overview.intro.text": "Possession rituals bind spirits into living beings, giving the summoner a degree of control over the possessed being.\n\\\n\\\nAs such these rituals are used to obtain rare items without having to venture into dangerous places.\n", "book.occultism.dictionary_of_spirits.possession_rituals.overview.intro.title": "Possession Rituals", "book.occultism.dictionary_of_spirits.possession_rituals.overview.name": "Possession Rituals", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_bee.description.text": "In this ritual an [#](ad03fc)djinni[#]() will possess an [#](ad03fc)Bee[#](), Be careful,\n a bee invoked by this way does not lose its stinger, always poison the target,\n attacks faster and can summon other bees when it takes damage.\n This is the only known method to obtain [](item://occultism:cursed_honey), eating will grants\n a short regeneration buff.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_bee.entity.text": " **Drops**: [](item://occultism:cursed_honey);\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_bee.name": "Possessed Bee", "book.occultism.dictionary_of_spirits.possession_rituals.possess_breeze.description.text": "The Possessed Breeze has intrinsic Ominous Essence causing a drop of [](item://minecraft:ominous_trial_key). The [](item://minecraft:breeze_rod) form this enemy can survive after the battle and the extra loot is: [](item://minecraft:bolt_armor_trim_smithing_template), [](item://minecraft:guster_banner_pattern) and [](item://minecraft:music_disc_precipice).\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_breeze.entity.text": " **Drops**: 1x [](item://minecraft:ominous_trial_key) and can drop other things (See next page);\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_breeze.name": "In the chamber", "book.occultism.dictionary_of_spirits.possession_rituals.possess_elder_guardian.description.text": "In this ritual a [#](ad03fc)Elder Guardian[#]() is spawned using the life energy of a [#](ad03fc)Fish[#]() and immediately possessed by the summoned [#](ad03fc)Afrit[#](). The [#](ad03fc)Possessed Elder Guardian[#]() will always drop at least one [](item://minecraft:nautilus_shell), having a chance to drop [](item://minecraft:heart_of_the_sea) and a lot of things that normal Elder Guardian drops.\n", - "book.occultism.dictionary_of_spirits.possession_rituals.possess_elder_guardian.entity.text": "**Drops**: 2-4x [](item://minecraft:nautilus_shell)\nand as 40% to drop a [](item://minecraft:heart_of_the_sea)\nAlso commom Elder Guardian loot;\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_elder_guardian.entity.text": "**Drops**: 2-4x [](item://minecraft:nautilus_shell)\nand as 40% to drop a [](item://minecraft:heart_of_the_sea)\nAlso common Elder Guardian loot;\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_elder_guardian.name": "Possessed Elder Guardian", "book.occultism.dictionary_of_spirits.possession_rituals.possess_enderman.description.text": "In this ritual an [#](ad03fc)Enderman[#]() is spawned using the life energy of a [#](ad03fc)Pig[#]() and immediately possessed by the summoned [#](ad03fc)Djinni[#](). The [#](ad03fc)Possessed Enderman[#]() will always drop at least one [](item://minecraft:ender_pearl) when killed.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_enderman.entity.text": "**Drops**: 1-3x [](item://minecraft:ender_pearl)\n", @@ -699,12 +860,19 @@ "book.occultism.dictionary_of_spirits.possession_rituals.possess_ghast.description.text": "In this ritual a [#](ad03fc)Ghast[#]() is spawned using the life energy of a [#](ad03fc)Cow[#]() and immediately possessed by the summoned [#](ad03fc)Djinni[#](). The [#](ad03fc)Possessed Ghast[#]() will always drop at least one [](item://minecraft:ghast_tear) when killed.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_ghast.entity.text": "**Drops**: 1-3x [](item://minecraft:ghast_tear)\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_ghast.name": "Possessed Ghast", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_goat.description.text": "In this ritual, a [#](ad03fc)Goat of Mercy[#]() is summoned to be sacrificed. This is the only way to obtain the [](item://occultism:cruelty_essence).\n Be sure of your actions, because they will forever mark your history.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_goat.entity.text": " **Drops**: [](item://occultism:cruelty_essence);\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_goat.name": "Goat of Mery", "book.occultism.dictionary_of_spirits.possession_rituals.possess_hoglin.description.text": "In this ritual a [#](ad03fc)Hoglin[#]() is spawned using the life energy of a [#](ad03fc)Pig[#]() and immediately possessed by the summoned [#](ad03fc)Afrit[#](). The [#](ad03fc)Possessed Hoglin[#]() can drop a [](item://minecraft:netherite_upgrade_smithing_template), [](item://minecraft:snout_armor_trim_smithing_template), [](item://minecraft:music_disc_pigstep), [](item://minecraft:piglin_banner_pattern), [](item://minecraft:nether_brick) or return back [](item://minecraft:netherite_scrap). You need to kill this mob before the transformation to a Zoglin if you don't want to perform the ritual in the nether.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_hoglin.entity.text": " **Drops**: Can drop: [](item://minecraft:netherite_upgrade_smithing_template),\n return back [](item://minecraft:netherite_scrap) or other things (See next page);\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_hoglin.name": "Possessed Hoglin", "book.occultism.dictionary_of_spirits.possession_rituals.possess_phantom.description.text": "In this ritual a [#](ad03fc)Phantom[#]() is spawned using the life energy of a [#](ad03fc)Flying Passive Mob[#]() and immediately possessed by the summoned [#](ad03fc)Foliot[#](). The [#](ad03fc)Possessed Phantom[#]() will always drop at least one [](item://minecraft:phantom_membrane) when killed. Using this ritual is easy to trap the phantom and you can has comfy sleep.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_phantom.entity.text": "**Drops**: 1-4x [](item://minecraft:phantom_membrane)\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_phantom.name": "Possessed Phantom", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.description.text": "In this ritual a [#](ad03fc)Foliot[#]() is summoned **as an untamed spirit** to take the shape of a random animal.\n\\\n\\\nThe animal can be interacted with as it's natural counterpart, including taming, breeding and loot.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.entity.text": "**Provides**: A random animal\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.entity.title": "Summon Random Animal", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.name": "Possessed Random Animal", "book.occultism.dictionary_of_spirits.possession_rituals.possess_shulker.description.text": "In this ritual a [#](ad03fc)Shulker[#]() is spawned using the life energy of a [#](ad03fc)Cube Mob[#]() and immediately possessed by the summoned [#](ad03fc)Afrit[#](). The [#](ad03fc)Possessed Shulker[#]() will always drop at least one [](item://minecraft:shulker_shell) when killed. You can use vanilla shulker multiplication to get normal shulkers but their have less chance to drop shells.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_shulker.entity.text": "**Drops**: 1-2x [](item://minecraft:shulker_shell);\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_shulker.name": "Possessed Shulker", @@ -714,6 +882,13 @@ "book.occultism.dictionary_of_spirits.possession_rituals.possess_strong_breeze.description.text": "The Possessed Strong Breeze is 'Flow-Forged', granting a powerful version of the regular Breeze. This is the final target to obtain a [](item://minecraft:heavy_core) and as a bonus, you can get: [](item://minecraft:flow_armor_trim_smithing_template), [](item://minecraft:flow_banner_pattern), [](item://minecraft:flow_pottery_sherd) and [](item://minecraft:music_disc_creator).\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_strong_breeze.entity.text": " **Drops**: 1x [](item://minecraft:heavy_core) and can drop other things (See next page);\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_strong_breeze.name": "Glorious Vault", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_otherworld_bird.description.text": "See [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird) for more information.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_otherworld_bird.entity.text": "**Provides**: A tameable Drikwing\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_otherworld_bird.name": "Unbound Drikwing", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.description.text": "In this ritual a [#](ad03fc)Foliot[#]() is summoned **as an untamed spirit**.\n\\\n\\\nThe slaughter of a [#](ad03fc)Chicken[#]() and the offering of dyes are intended to entice the Foliot to take the shape of a parrot. As [#](ad03fc)Foliot[#]() are not among the smartest spirits, they sometimes misunderstand the instructions ...\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.description2.text": "*This means, if a [#](ad03fc)Chicken[#]() is spawned, that's not a bug, just bad luck!*\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.entity.text": "**Provides**: A tameable Parrot\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.name": "Unbound Parrot", "book.occultism.dictionary_of_spirits.possession_rituals.possess_warden.description.text": "In this ritual a [#](ad03fc)Warden[#]() is spawned using the life energy of a [#](ad03fc)Axolotl[#]() and immediately possessed by the summoned [#](ad03fc)Djinni[#](). The [#](ad03fc)Possessed Warden[#]() will always drop at least six [](item://minecraft:echo_shard) when killed and as a chance to drop [](item://minecraft:disc_fragment_5), [](item://minecraft:music_disc_otherside), [](item://minecraft:silence_armor_trim_smithing_template), [](item://minecraft:ward_armor_trim_smithing_template). If you try to escape, this possessed Warden will go to the floor like a normal warden.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_warden.entity.text": "**Drops**: 6-9x [](item://minecraft:echo_shard)\nand items related to ancient city;\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_warden.name": "Possessed Warden", @@ -723,7 +898,16 @@ "book.occultism.dictionary_of_spirits.possession_rituals.possess_weak_shulker.description.text": "In this ritual a [#](ad03fc)Shulker[#]() is spawned using the life energy of a [#](ad03fc)Cube Mob[#]() and immediately possessed by the summoned [#](ad03fc)Djinni[#](). The [#](ad03fc)Possessed Weak Shulker[#]() will always drop at least one [](item://minecraft:chorus_fruit) when killed and as a chance to drop [](item://minecraft:shulker_shell). You can use vanilla shulker multiplication to get normal shulkers with more chance to drop their shells.\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_weak_shulker.entity.text": "**Drops**: 1-3x [](item://minecraft:chorus_fruit)\nand as 10% to drop a [](item://minecraft:shulker_shell);\n", "book.occultism.dictionary_of_spirits.possession_rituals.possess_weak_shulker.name": "Possessed Weak Shulker", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_witch.description.text": "In this ritual a [#](ad03fc)Witch[#]() is spawned using the rage energy from the [#](ad03fc)Cat[#]() death. The [#](ad03fc)Possessed Witch[#]() can drop a [](item://minecraft:experience_bottle), [](item://minecraft:honey_bottle), [](item://minecraft:ominous_bottle) or a useless uncraftable potion.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_witch.entity.text": " **Drops**: Can drop: [](item://minecraft:experience_bottle) or other bottles (See next page);\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_witch.name": "Possessed Witch", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_zombie_piglin.description.text": "In this ritual an [#](ad03fc)afrit[#]() will possess an [#](ad03fc)Old Zombified Piglin[#](),\n unifying the energies of the [#](ad03fc)nether[#](), the power of the [#](ad03fc)afrit[#](),\n the material [#](ad03fc)pork[#]() and the concept of the color [#](ad03fc)pink[#]().\n This is the only known method to obtain [](item://occultism:demonic_meat), its properties\n prevent cooking but grant fire resistance to whoever consumes it.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_zombie_piglin.entity.text": " **Drops**: [](item://occultism:demonic_meat);\n", + "book.occultism.dictionary_of_spirits.possession_rituals.possess_zombie_piglin.name": "Possessed Zombified Piglin", "book.occultism.dictionary_of_spirits.possession_rituals.return_to_rituals.name": "Return to Rituals Category", + "book.occultism.dictionary_of_spirits.possession_rituals.wither_skull.intro.text": "Besides venturing into nether dungeons, there is one more way to get these skulls. The legendary [#](ad03fc)Wild Hunt[#]() consists of [#](ad03fc)Greater Spirits[#]() taking the form of wither skeletons. While summoning the Wild Hunt is incredibly dangerous, it is the fastest way to get wither skeleton skulls.\n", + "book.occultism.dictionary_of_spirits.possession_rituals.wither_skull.intro.title": "Wither Skeleton Skull", + "book.occultism.dictionary_of_spirits.possession_rituals.wither_skull.name": "Wither Skeleton Skull", "book.occultism.dictionary_of_spirits.rituals.crafting_rituals.name": "Binding Rituals", "book.occultism.dictionary_of_spirits.rituals.familiar_rituals.name": "Familiar Rituals", "book.occultism.dictionary_of_spirits.rituals.item_use.intro.text": "Some rituals require the use of certain items to be performed. Use the item described on the ritual's page within **16 blocks** of the [](item://occultism:golden_sacrificial_bowl) to proceed with the ritual.\n\\\n\\\n**Important:** Before using the item, start the ritual. Grey particles indicate that the ritual is ready for the item use.\n", @@ -792,7 +976,7 @@ "book.occultism.dictionary_of_spirits.spirits.wild_hunt.intro.text": "A group of legendary Greater Spirits, usually appearing in the form of wither skeletons, with their skeleton minions. The Greater Spirits are bound to their minions in such fashion that they are virtually invulnerable until their minions have been sent back to [#](ad03fc)The Other Place[#]().\n", "book.occultism.dictionary_of_spirits.spirits.wild_hunt.intro.title": "The Wild Hunt", "book.occultism.dictionary_of_spirits.spirits.wild_hunt.name": "The Wild Hunt", - "book.occultism.dictionary_of_spirits.spirits.wild_hunt.wither_skull.text": "While it is incredibly dangerous to call on the Wild Hunt, some summoners have been known to do so for quick access to the rare wither skeleton skulls they are known to leave behind. Summoning the wild hunt is described in detail on the page on obtaining [Wither Skeleton Skulls](entry://summoning_rituals/wither_skull).\n", + "book.occultism.dictionary_of_spirits.spirits.wild_hunt.wither_skull.text": "While it is incredibly dangerous to call on the Wild Hunt, some summoners have been known to do so for quick access to the rare wither skeleton skulls they are known to leave behind. Summoning the wild hunt is described in detail on the page on obtaining [Wither Skeleton Skulls](entry://possession_rituals/wither_skull).\n", "book.occultism.dictionary_of_spirits.spirits.wild_hunt.wither_skull.title": "Wither Skeleton Skulls", "book.occultism.dictionary_of_spirits.storage.name": "Magic Storage", "book.occultism.dictionary_of_spirits.storage.overview.intro.text": "Every summoner knows the problem: There are just too many occult paraphernalia lying around. The solution is simple, yet elegant: Magic Storage!\n\\\n\\\nUsing Spirits able to access storage dimensions it is possible to create almost unlimited storage space.\n", @@ -842,6 +1026,9 @@ "book.occultism.dictionary_of_spirits.summoning_rituals.afrit_essence.intro.text": "[](item://occultism:afrit_essence) is required to safely call on the more powerful spirits, commonly used in the form of red chalk. To obtain the essence, an [#](ad03fc)Afrit[#]() needs to be summoned unbound into this plane, and killed. Be warned that this is no simple endeavour, and unbound spirit presents great danger to all nearby.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.afrit_essence.intro.title": "Afrit Essence", "book.occultism.dictionary_of_spirits.summoning_rituals.afrit_essence.name": "Afrit Essence", + "book.occultism.dictionary_of_spirits.summoning_rituals.marid_essence.intro.text": "[](item://occultism:marid_essence) is required to safely control the most powerful spirits, commonly used in the form of blue chalk. To obtain the essence, an [#](ad03fc)Marid[#]() needs to be summoned unbound into this plane, and killed. Be warned that this is no simple endeavour, and unbound spirit presents great danger to all nearby.\n", + "book.occultism.dictionary_of_spirits.summoning_rituals.marid_essence.intro.title": "Marid Essence", + "book.occultism.dictionary_of_spirits.summoning_rituals.marid_essence.name": "Marid Essence", "book.occultism.dictionary_of_spirits.summoning_rituals.name": "Summoning Rituals", "book.occultism.dictionary_of_spirits.summoning_rituals.overview.intro.text": "Summon rituals force spirits to enter this world in their chosen shape, leading to little restrictions on their power, but expose them to essence decay. Summoned spirits range from trade spirits that trade and convert items, to slave-like helpers for manual labour.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.overview.intro.title": "Summoning Rituals", @@ -893,10 +1080,6 @@ "book.occultism.dictionary_of_spirits.summoning_rituals.summon_otherworld_sapling_trader.intro.title": "Otherworld Sapling Trader", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_otherworld_sapling_trader.name": "Summon Otherworld Sapling Trader", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_otherworld_sapling_trader.trade.text": "To trade, drop an your offered item next to the trader, he will pick it up and drop the exchanged item.\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.description.text": "In this ritual a [#](ad03fc)Foliot[#]() is summoned **as an untamed spirit** to take the shape of a random animal.\n\\\n\\\nThe animal can be interacted with as it's natural counterpart, including taming, breeding and loot.\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.entity.text": "**Provides**: A random animal\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.entity.title": "Summon Random Animal", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.name": "Summon Random Animal", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_transport_items.book_of_calling.text": "If you lose the book of calling, you can craft a new one.\n[#](ad03fc)Shift-right-click[#]() the spirit with the crafted book to assign it.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_transport_items.intro.text": "The transporter is useful in that you don't need a train of hoppers transporting stuff, and can use any inventory to take from and deposit.\n\\\n\\\nTo make it take from an inventory simply sneak and interact with it's book of calling on the inventory you want.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_transport_items.intro.title": "Foliot Transporter", @@ -906,13 +1089,6 @@ "book.occultism.dictionary_of_spirits.summoning_rituals.summon_transport_items.name": "Summon Foliot Transporter", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_transport_items.spirit_inventories.text": "The Transporter can also interact with the inventories of other spirits. This is especially useful to automatically supply a [Crusher spirit](entry://summoning_rituals/summon_crusher_t1) with items to crush.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.summon_transport_items.spirit_inventories.title": "Spirit Inventories", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_otherworld_bird.description.text": "See [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird) for more information.\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_otherworld_bird.entity.text": "**Provides**: A tameable Drikwing\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_otherworld_bird.name": "Summon Wild Drikwing", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.description.text": "In this ritual a [#](ad03fc)Foliot[#]() is summoned **as an untamed spirit**.\n\\\n\\\nThe slaughter of a [#](ad03fc)Chicken[#]() and the offering of dyes are intended to entice the Foliot to take the shape of a parrot. As [#](ad03fc)Foliot[#]() are not among the smartest spirits, they sometimes misunderstand the instructions ...\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.description2.text": "*This means, if a [#](ad03fc)Chicken[#]() is spawned, that's not a bug, just bad luck!*\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.entity.text": "**Provides**: A tameable Parrot\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.name": "Summon Wild Parrot", "book.occultism.dictionary_of_spirits.summoning_rituals.time_magic.intro.text": "Time magic is limited in scope, it cannot send the magician back or forth in time, but rather allows to change time time of day. This is especially useful for rituals or other tasks requiring day- or nighttime specifically.\n\\\n\\\nTime spirits will only modify the time once and then vanish.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.time_magic.intro.title": "Time Magic", "book.occultism.dictionary_of_spirits.summoning_rituals.time_magic.name": "Time Magic", @@ -923,9 +1099,6 @@ "book.occultism.dictionary_of_spirits.summoning_rituals.weather_magic.intro.text": "Weather magic is especially useful for farmers and others depending on specific weather. Summons spirits to modify the weather. Different types of weather modification require different spirits.\n\\\n\\\nWeather spirits will only modify the weather once and then vanish.\n", "book.occultism.dictionary_of_spirits.summoning_rituals.weather_magic.intro.title": "Weather Magic", "book.occultism.dictionary_of_spirits.summoning_rituals.weather_magic.name": "Weather Magic", - "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.intro.text": "Besides venturing into nether dungeons, there is one more way to get these skulls. The legendary [#](ad03fc)Wild Hunt[#]() consists of [#](ad03fc)Greater Spirits[#]() taking the form of wither skeletons. While summoning the Wild Hunt is incredibly dangerous, it is the fastest way to get wither skeleton skulls.\n", - "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.intro.title": "Wither Skeleton Skull", - "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.name": "Wither Skeleton Skull", "book.occultism.dictionary_of_spirits.tooltip": "An introduction to the spirit world.", "condition.occultism.ritual.and.description": "All of the following conditions need to be met: %s", "condition.occultism.ritual.and.not_fulfilled": "One or more of the required conditions were not met (all must be met): %s", @@ -998,22 +1171,27 @@ "entity.occultism.guardian_familiar": "Guardian Familiar", "entity.occultism.headless_familiar": "Headless Familiar", "entity.occultism.marid": "Marid", + "entity.occultism.marid_unbound": "Unbound Marid", + "entity.occultism.mercy_goat": "Goat of Mercy", "entity.occultism.mummy_familiar": "Mummy Familiar", "entity.occultism.otherworld_bird": "Drikwing", - "entity.occultism.possessed_breeze": "Possessed Breeze", + "entity.occultism.possessed_bee": "Possessed Bee", + "entity.occultism.possessed_breeze": "Wild Breeze", "entity.occultism.possessed_elder_guardian": "Possessed Elder Guardian", "entity.occultism.possessed_enderman": "Possessed Enderman", "entity.occultism.possessed_endermite": "Possessed Endermite", - "entity.occultism.possessed_evoker": "Possessed Evoker", + "entity.occultism.possessed_evoker": "Wild Evoker", "entity.occultism.possessed_ghast": "Possessed Ghast", "entity.occultism.possessed_hoglin": "Possessed Hoglin", "entity.occultism.possessed_phantom": "Possessed Phantom", "entity.occultism.possessed_shulker": "Possessed Shulker", "entity.occultism.possessed_skeleton": "Possessed Skeleton", - "entity.occultism.possessed_strong_breeze": "Possessed Strong Breeze", + "entity.occultism.possessed_strong_breeze": "Wild Strong Breeze", "entity.occultism.possessed_warden": "Possessed Warden", - "entity.occultism.possessed_weak_breeze": "Possessed Weak Breeze", + "entity.occultism.possessed_weak_breeze": "Wild Weak Breeze", "entity.occultism.possessed_weak_shulker": "Possessed Weak Shulker", + "entity.occultism.possessed_witch": "Possessed Witch", + "entity.occultism.possessed_zombie_piglin": "Possessed Zombified Piglin", "entity.occultism.shub_niggurath_familiar": "Shub Niggurath Familiar", "entity.occultism.shub_niggurath_spawn": "Shub Niggurath Spawn", "entity.occultism.thrown_sword": "Thrown Sword", @@ -1081,6 +1259,7 @@ "hud.occultism.pentacle_found": "Current Pentacle: %s", "item.minecraft.diamond_sword.occultism_spirit_tooltip": "%s is bound to this sword. May your foes tremor before its glory.", "item.occultism.afrit_essence": "Afrit Essence", + "item.occultism.amethyst_dust": "Amethyst Dust", "item.occultism.awakened_feather": "Awakened Feather", "item.occultism.beaver_nugget": "Beaver Nugget", "item.occultism.book_of_binding_afrit": "Book of Binding: Afrit", @@ -1140,7 +1319,6 @@ "item.occultism.chalk_cyan": "Cyan Chalk", "item.occultism.chalk_cyan_impure": "Impure Cyan Chalk", "item.occultism.chalk_gold": "Yellow Chalk", - "item.occultism.chalk_gold_impure": "Impure Yellow Chalk", "item.occultism.chalk_gray": "Gray Chalk", "item.occultism.chalk_gray_impure": "Impure Gray Chalk", "item.occultism.chalk_green": "Green Chalk", @@ -1163,8 +1341,16 @@ "item.occultism.chalk_red_impure": "Impure Red Chalk", "item.occultism.chalk_white": "White Chalk", "item.occultism.chalk_white_impure": "Impure White Chalk", + "item.occultism.chalk_yellow_impure": "Impure Yellow Chalk", "item.occultism.copper_dust": "Copper Dust", + "item.occultism.cruelty_essence": "Cruelty Essence", + "item.occultism.crushed_blackstone": "Crushed Blackstone", + "item.occultism.crushed_blue_ice": "Crushed Blue Ice", + "item.occultism.crushed_calcite": "Crushed Calcite", "item.occultism.crushed_end_stone": "Crushed End Stone", + "item.occultism.crushed_ice": "Crushed Ice", + "item.occultism.crushed_packed_ice": "Crushed Packed Ice", + "item.occultism.cursed_honey": "Cursed Honey", "item.occultism.datura": "Demon's Dream Fruit", "item.occultism.datura.auto_tooltip": "Consumption may allow to see beyond the veil ... it may also cause general un-wellness.", "item.occultism.datura_seeds": "Demon's Dream Seeds", @@ -1176,6 +1362,7 @@ "item.occultism.debug_foliot_trader": "Summon Debug Foliot Trader", "item.occultism.debug_foliot_transport_items": "Summon Debug Foliot Transporter", "item.occultism.debug_wand": "Debug Wand", + "item.occultism.demonic_meat": "Demonic Meat", "item.occultism.demons_dream_essence": "Demon's Dream Essence", "item.occultism.demons_dream_essence.auto_tooltip": "Consumption allows to see beyond the veil ... and a whole lot of other effects.", "item.occultism.dimensional_matrix": "Dimensional Crystal Matrix", @@ -1186,11 +1373,15 @@ "item.occultism.divination_rod.message.no_linked_block": "The divination rod is not attuned to any material.", "item.occultism.divination_rod.tooltip.linked_block": "Attuned to %s.", "item.occultism.divination_rod.tooltip.no_linked_block": "Not attuned to any material.", + "item.occultism.dragonyst_dust": "Dragonyst Dust", + "item.occultism.echo_dust": "Echo Dust", + "item.occultism.emerald_dust": "Emerald Dust", "item.occultism.familiar_ring": "Familiar Ring", "item.occultism.familiar_ring.tooltip": "Occupied by the familiar %s\n%s", "item.occultism.familiar_ring.tooltip.empty": "Does not contain any familiar.", "item.occultism.familiar_ring.tooltip.familiar_type": "[Type: %s]", "item.occultism.gold_dust": "Gold Dust", + "item.occultism.gray_paste": "Gray Paste", "item.occultism.iesnium_dust": "Iesnium Dust", "item.occultism.iesnium_ingot": "Iesnium Ingot", "item.occultism.iesnium_nugget": "Iesnium Nugget", @@ -1205,11 +1396,15 @@ "item.occultism.jei_dummy.require_item_use.tooltip": "This ritual requires to use a specific item to start. Please refer to the Dictionary of Spirits for detailed instructions.", "item.occultism.jei_dummy.require_sacrifice": "Requires Sacrifice!", "item.occultism.jei_dummy.require_sacrifice.tooltip": "This ritual requires a sacrifice to start. Please refer to the Dictionary of Spirits for detailed instructions.", + "item.occultism.lapis_dust": "Lapis Dust", "item.occultism.lens_frame": "Lens Frame", "item.occultism.lenses": "Glass Lenses", "item.occultism.magic_lamp_empty": "Empty Magic Lamp", + "item.occultism.marid_essence": "Marid Essence", "item.occultism.miner_afrit_deeps": "Deep Ore Miner Afrit", "item.occultism.miner_afrit_deeps.tooltip": "%s will mine random ores and deepslate ores in the mining dimension.", + "item.occultism.miner_ancient_eldritch": "Eldritch Ancient Miner", + "item.occultism.miner_ancient_eldritch.tooltip": "Something will mine random raw ores blocks, gems blocks and rare ores in the mining dimension.", "item.occultism.miner_debug_unspecialized": "Debug Miner", "item.occultism.miner_debug_unspecialized.tooltip": "Debug Miner will mine random blocks in the mining dimension.", "item.occultism.miner_djinni_ores": "Ore Miner Djinni", @@ -1218,6 +1413,10 @@ "item.occultism.miner_foliot_unspecialized.tooltip": "%s will mine random blocks in the mining dimension.", "item.occultism.miner_marid_master": "Master Miner Marid", "item.occultism.miner_marid_master.tooltip": "%s will mine random ores, deepslate ores and rare ores in the mining dimension.", + "item.occultism.mining_dim_core": "Mining Dimension Core Piece", + "item.occultism.nature_paste": "Nature Paste", + "item.occultism.netherite_dust": "Netherite Dust", + "item.occultism.netherite_scrap_dust": "Netherite Scrap Dust", "item.occultism.obsidian_dust": "Obsidian Dust", "item.occultism.otherstone_frame": "Otherstone Frame", "item.occultism.otherstone_tablet": "Otherstone Tablet", @@ -1227,28 +1426,48 @@ "item.occultism.otherworld_goggles": "Otherworld Goggles", "item.occultism.otherworld_sapling": "Otherworld Sapling", "item.occultism.otherworld_sapling_natural": "Unstable Otherworld Sapling", - "item.occultism.pentacle": "Pentacle", + "item.occultism.pentacle_craft": "Pentacle Craft", + "item.occultism.pentacle_misc": "Pentacle Misc", + "item.occultism.pentacle_possess": "Pentacle Possess", + "item.occultism.pentacle_summon": "Pentacle Summon", "item.occultism.purified_ink": "Purified Ink", "item.occultism.raw_iesnium": "Raw Iesnium", "item.occultism.raw_silver": "Raw Silver", + "item.occultism.repair_icon": "Repair Icon", + "item.occultism.research_fragment_dust": "Research Fragment Dust", + "item.occultism.resurrect_icon": "Resurrect Icon", + "item.occultism.ritual_dummy.craft_budding_amethyst": "Ritual: Forge Budding Amethyst", + "item.occultism.ritual_dummy.craft_budding_amethyst.tooltip": "Wild Spirits will forge a Budding Amethyst.", "item.occultism.ritual_dummy.craft_dimensional_matrix": "Ritual: Craft Dimensional Matrix", "item.occultism.ritual_dummy.craft_dimensional_matrix.tooltip": "The dimensional matrix is the entry point to a small dimension used for storing items.", "item.occultism.ritual_dummy.craft_dimensional_mineshaft": "Ritual: Craft Dimensional Mineshaft", "item.occultism.ritual_dummy.craft_dimensional_mineshaft.tooltip": "Allows miner spirits to enter the mining dimension and bring back resources.", + "item.occultism.ritual_dummy.craft_dragonyst_dust": "Ritual: Craft Dragonyst Dust", + "item.occultism.ritual_dummy.craft_dragonyst_dust.tooltip": "A marid will infuse ender dragon essence in the amethyst dust.", "item.occultism.ritual_dummy.craft_familiar_ring": "Ritual: Craft Familiar Ring", "item.occultism.ritual_dummy.craft_familiar_ring.tooltip": "The familiar ring allows to store familiars. The ring will apply the familiar effect to the wearer.", + "item.occultism.ritual_dummy.craft_gray_paste": "Ritual: Craft Gray Paste", + "item.occultism.ritual_dummy.craft_gray_paste.tooltip": "A djinni will craft the gray paste mixing ingredients.", "item.occultism.ritual_dummy.craft_infused_lenses": "Ritual: Craft Infused Lenses", "item.occultism.ritual_dummy.craft_infused_lenses.tooltip": "These lenses are used to craft spectacles that give thee ability to see beyond the physical world.", "item.occultism.ritual_dummy.craft_infused_pickaxe": "Ritual: Craft Infused Pickaxe", "item.occultism.ritual_dummy.craft_infused_pickaxe.tooltip": "Infuse a Pickaxe.", "item.occultism.ritual_dummy.craft_miner_afrit_deeps": "Ritual: Summon Afrit Deep Ore Miner", "item.occultism.ritual_dummy.craft_miner_afrit_deeps.tooltip": "Summon Afrit Deep Ore Miner into a magic lamp.", + "item.occultism.ritual_dummy.craft_miner_ancient_eldritch": "Ritual: Summon Eldritch Ancient Miner", + "item.occultism.ritual_dummy.craft_miner_ancient_eldritch.tooltip": "Summon Eldritch Ancient Miner into a magic lamp.", "item.occultism.ritual_dummy.craft_miner_djinni_ores": "Ritual: Summon Djinni Ore Miner", "item.occultism.ritual_dummy.craft_miner_djinni_ores.tooltip": "Summon Djinni Ore Miner into a magic lamp.", "item.occultism.ritual_dummy.craft_miner_foliot_unspecialized": "Ritual: Summon Foliot Miner", "item.occultism.ritual_dummy.craft_miner_foliot_unspecialized.tooltip": "Summon Foliot Miner into a magic lamp.", "item.occultism.ritual_dummy.craft_miner_marid_master": "Ritual: Summon Marid Master Miner", "item.occultism.ritual_dummy.craft_miner_marid_master.tooltip": "Summon Marid Master Miner into a magic lamp.", + "item.occultism.ritual_dummy.craft_nature_paste": "Ritual: Craft Nature Paste", + "item.occultism.ritual_dummy.craft_nature_paste.tooltip": "A foliot will craft the nature paste mixing ingredients.", + "item.occultism.ritual_dummy.craft_reinforced_deepslate": "Ritual: Forge Reinforced Deepslate", + "item.occultism.ritual_dummy.craft_reinforced_deepslate.tooltip": "Ancient Spirits will forge a Reinforced Deepslate.", + "item.occultism.ritual_dummy.craft_research_fragment_dust": "Ritual: Craft Research Fragment Dust", + "item.occultism.ritual_dummy.craft_research_fragment_dust.tooltip": "A foliot will infuse experience in the emerald dust.", "item.occultism.ritual_dummy.craft_ritual_satchel_t1": "Ritual: Craft Apprentice Ritual Satchel", "item.occultism.ritual_dummy.craft_ritual_satchel_t1.tooltip": "Binds a Djinni into a satchel to build pentacles step-by-step for the summoner.", "item.occultism.ritual_dummy.craft_ritual_satchel_t2": "Ritual: Craft Artisanal Ritual Satchel", @@ -1272,9 +1491,17 @@ "item.occultism.ritual_dummy.craft_storage_remote": "Ritual: Craft Storage Accessor", "item.occultism.ritual_dummy.craft_storage_remote.tooltip": "The Storage Accessor can be linked to a Storage Actuator to remotely access items.", "item.occultism.ritual_dummy.craft_wild_trim": "Ritual: Forge Wild Armor Trim Smithing Template", - "item.occultism.ritual_dummy.craft_wild_trim.tooltip": "Marid will forge a Wild Armor Trim Smithing Template.", - "item.occultism.ritual_dummy.custom_ritual": "Custom Ritual Dummy", - "item.occultism.ritual_dummy.custom_ritual.tooltip": "Used for modpacks as a fallback for custom rituals that do not have their own ritual item.", + "item.occultism.ritual_dummy.craft_wild_trim.tooltip": "Wild Spirits will forge a Wild Armor Trim Smithing Template.", + "item.occultism.ritual_dummy.craft_witherite_dust": "Ritual: Craft Witherite Dust", + "item.occultism.ritual_dummy.craft_witherite_dust.tooltip": "A afrit will infuse wither essence in the netherite dust.", + "item.occultism.ritual_dummy.custom_ritual_craft": "Custom Ritual Dummy", + "item.occultism.ritual_dummy.custom_ritual_craft.tooltip": "Used for modpacks as a fallback for custom rituals that do not have their own ritual item.", + "item.occultism.ritual_dummy.custom_ritual_misc": "Custom Ritual Dummy", + "item.occultism.ritual_dummy.custom_ritual_misc.tooltip": "Used for modpacks as a fallback for custom rituals that do not have their own ritual item.", + "item.occultism.ritual_dummy.custom_ritual_possess": "Custom Ritual Dummy", + "item.occultism.ritual_dummy.custom_ritual_possess.tooltip": "Used for modpacks as a fallback for custom rituals that do not have their own ritual item.", + "item.occultism.ritual_dummy.custom_ritual_summon": "Custom Ritual Dummy", + "item.occultism.ritual_dummy.custom_ritual_summon.tooltip": "Used for modpacks as a fallback for custom rituals that do not have their own ritual item.", "item.occultism.ritual_dummy.familiar_bat": "Ritual: Summon Bat Familiar", "item.occultism.ritual_dummy.familiar_bat.tooltip": "Bat familiars provide night vision to their master.", "item.occultism.ritual_dummy.familiar_beaver": "Ritual: Summon Beaver Familiar", @@ -1307,8 +1534,8 @@ "item.occultism.ritual_dummy.familiar_otherworld_bird.tooltip": "Drikwings will provide their owner with limited flight abilities when nearby.", "item.occultism.ritual_dummy.familiar_parrot": "Ritual: Summon Parrot Familiar", "item.occultism.ritual_dummy.familiar_parrot.tooltip": "Parrot familiars behave exactly like tamed parrots.", - "item.occultism.ritual_dummy.possess_breeze": "Ritual: Summon Possessed Breeze", - "item.occultism.ritual_dummy.possess_breeze.tooltip": "The possessed Breeze will drop a Ominous Trial Key and trial chamber related items.", + "item.occultism.ritual_dummy.possess_bee": "Ritual: Summon Possessed Bee", + "item.occultism.ritual_dummy.possess_bee.tooltip": "The possessed Bee will drop cursed honey.", "item.occultism.ritual_dummy.possess_elder_guardian": "Ritual: Summon Possessed Elder Guardian", "item.occultism.ritual_dummy.possess_elder_guardian.tooltip": "The possessed elder guardian will drop at least one nautilus shell when killed, also can drop heart of the sea and the commom drops.", "item.occultism.ritual_dummy.possess_enderman": "Ritual: Summon Possessed Enderman", @@ -1317,22 +1544,40 @@ "item.occultism.ritual_dummy.possess_endermite.tooltip": "The possessed Endermite drops End Stone.", "item.occultism.ritual_dummy.possess_ghast": "Ritual: Summon Possessed Ghast", "item.occultism.ritual_dummy.possess_ghast.tooltip": "The possessed Ghast will always drop at least one ghast tear when killed.", + "item.occultism.ritual_dummy.possess_goat": "Ritual: Summon Goat of Mercy", + "item.occultism.ritual_dummy.possess_goat.tooltip": "The Goat of Mercy will drop the Cruelty Essence.", "item.occultism.ritual_dummy.possess_hoglin": "Ritual: Summon Possessed Hoglin", "item.occultism.ritual_dummy.possess_hoglin.tooltip": "The possessed Hoglin has a chance to drop smithing template of netherite upgrade when killed.", "item.occultism.ritual_dummy.possess_phantom": "Ritual: Summon Possessed Phantom", "item.occultism.ritual_dummy.possess_phantom.tooltip": "The possessed Phantom will always drop at least one phantom membrane when killed and is easy to trap.", + "item.occultism.ritual_dummy.possess_random_animal": "Ritual: Summon Random Animal", + "item.occultism.ritual_dummy.possess_random_animal.tooltip": "Summons a random passive animal.", "item.occultism.ritual_dummy.possess_shulker": "Ritual: Summon Possessed Shulker", "item.occultism.ritual_dummy.possess_shulker.tooltip": "The possessed Shulker will always drop at least one shulker shell when killed.", "item.occultism.ritual_dummy.possess_skeleton": "Ritual: Summon Possessed Skeleton", "item.occultism.ritual_dummy.possess_skeleton.tooltip": " The possessed Skeleton is immune to daylight and always drop at least one Skeleton Skull when killed.", - "item.occultism.ritual_dummy.possess_strong_breeze": "Ritual: Summon Possessed Strong Breeze", - "item.occultism.ritual_dummy.possess_strong_breeze.tooltip": "The possessed Strong Breeze will drop a Heavy Core and trial chamber related items.", + "item.occultism.ritual_dummy.possess_unbound_otherworld_bird": "Ritual: Possess Unbound Drikwing", + "item.occultism.ritual_dummy.possess_unbound_otherworld_bird.tooltip": "Possess a Drikwing Familiar that can be tamed by anyone, not just the summoner.", + "item.occultism.ritual_dummy.possess_unbound_parrot": "Ritual: Possess Unbound Parrot", + "item.occultism.ritual_dummy.possess_unbound_parrot.tooltip": "Possess a Parrot that can be tamed by anyone, not just the summoner.", "item.occultism.ritual_dummy.possess_warden": "Ritual: Summon Possessed Warden", "item.occultism.ritual_dummy.possess_warden.tooltip": "The possessed Warden will always drop at least six echo shard and can drop anothers ancient stuff (smithing templates and discs) when killed.", - "item.occultism.ritual_dummy.possess_weak_breeze": "Ritual: Summon Possessed Weak Breeze", - "item.occultism.ritual_dummy.possess_weak_breeze.tooltip": "The possessed Weak Breeze will drop a Trial Key and trial chamber related items.", "item.occultism.ritual_dummy.possess_weak_shulker": "Ritual: Summon Possessed Weak Shulker", "item.occultism.ritual_dummy.possess_weak_shulker.tooltip": "The possessed Weak Shulker will drop at least one chorus fruit when killed and can drop shulker shell.", + "item.occultism.ritual_dummy.possess_witch": "Ritual: Summon Possessed Witch", + "item.occultism.ritual_dummy.possess_witch.tooltip": "The possessed Witch will drop a special filled bottle.", + "item.occultism.ritual_dummy.possess_zombie_piglin": "Ritual: Summon Possessed Zombie Piglin", + "item.occultism.ritual_dummy.possess_zombie_piglin.tooltip": "The possessed Zombie Piglin will drop demonic meat.", + "item.occultism.ritual_dummy.repair_armors": "Ritual: Repair Armor", + "item.occultism.ritual_dummy.repair_armors.tooltip": "A afrit will repair your armor.", + "item.occultism.ritual_dummy.repair_chalks": "Ritual: Repair Chalk", + "item.occultism.ritual_dummy.repair_chalks.tooltip": "A djinni will repair your chalk.", + "item.occultism.ritual_dummy.repair_miners": "Ritual: Repair Miner", + "item.occultism.ritual_dummy.repair_miners.tooltip": "A afrit will extend your miner contract.", + "item.occultism.ritual_dummy.repair_tools": "Ritual: Repair Tool", + "item.occultism.ritual_dummy.repair_tools.tooltip": "A afrit will repair your tool.", + "item.occultism.ritual_dummy.resurrect_allay": "Ritual: Purify Vex to Allay", + "item.occultism.ritual_dummy.resurrect_allay.tooltip": "Purify a Vex to a Allay on a resurrection process.", "item.occultism.ritual_dummy.resurrect_familiar": "Ritual: Resurrect Familiar", "item.occultism.ritual_dummy.resurrect_familiar.tooltip": "Resurrects a Familiar from a Soul Shard.", "item.occultism.ritual_dummy.summon_afrit_crusher": "Ritual: Summon Afrit Crusher", @@ -1341,8 +1586,6 @@ "item.occultism.ritual_dummy.summon_afrit_rain_weather.tooltip": "Summons an bound Afrit that creates rain.", "item.occultism.ritual_dummy.summon_afrit_thunder_weather": "Ritual: Thunderstorm", "item.occultism.ritual_dummy.summon_afrit_thunder_weather.tooltip": "Summons an bound Afrit that creates a thunderstorm.", - "item.occultism.ritual_dummy.summon_allay": "Ritual: Purify Vex to Allay", - "item.occultism.ritual_dummy.summon_allay.tooltip": "Purify a Vex to a Allay on a resurrection process.", "item.occultism.ritual_dummy.summon_demonic_husband": "Ritual: Summon Demonic Husband", "item.occultism.ritual_dummy.summon_demonic_husband.tooltip": "Summons a Demonic Husband to support you: He will fight for you, help with cooking, and extend potion durations.", "item.occultism.ritual_dummy.summon_demonic_wife": "Ritual: Summon Demonic Wife", @@ -1369,28 +1612,30 @@ "item.occultism.ritual_dummy.summon_foliot_sapling_trader.tooltip": "he otherworld sapling trader trades natural otherworld saplings for stable ones, that can be harvested without the third eye.", "item.occultism.ritual_dummy.summon_foliot_transport_items": "Ritual: Summon Foliot Transporter", "item.occultism.ritual_dummy.summon_foliot_transport_items.tooltip": "The transporter will move all items it can access from one inventory to another, including machines.", - "item.occultism.ritual_dummy.summon_horde_illager": "Ritual: Summon Possessed Evoker", - "item.occultism.ritual_dummy.summon_horde_illager.tooltip": "Summon a possessed Evoker and his henchmen.", "item.occultism.ritual_dummy.summon_marid_crusher": "Ritual: Summon Marid Crusher", "item.occultism.ritual_dummy.summon_marid_crusher.tooltip": "The crusher is a spirit summoned to crush ores into dusts, effectively (more than) doubling the metal output. This crusher decays (much) slower than lower tier crushers.\n§7§oNote: Some recipes may require higher or lower tier crushers.", - "item.occultism.ritual_dummy.summon_random_animal": "Ritual: Summon Random Animal", - "item.occultism.ritual_dummy.summon_random_animal.tooltip": "Summons a random passive animal.", - "item.occultism.ritual_dummy.summon_wild_afrit": "Ritual: Summon Unbound Afrit", - "item.occultism.ritual_dummy.summon_wild_afrit.tooltip": "Summons an unbound Afrit that can be killed to obtain Afrit Essence", - "item.occultism.ritual_dummy.summon_wild_creeper": "Ritual: Summon The Wild Horde Creeper", - "item.occultism.ritual_dummy.summon_wild_creeper.tooltip": "The Wild Horde Creeper consists of a few charged Creepers that drop many disks.", - "item.occultism.ritual_dummy.summon_wild_drowned": "Ritual: Summon The Wild Horde Drowned", - "item.occultism.ritual_dummy.summon_wild_drowned.tooltip": "The Wild Horde Drowned consists of a few Drowneds that drop items related to ocean trails.", - "item.occultism.ritual_dummy.summon_wild_hunt": "Ritual: Summon The Wild Hunt", - "item.occultism.ritual_dummy.summon_wild_hunt.tooltip": "The Wild Hunt consists of Wither Skeletons that as a big chance to drop Wither Skeleton Skulls, and their minions.", - "item.occultism.ritual_dummy.summon_wild_husk": "Ritual: Summon The Wild Horde Husk", - "item.occultism.ritual_dummy.summon_wild_husk.tooltip": "The Wild Horde Husk consists of a few Husks that drop items related to desert trails.", - "item.occultism.ritual_dummy.summon_wild_otherworld_bird": "Ritual: Summon Wild Drikwing", - "item.occultism.ritual_dummy.summon_wild_otherworld_bird.tooltip": "Summons a Drikwing Familiar that can be tamed by anyone, not just the summoner.", - "item.occultism.ritual_dummy.summon_wild_parrot": "Ritual: Summon Wild Parrot", - "item.occultism.ritual_dummy.summon_wild_parrot.tooltip": "Summons a Parrot that can be tamed by anyone, not just the summoner.", - "item.occultism.ritual_dummy.summon_wild_silverfish": "Ritual: Summon The Wild Horde Silverfish", - "item.occultism.ritual_dummy.summon_wild_silverfish.tooltip": "The Wild Horde Silverfish consists of a few Silverfishs that drop items related to ruins trails.", + "item.occultism.ritual_dummy.summon_unbound_afrit": "Ritual: Summon Unbound Afrit", + "item.occultism.ritual_dummy.summon_unbound_afrit.tooltip": "Summons an unbound Afrit that can be killed to obtain Afrit Essence", + "item.occultism.ritual_dummy.summon_unbound_marid": "Ritual: Summon Unbound Marid", + "item.occultism.ritual_dummy.summon_unbound_marid.tooltip": "Summons an unbound Marid that can be killed to obtain Marid Essence", + "item.occultism.ritual_dummy.wild_breeze": "Ritual: Summon Possessed Breeze", + "item.occultism.ritual_dummy.wild_breeze.tooltip": "The possessed Breeze will drop a Ominous Trial Key and trial chamber related items.", + "item.occultism.ritual_dummy.wild_creeper": "Ritual: Summon The Wild Horde Creeper", + "item.occultism.ritual_dummy.wild_creeper.tooltip": "The Wild Horde Creeper consists of a few charged Creepers that drop many disks.", + "item.occultism.ritual_dummy.wild_drowned": "Ritual: Summon The Wild Horde Drowned", + "item.occultism.ritual_dummy.wild_drowned.tooltip": "The Wild Horde Drowned consists of a few Drowneds that drop items related to ocean trails.", + "item.occultism.ritual_dummy.wild_horde_illager": "Ritual: Summon Possessed Evoker", + "item.occultism.ritual_dummy.wild_horde_illager.tooltip": "Summon a possessed Evoker and his henchmen.", + "item.occultism.ritual_dummy.wild_hunt": "Ritual: Summon The Wild Hunt", + "item.occultism.ritual_dummy.wild_hunt.tooltip": "The Wild Hunt consists of Wither Skeletons that as a big chance to drop Wither Skeleton Skulls, and their minions.", + "item.occultism.ritual_dummy.wild_husk": "Ritual: Summon The Wild Horde Husk", + "item.occultism.ritual_dummy.wild_husk.tooltip": "The Wild Horde Husk consists of a few Husks that drop items related to desert trails.", + "item.occultism.ritual_dummy.wild_silverfish": "Ritual: Summon The Wild Horde Silverfish", + "item.occultism.ritual_dummy.wild_silverfish.tooltip": "The Wild Horde Silverfish consists of a few Silverfishs that drop items related to ruins trails.", + "item.occultism.ritual_dummy.wild_strong_breeze": "Ritual: Summon Possessed Strong Breeze", + "item.occultism.ritual_dummy.wild_strong_breeze.tooltip": "The possessed Strong Breeze will drop a Heavy Core and trial chamber related items.", + "item.occultism.ritual_dummy.wild_weak_breeze": "Ritual: Summon Possessed Weak Breeze", + "item.occultism.ritual_dummy.wild_weak_breeze.tooltip": "The possessed Weak Breeze will drop a Trial Key and trial chamber related items.", "item.occultism.ritual_satchel.no_preview_block_targeted": "You need to aim the ritual satchel at a preview block.", "item.occultism.ritual_satchel.no_preview_in_world": " You need to preview a pentacle using the Dictionary of Spirits.", "item.occultism.ritual_satchel.no_valid_item_in_satchel": "There is no valid item in the satchel for this previewed block.", @@ -1414,7 +1659,7 @@ "item.occultism.soul_shard.tooltip_empty": "Dropped by a Familiar after their untimely death. Can be used to resurrect it.", "item.occultism.soul_shard.tooltip_filled": "Contains the soul of a %s.\nCan be used to resurrect it.", "item.occultism.spawn_egg.afrit": "Afrit Spawn Egg", - "item.occultism.spawn_egg.afrit_wild": "Unbound Afrit Spawn Egg", + "item.occultism.spawn_egg.afrit_unbound": "Unbound Afrit Spawn Egg", "item.occultism.spawn_egg.demonic_husband": "Demonic Husband Spawn Egg", "item.occultism.spawn_egg.demonic_wife": "Demonic Wife Spawn Egg", "item.occultism.spawn_egg.djinni": "Djinni Spawn Egg", @@ -1437,27 +1682,32 @@ "item.occultism.spawn_egg.familiar_shub_niggurath": "Shub Niggurath Familiar Spawn Egg", "item.occultism.spawn_egg.foliot": "Foliot Spawn Egg", "item.occultism.spawn_egg.marid": "Marid Spawn Egg", + "item.occultism.spawn_egg.marid_unbound": "Unbound Marid Spawn Egg", "item.occultism.spawn_egg.otherworld_bird": "Drikwing Spawn Egg", - "item.occultism.spawn_egg.possessed_breeze": "Possessed Breeze Spawn Egg", + "item.occultism.spawn_egg.possessed_bee": "Possessed Bee Spawn Egg", "item.occultism.spawn_egg.possessed_elder_guardian": "Possessed Elder Guardian Spawn Egg", "item.occultism.spawn_egg.possessed_enderman": "Possessed Enderman Spawn Egg", "item.occultism.spawn_egg.possessed_endermite": "Possessed Endermite Spawn Egg", - "item.occultism.spawn_egg.possessed_evoker": "Possessed Evoker Spawn Egg", "item.occultism.spawn_egg.possessed_ghast": "Possessed Ghast Spawn Egg", + "item.occultism.spawn_egg.possessed_goat": "Goat of Mercy Spawn Egg", "item.occultism.spawn_egg.possessed_hoglin": "Possessed Hoglin Spawn Egg", "item.occultism.spawn_egg.possessed_phantom": "Possessed Phantom Spawn Egg", "item.occultism.spawn_egg.possessed_shulker": "Possessed Shulker Spawn Egg", "item.occultism.spawn_egg.possessed_skeleton": "Possessed Skeleton Spawn Egg", - "item.occultism.spawn_egg.possessed_strong_breeze": "Possessed Strong Breeze Spawn Egg", "item.occultism.spawn_egg.possessed_warden": "Possessed Warden Spawn Egg", - "item.occultism.spawn_egg.possessed_weak_breeze": "Possessed Weak Breeze Spawn Egg", "item.occultism.spawn_egg.possessed_weak_shulker": "Possessed Weak Shulker Spawn Egg", + "item.occultism.spawn_egg.possessed_witch": "Possessed Witch Spawn Egg", + "item.occultism.spawn_egg.possessed_zombie_piglin": "Possessed Zombified Piglin Spawn Egg", + "item.occultism.spawn_egg.wild_breeze": "Wild Breeze Spawn Egg", + "item.occultism.spawn_egg.wild_evoker": "Wild Evoker Spawn Egg", "item.occultism.spawn_egg.wild_horde_creeper": "Wild Horde Creeper Spawn Egg", "item.occultism.spawn_egg.wild_horde_drowned": "Wild Horde Drowned Spawn Egg", "item.occultism.spawn_egg.wild_horde_husk": "Wild Horde Husk Spawn Egg", "item.occultism.spawn_egg.wild_horde_silverfish": "Wild Horde Silverfish Spawn Egg", "item.occultism.spawn_egg.wild_hunt_skeleton": "Wild Hunt Skeleton Spawn Egg", "item.occultism.spawn_egg.wild_hunt_wither_skeleton": "Wild Hunt Wither Skeleton Spawn Egg", + "item.occultism.spawn_egg.wild_strong_breeze": "Wild Strong Breeze Spawn Egg", + "item.occultism.spawn_egg.wild_weak_breeze": "Wild Weak Breeze Spawn Egg", "item.occultism.spirit_attuned_gem": "Spirit Attuned Gem", "item.occultism.spirit_attuned_pickaxe_head": "Spirit Attuned Pickaxe Head", "item.occultism.storage_remote": "Storage Accessor", @@ -1468,6 +1718,7 @@ "item.occultism.storage_remote_inert": "Inert Storage Accessor", "item.occultism.taboo_book": "Taboo Book", "item.occultism.tallow": "Tallow", + "item.occultism.witherite_dust": "Witherite Dust", "item.occultism.wormhole_frame": "Wormhole Frame", "itemGroup.occultism": "Occultism", "jei.occultism.crushing.max_tier": "Max Crusher Tier: %d", @@ -1562,6 +1813,8 @@ "message.occultism.familiar.shub_niggurath_familiar.disabled": "Ring Effect - Shub Niggurath: Disabled", "message.occultism.familiar.shub_niggurath_familiar.enabled": "Ring Effect - Shub Niggurath: Enabled", "messages.occultism.container_already_open": "This container is already opened by another player, wait until they close it.", + "multiblock.occultism.contact_eldritch_spirit": "Ronaza's Contact", + "multiblock.occultism.contact_wild_spirit": "Osorin's Wild Calling", "multiblock.occultism.craft_afrit": "Sevira's Permanent Confinement", "multiblock.occultism.craft_djinni": "Strigeor's Higher Binding", "multiblock.occultism.craft_foliot": "Eziveus' Spectral Compulsion", @@ -1570,12 +1823,15 @@ "multiblock.occultism.possess_afrit": "Abras' Commanding Conjure", "multiblock.occultism.possess_djinni": "Ihagan's Enthrallment", "multiblock.occultism.possess_foliot": "Hedyrin's Lure", + "multiblock.occultism.possess_marid": "Xeovrenth Adjure", + "multiblock.occultism.possess_unbound_afrit": "Abras' Open Commanding Conjure", + "multiblock.occultism.resurrect_spirit": "Susje's Simple Circle", "multiblock.occultism.summon_afrit": "Abras' Conjure", "multiblock.occultism.summon_djinni": "Ophyx' Calling", "multiblock.occultism.summon_foliot": "Aviar's Circle", "multiblock.occultism.summon_marid": "Fatma's Incentivized Attraction", - "multiblock.occultism.summon_wild_afrit": "Abras' Open Conjure", - "multiblock.occultism.summon_wild_greater_spirit": "Osorin's Unbound Calling", + "multiblock.occultism.summon_unbound_afrit": "Abras' Open Conjure", + "multiblock.occultism.summon_unbound_marid": "Abras' Fortified Conjure", "network.messages.occultism.request_order.order_received": "Order received!", "occultism.configuration.anyOreDivinationRod": "Divination c:ores", "occultism.configuration.blackChalkGlyphColor": "Black Chalk Glyph Color", @@ -1602,7 +1858,6 @@ "occultism.configuration.enableRainWeatherRitual": "Enable the ritual to cause rain weather conditions.", "occultism.configuration.enableRemainingIngredientCountMatching": "Enable matching of remaining ingredients in ritual recipes.", "occultism.configuration.enableThunderWeatherRitual": "Enable the ritual to cause thunderstorm weather conditions.", - "occultism.configuration.goldenChalkGlyphColor": "Yellow Chalk Glyph Color", "occultism.configuration.grayChalkGlyphColor": "Gray Chalk Glyph Color", "occultism.configuration.greenChalkGlyphColor": "Green Chalk Glyph Color", "occultism.configuration.items": "Items", @@ -1611,7 +1866,9 @@ "occultism.configuration.limeChalkGlyphColor": "Lime Chalk Glyph Color", "occultism.configuration.magentaChalkGlyphColor": "Magenta Chalk Glyph Color", "occultism.configuration.maxMiningTime": "Max Mining Time", + "occultism.configuration.minerOutputBeforeBreak": "Save miners before breaking", "occultism.configuration.miner_afrit_deeps": "Afrit Deep Ore Miner", + "occultism.configuration.miner_ancient_eldritch": "Eldritch Ancient Miner", "occultism.configuration.miner_djinni_ores": "Djinni Ore Miner", "occultism.configuration.miner_foliot_unspecialized": "Foliot Miner Unspectialized", "occultism.configuration.miner_marid_master": "Marid Master Miner", @@ -1648,6 +1905,7 @@ "occultism.configuration.useAlternativeDivinationRodRenderer": "Use Alternative Divination Rod Renderer", "occultism.configuration.visual": "Visual Settings", "occultism.configuration.whiteChalkGlyphColor": "White Chalk Glyph Color", + "occultism.configuration.yellowChalkGlyphColor": "Yellow Chalk Glyph Color", "occultism.jei.crushing": "Crusher Spirit", "occultism.jei.miner": "Dimensional Mineshaft", "occultism.jei.miner.chance": "Weight: %d", @@ -1666,6 +1924,10 @@ "occultism.subtitle.start_ritual": "Start Ritual", "occultism.subtitle.tuning_fork": "Tuning Fork", "ritual.occultism.book_not_bound": "§lUnbound Book of Calling§r. You must craft this book with Dictionary of Spirits to bind to a spirit before starting a ritual.", + "ritual.occultism.craft_budding_amethyst.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_budding_amethyst.finished": "Successfully forged budding amethyst.", + "ritual.occultism.craft_budding_amethyst.interrupted": "Forging budding amethyst interrupted.", + "ritual.occultism.craft_budding_amethyst.started": "Started forging budding amethyst.", "ritual.occultism.craft_dimensional_matrix.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.craft_dimensional_matrix.finished": "Successfully bound djinni into dimensional matrix.", "ritual.occultism.craft_dimensional_matrix.interrupted": "Binding of djinni interrupted.", @@ -1678,6 +1940,10 @@ "ritual.occultism.craft_familiar_ring.finished": "Successfully bound djinni into familiar ring.", "ritual.occultism.craft_familiar_ring.interrupted": "Binding of djinni interrupted.", "ritual.occultism.craft_familiar_ring.started": "Started binding djinni into familiar ring.", + "ritual.occultism.craft_gray_paste.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_gray_paste.finished": "Successfully infused Gray Paste.", + "ritual.occultism.craft_gray_paste.interrupted": "Craft of Gray Paste interrupted.", + "ritual.occultism.craft_gray_paste.started": "Started infusing Gray Paste.", "ritual.occultism.craft_infused_lenses.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.craft_infused_lenses.finished": "Successfully bound foliot into lenses.", "ritual.occultism.craft_infused_lenses.interrupted": "Binding of foliot interrupted.", @@ -1690,6 +1956,10 @@ "ritual.occultism.craft_miner_afrit_deeps.finished": "Successfully summoned afrit into magic lamp.", "ritual.occultism.craft_miner_afrit_deeps.interrupted": "Summoning of afrit interrupted.", "ritual.occultism.craft_miner_afrit_deeps.started": "Started summoning afrit into magic lamp.", + "ritual.occultism.craft_miner_ancient_eldritch.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_miner_ancient_eldritch.finished": "Successfully summoned something into magic lamp.", + "ritual.occultism.craft_miner_ancient_eldritch.interrupted": "Summoning of something interrupted.", + "ritual.occultism.craft_miner_ancient_eldritch.started": "Started summoning something into magic lamp.", "ritual.occultism.craft_miner_djinni_ores.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.craft_miner_djinni_ores.finished": "Successfully summoned djinni into magic lamp.", "ritual.occultism.craft_miner_djinni_ores.interrupted": "Summoning of djinni interrupted.", @@ -1702,6 +1972,18 @@ "ritual.occultism.craft_miner_marid_master.finished": "Successfully summoned marid into magic lamp.", "ritual.occultism.craft_miner_marid_master.interrupted": "Summoning of marid interrupted.", "ritual.occultism.craft_miner_marid_master.started": "Started summoning marid into magic lamp.", + "ritual.occultism.craft_nature_paste.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_nature_paste.finished": "Successfully infused Nature Paste.", + "ritual.occultism.craft_nature_paste.interrupted": "Craft of Nature Paste interrupted.", + "ritual.occultism.craft_nature_paste.started": "Started infusing Nature Paste.", + "ritual.occultism.craft_reinforced_deepslate.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_reinforced_deepslate.finished": "Successfully forged reinforced deepslate.", + "ritual.occultism.craft_reinforced_deepslate.interrupted": "Forging reinforced deepslate interrupted.", + "ritual.occultism.craft_reinforced_deepslate.started": "Started forging reinforced deepslate.", + "ritual.occultism.craft_research_fragment_dust.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_research_fragment_dust.finished": "Successfully infused Research Fragment Dust.", + "ritual.occultism.craft_research_fragment_dust.interrupted": "Craft of Research Fragment Dust interrupted.", + "ritual.occultism.craft_research_fragment_dust.started": "Started infusing Research Fragment Dust.", "ritual.occultism.craft_ritual_satchel_t1.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.craft_ritual_satchel_t1.finished": "Successfully bound a djinni into a satchel.", "ritual.occultism.craft_ritual_satchel_t1.interrupted": "Binding of djinni interrupted.", @@ -1749,7 +2031,11 @@ "ritual.occultism.craft_wild_trim.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.craft_wild_trim.finished": "Successfully forged the Wild Armor Trim Smithing Template.", "ritual.occultism.craft_wild_trim.interrupted": "Binding of djinni interrupted.", - "ritual.occultism.craft_wild_trim.started": "Marid has started to forge the Wild Armor Trim Smithing Template.", + "ritual.occultism.craft_wild_trim.started": "Wild Spirits has started to forge the Wild Armor Trim Smithing Template.", + "ritual.occultism.craft_witherite_dust.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.craft_witherite_dust.finished": "Successfully infused Witherite.", + "ritual.occultism.craft_witherite_dust.interrupted": "Craft of Witherite interrupted.", + "ritual.occultism.craft_witherite_dust.started": "Started infusing Witherite.", "ritual.occultism.debug.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.debug.finished": "Ritual completed successfully.", "ritual.occultism.debug.interrupted": "Ritual interrupted.", @@ -1823,10 +2109,10 @@ "ritual.occultism.pentacle_help": "§lInvalid pentacle!§r\nWere you trying to create pentacle: %s? Missing:\n%s", "ritual.occultism.pentacle_help.no_pentacle": "§lNo pentacle found!§r\nIt seems you did not draw a pentacle, or your pentacle is missing large parts. See the \"Rituals\" section of the Dictionary of Spirits, the required Pentacle will be a clickable blue link above the ritual recipe on the ritual's page.", "ritual.occultism.pentacle_help_at_glue": " at position ", - "ritual.occultism.possess_breeze.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.possess_breeze.finished": "Summoned possessed breeze successfully.", - "ritual.occultism.possess_breeze.interrupted": "Summoning of possessed breeze interrupted.", - "ritual.occultism.possess_breeze.started": "Started summoning possessed breeze.", + "ritual.occultism.possess_bee.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_bee.finished": "Summoned possessed bee successfully.", + "ritual.occultism.possess_bee.interrupted": "Summoning of possessed bee interrupted.", + "ritual.occultism.possess_bee.started": "Started summoning possessed bee.", "ritual.occultism.possess_elder_guardian.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.possess_elder_guardian.finished": "Summoned possessed elder_guardian successfully.", "ritual.occultism.possess_elder_guardian.interrupted": "Summoning of possessed elder_guardian interrupted.", @@ -1843,6 +2129,10 @@ "ritual.occultism.possess_ghast.finished": "Summoned possessed ghast successfully.", "ritual.occultism.possess_ghast.interrupted": "Summoning of possessed ghast interrupted.", "ritual.occultism.possess_ghast.started": "Started summoning possessed ghast.", + "ritual.occultism.possess_goat.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_goat.finished": "Summoned goat of mercy successfully.", + "ritual.occultism.possess_goat.interrupted": "Summoning of goat of mercy interrupted.", + "ritual.occultism.possess_goat.started": "Started summoning goat of mercy.", "ritual.occultism.possess_hoglin.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.possess_hoglin.finished": "Summoned possessed hoglin successfully.", "ritual.occultism.possess_hoglin.interrupted": "Summoning of possessed hoglin interrupted.", @@ -1851,6 +2141,10 @@ "ritual.occultism.possess_phantom.finished": "Summoned possessed phantom successfully.", "ritual.occultism.possess_phantom.interrupted": "Summoning of possessed phantom interrupted.", "ritual.occultism.possess_phantom.started": "Started summoning possessed phantom.", + "ritual.occultism.possess_random_animal.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_random_animal.finished": "Summoned successfully.", + "ritual.occultism.possess_random_animal.interrupted": "Summoning of random animal interrupted.", + "ritual.occultism.possess_random_animal.started": "Started summoning a random animal.", "ritual.occultism.possess_shulker.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.possess_shulker.finished": "Summoned possessed shulker successfully.", "ritual.occultism.possess_shulker.interrupted": "Summoning of possessed shulker interrupted.", @@ -1859,30 +2153,60 @@ "ritual.occultism.possess_skeleton.finished": "Summoned possessed skeleton successfully.", "ritual.occultism.possess_skeleton.interrupted": "Summoning of possessed skeleton interrupted.", "ritual.occultism.possess_skeleton.started": "Started summoning possessed skeleton.", - "ritual.occultism.possess_strong_breeze.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.possess_strong_breeze.finished": "Summoned possessed strong breeze successfully.", - "ritual.occultism.possess_strong_breeze.interrupted": "Summoning of possessed strong breeze interrupted.", - "ritual.occultism.possess_strong_breeze.started": "Started summoning possessed strong breeze.", + "ritual.occultism.possess_unbound_otherworld_bird.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_unbound_otherworld_bird.finished": "Summoned unbound drikwing successfully.", + "ritual.occultism.possess_unbound_otherworld_bird.interrupted": "Summoning of unbound drikwing interrupted.", + "ritual.occultism.possess_unbound_otherworld_bird.started": "Started summoning unbound drikwing.", + "ritual.occultism.possess_unbound_parrot.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_unbound_parrot.finished": "Summoned unbound parrot successfully.", + "ritual.occultism.possess_unbound_parrot.interrupted": "Summoning of unbound parrot interrupted.", + "ritual.occultism.possess_unbound_parrot.started": "Started summoning unbound parrot.", "ritual.occultism.possess_warden.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.possess_warden.finished": "Summoned possessed warden successfully.", "ritual.occultism.possess_warden.interrupted": "Summoning of possessed warden interrupted.", "ritual.occultism.possess_warden.started": "Started summoning possessed warden.", - "ritual.occultism.possess_weak_breeze.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.possess_weak_breeze.finished": "Summoned possessed weak breeze successfully.", - "ritual.occultism.possess_weak_breeze.interrupted": "Summoning of possessed weak breeze interrupted.", - "ritual.occultism.possess_weak_breeze.started": "Started summoning possessed weak breeze.", "ritual.occultism.possess_weak_shulker.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.possess_weak_shulker.finished": "Summoned possessed weak shulker successfully.", "ritual.occultism.possess_weak_shulker.interrupted": "Summoning of possessed weak shulker interrupted.", "ritual.occultism.possess_weak_shulker.started": "Started summoning possessed weak shulker.", + "ritual.occultism.possess_witch.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_witch.finished": "Summoned possessed witch successfully.", + "ritual.occultism.possess_witch.interrupted": "Summoning of possessed witch interrupted.", + "ritual.occultism.possess_witch.started": "Started summoning possessed witch.", + "ritual.occultism.possess_zombie_piglin.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.possess_zombie_piglin.finished": "Summoned possessed zombie piglin successfully.", + "ritual.occultism.possess_zombie_piglin.interrupted": "Summoning of possessed zombie piglin interrupted.", + "ritual.occultism.possess_zombie_piglin.started": "Started summoning possessed zombie piglin.", + "ritual.occultism.repair_armors.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.repair_armors.finished": "Successfully repaired armor.", + "ritual.occultism.repair_armors.interrupted": "Armor repair interrupted.", + "ritual.occultism.repair_armors.started": "Started repairing armor.", + "ritual.occultism.repair_chalks.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.repair_chalks.finished": "Successfully repaired chalk.", + "ritual.occultism.repair_chalks.interrupted": "Chalk repair interrupted.", + "ritual.occultism.repair_chalks.started": "Started repairing chalk.", + "ritual.occultism.repair_miners.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.repair_miners.finished": "Successfully repaired miner.", + "ritual.occultism.repair_miners.interrupted": "Miner repair interrupted.", + "ritual.occultism.repair_miners.started": "Started repairing miner.", + "ritual.occultism.repair_tools.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.repair_tools.finished": "Successfully repaired tool.", + "ritual.occultism.repair_tools.interrupted": "Tool repair interrupted.", + "ritual.occultism.repair_tools.started": "Started repairing tool.", + "ritual.occultism.resurrect_allay.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.resurrect_allay.finished": "Purified Vex to Allay successfully.", + "ritual.occultism.resurrect_allay.interrupted": "Purifying Vex to allay interrupted.", + "ritual.occultism.resurrect_allay.started": "Started purifying Vex to Allay.", "ritual.occultism.resurrect_familiar.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.resurrect_familiar.finished": "Successfully resurrected familiar.", "ritual.occultism.resurrect_familiar.interrupted": "Resurrection interrupted.", "ritual.occultism.resurrect_familiar.started": "Started resurrecting familiar.", "ritual.occultism.ritual_help": "§lInvalid ritual!§r\nWere you trying to perform ritual: \"%s\"? Missing items:\n%s", + "ritual.occultism.sacrifice.allay": "Allay", "ritual.occultism.sacrifice.axolotls": "Axolotl", "ritual.occultism.sacrifice.bats": "Bat", "ritual.occultism.sacrifice.camel": "Camel", + "ritual.occultism.sacrifice.cats": "Cat", "ritual.occultism.sacrifice.chicken": "Chicken", "ritual.occultism.sacrifice.cows": "Cow", "ritual.occultism.sacrifice.cubemob": "Slime or Magma Cube", @@ -1900,7 +2224,9 @@ "ritual.occultism.sacrifice.snow_golem": "Snow Golem", "ritual.occultism.sacrifice.spiders": "Spider", "ritual.occultism.sacrifice.squid": "Squid", + "ritual.occultism.sacrifice.tadpoles": "Tadpole", "ritual.occultism.sacrifice.vex": "Vex", + "ritual.occultism.sacrifice.warden": "Warden", "ritual.occultism.sacrifice.wolfs": "Wolf", "ritual.occultism.sacrifice.zombies": "Zombie", "ritual.occultism.summon_afrit_crusher.conditions": "Not all requirements for this ritual are met.", @@ -1915,10 +2241,6 @@ "ritual.occultism.summon_afrit_thunder_weather.finished": "Summoned afrit successfully.", "ritual.occultism.summon_afrit_thunder_weather.interrupted": "Summoning of afrit interrupted.", "ritual.occultism.summon_afrit_thunder_weather.started": "Started summoning afrit for a thunderstorm.", - "ritual.occultism.summon_allay.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_allay.finished": "Purified Vex to Allay successfully.", - "ritual.occultism.summon_allay.interrupted": "Purifying Vex to allay interrupted.", - "ritual.occultism.summon_allay.started": "Started purifying Vex to Allay.", "ritual.occultism.summon_demonic_husband.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.summon_demonic_husband.finished": "Summoned successfully.", "ritual.occultism.summon_demonic_husband.interrupted": "Summoning interrupted.", @@ -1979,46 +2301,50 @@ "ritual.occultism.summon_marid_crusher.finished": "Summoned marid ore crusher successfully.", "ritual.occultism.summon_marid_crusher.interrupted": "Summoning of marid ore crusher interrupted.", "ritual.occultism.summon_marid_crusher.started": "Started summoning marid ore crusher.", - "ritual.occultism.summon_random_animal.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_random_animal.finished": "Summoned successfully.", - "ritual.occultism.summon_random_animal.interrupted": "Summoning of random animal interrupted.", - "ritual.occultism.summon_random_animal.started": "Started summoning a random animal.", - "ritual.occultism.summon_wild_afrit.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_afrit.finished": "Summoned unbound afrit successfully.", - "ritual.occultism.summon_wild_afrit.interrupted": "Summoning of unbound afrit interrupted.", - "ritual.occultism.summon_wild_afrit.started": "Started summoning unbound afrit.", - "ritual.occultism.summon_wild_creeper.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_creeper.finished": "Summoned the wild horde creeper successfully.", - "ritual.occultism.summon_wild_creeper.interrupted": "Summoning of the wild horde creeper interrupted.", - "ritual.occultism.summon_wild_creeper.started": "Started summoning the wild horde creeper.", - "ritual.occultism.summon_wild_drowned.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_drowned.finished": "Summoned the wild horde drowned successfully.", - "ritual.occultism.summon_wild_drowned.interrupted": "Summoning of the wild horde drowned interrupted.", - "ritual.occultism.summon_wild_drowned.started": "Started summoning the wild horde drowned.", - "ritual.occultism.summon_wild_hunt.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_hunt.finished": "Summoned the wild hunt successfully.", - "ritual.occultism.summon_wild_hunt.interrupted": "Summoning of the wild hunt interrupted.", - "ritual.occultism.summon_wild_hunt.started": "Started summoning the wild hunt.", - "ritual.occultism.summon_wild_husk.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_husk.finished": "Summoned the wild horde husk successfully.", - "ritual.occultism.summon_wild_husk.interrupted": "Summoning of the wild horde husk interrupted.", - "ritual.occultism.summon_wild_husk.started": "Started summoning the wild horde husk.", - "ritual.occultism.summon_wild_otherworld_bird.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_otherworld_bird.finished": "Summoned wild drikwing successfully.", - "ritual.occultism.summon_wild_otherworld_bird.interrupted": "Summoning of wild drikwing interrupted.", - "ritual.occultism.summon_wild_otherworld_bird.started": "Started summoning wild drikwing.", - "ritual.occultism.summon_wild_parrot.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_parrot.finished": "Summoned wild parrot successfully.", - "ritual.occultism.summon_wild_parrot.interrupted": "Summoning of wild parrot interrupted.", - "ritual.occultism.summon_wild_parrot.started": "Started summoning wild parrot.", - "ritual.occultism.summon_wild_silverfish.conditions": "Not all requirements for this ritual are met.", - "ritual.occultism.summon_wild_silverfish.finished": "Summoned the wild horde silverfish successfully.", - "ritual.occultism.summon_wild_silverfish.interrupted": "Summoning of the wild horde silverfish interrupted.", - "ritual.occultism.summon_wild_silverfish.started": "Started summoning the wild horde silverfish.", + "ritual.occultism.summon_unbound_afrit.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.summon_unbound_afrit.finished": "Summoned unbound afrit successfully.", + "ritual.occultism.summon_unbound_afrit.interrupted": "Summoning of unbound afrit interrupted.", + "ritual.occultism.summon_unbound_afrit.started": "Started summoning unbound afrit.", + "ritual.occultism.summon_unbound_marid.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.summon_unbound_marid.finished": "Summoned unbound marid successfully.", + "ritual.occultism.summon_unbound_marid.interrupted": "Summoning of unbound marid interrupted.", + "ritual.occultism.summon_unbound_marid.started": "Started summoning unbound marid.", "ritual.occultism.unknown.conditions": "Not all requirements for this ritual are met.", "ritual.occultism.unknown.finished": "Ritual completed successfully.", "ritual.occultism.unknown.interrupted": "Ritual interrupted.", "ritual.occultism.unknown.started": "Ritual started.", + "ritual.occultism.wild_breeze.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_breeze.finished": "Summoned wild breeze successfully.", + "ritual.occultism.wild_breeze.interrupted": "Summoning of wild breeze interrupted.", + "ritual.occultism.wild_breeze.started": "Started summoning wild breeze.", + "ritual.occultism.wild_creeper.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_creeper.finished": "Summoned the wild horde creeper successfully.", + "ritual.occultism.wild_creeper.interrupted": "Summoning of the wild horde creeper interrupted.", + "ritual.occultism.wild_creeper.started": "Started summoning the wild horde creeper.", + "ritual.occultism.wild_drowned.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_drowned.finished": "Summoned the wild horde drowned successfully.", + "ritual.occultism.wild_drowned.interrupted": "Summoning of the wild horde drowned interrupted.", + "ritual.occultism.wild_drowned.started": "Started summoning the wild horde drowned.", + "ritual.occultism.wild_hunt.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_hunt.finished": "Summoned the wild hunt successfully.", + "ritual.occultism.wild_hunt.interrupted": "Summoning of the wild hunt interrupted.", + "ritual.occultism.wild_hunt.started": "Started summoning the wild hunt.", + "ritual.occultism.wild_husk.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_husk.finished": "Summoned the wild horde husk successfully.", + "ritual.occultism.wild_husk.interrupted": "Summoning of the wild horde husk interrupted.", + "ritual.occultism.wild_husk.started": "Started summoning the wild horde husk.", + "ritual.occultism.wild_silverfish.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_silverfish.finished": "Summoned the wild horde silverfish successfully.", + "ritual.occultism.wild_silverfish.interrupted": "Summoning of the wild horde silverfish interrupted.", + "ritual.occultism.wild_silverfish.started": "Started summoning the wild horde silverfish.", + "ritual.occultism.wild_strong_breeze.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_strong_breeze.finished": "Summoned wild strong breeze successfully.", + "ritual.occultism.wild_strong_breeze.interrupted": "Summoning of wild strong breeze interrupted.", + "ritual.occultism.wild_strong_breeze.started": "Started summoning wild strong breeze.", + "ritual.occultism.wild_weak_breeze.conditions": "Not all requirements for this ritual are met.", + "ritual.occultism.wild_weak_breeze.finished": "Summoned wild weak breeze successfully.", + "ritual.occultism.wild_weak_breeze.interrupted": "Summoning of wild weak breeze interrupted.", + "ritual.occultism.wild_weak_breeze.started": "Started summoning wild weak breeze.", "tag.block.c.ores.iesnium": "Iesnium Ore", "tag.block.c.ores.silver": "Silver Ore", "tag.block.c.storage_blocks.iesnium": "Iesnium Storage Blocks", @@ -2029,19 +2355,36 @@ "tag.block.occultism.cave_wall_blocks": "Cave Wall Blocks", "tag.block.occultism.netherrack": "Netherrack", "tag.block.occultism.saplings.otherworld": "Otherworld Saplings", + "tag.block.occultism.saplings.otherworld_natural": "Otherworld Saplings_NATURAL", "tag.block.occultism.storage_stabilizer": "Storage Stabilizer Blocks", "tag.block.occultism.tree_soil": "Tree Soil Blocks", "tag.block.occultism.worldgen_blacklist": "Worldgen Blacklisted Blocks", "tag.item.c.books": "Books", "tag.item.c.crops.datura": "Demon's Dream", + "tag.item.c.dusts.amethyst": "Amethyst Dust", + "tag.item.c.dusts.blackstone": "Blackstone Dust", "tag.item.c.dusts.blaze": "Blaze Dust", + "tag.item.c.dusts.blue_ice": "Blue Ice Dust", + "tag.item.c.dusts.calcite": "Calcite Dust", "tag.item.c.dusts.copper": "Copper Dust", + "tag.item.c.dusts.dragonyst": "Dragonyst Dust", + "tag.item.c.dusts.echo": "Echo Dust", + "tag.item.c.dusts.emerald": "Emerald Dust", "tag.item.c.dusts.end_stone": "Crushed End Stone", "tag.item.c.dusts.gold": "Gold Dust", + "tag.item.c.dusts.ice": "Ice Dust", "tag.item.c.dusts.iesnium": "Iesnium Dust", "tag.item.c.dusts.iron": "Iron Dust", + "tag.item.c.dusts.lapis": "Lapis Dust", + "tag.item.c.dusts.netherite": "Netherite Dust", + "tag.item.c.dusts.netherite_scrap": "Netherite Scrap Dust", "tag.item.c.dusts.obsidian": "Crushed Obsidian", + "tag.item.c.dusts.otherstone": "Otherstone Dust", + "tag.item.c.dusts.otherworld_wood": "Otherworld Wood Dust", + "tag.item.c.dusts.packed_ice": "Packed Ice Dust", + "tag.item.c.dusts.research": "Research Dust", "tag.item.c.dusts.silver": "Silver Dust", + "tag.item.c.dusts.witherite": "Witherite Dust", "tag.item.c.fruits": "Fruits", "tag.item.c.ingots.iesnium": "Iesnium Ingot", "tag.item.c.ingots.silver": "Silver Ingot", @@ -2064,15 +2407,17 @@ "tag.item.curios.hands": "Hands", "tag.item.curios.heads": "Heads", "tag.item.curios.ring": "Ring", + "tag.item.occultism.armored_items": "Scute or Shell", "tag.item.occultism.books.book_of_calling_djinni": "Book of Calling Djinni", "tag.item.occultism.books.book_of_calling_foliot": "Book of Calling Foliot", "tag.item.occultism.books.books_of_binding": "Books of Binding", - "tag.item.occultism.candles": "Candles", + "tag.item.occultism.candles": "Occultism Candles", "tag.item.occultism.demonic_partner_food": "Demonic Partner Food", "tag.item.occultism.elytra": "Elytras", - "tag.item.occultism.miners": "Miners", + "tag.item.occultism.miners": "Dimensional Miners", "tag.item.occultism.miners.basic_resources": "Basic Resource Miners", "tag.item.occultism.miners.deeps": "Deepslate Miners", + "tag.item.occultism.miners.eldritch": "Eldritch Miners", "tag.item.occultism.miners.master": "Rare Resource Miners", "tag.item.occultism.miners.ores": "General Miners", "tag.item.occultism.othercobblestone": "Other Cobblestone", @@ -2081,6 +2426,7 @@ "tag.item.occultism.otherworld_logs": "Otherworld Logs", "tag.item.occultism.pentacle_materials": "Pentacle Materials", "tag.item.occultism.saplings.otherworld": "Otherworld Saplings", + "tag.item.occultism.saplings.otherworld_natural": "Otherworld Saplings Natural", "tag.item.occultism.tools.chalk": "Chalks", "tag.item.occultism.tools.knife": "Knives" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/chalk_gold_impure.json b/src/generated/resources/assets/occultism/models/item/amethyst_dust.json similarity index 56% rename from src/generated/resources/assets/occultism/models/item/chalk_gold_impure.json rename to src/generated/resources/assets/occultism/models/item/amethyst_dust.json index fc657b25b..e35d99703 100644 --- a/src/generated/resources/assets/occultism/models/item/chalk_gold_impure.json +++ b/src/generated/resources/assets/occultism/models/item/amethyst_dust.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "occultism:item/chalk_gold_impure" + "layer0": "occultism:item/amethyst_dust" } } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/chalk_yellow_impure.json b/src/generated/resources/assets/occultism/models/item/chalk_yellow_impure.json new file mode 100644 index 000000000..ee83e2c5d --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/chalk_yellow_impure.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/chalk_yellow_impure" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/cruelty_essence.json b/src/generated/resources/assets/occultism/models/item/cruelty_essence.json new file mode 100644 index 000000000..0c0904376 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/cruelty_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/cruelty_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/crushed_blackstone.json b/src/generated/resources/assets/occultism/models/item/crushed_blackstone.json new file mode 100644 index 000000000..d3169fd6e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/crushed_blackstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/crushed_blackstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/crushed_blue_ice.json b/src/generated/resources/assets/occultism/models/item/crushed_blue_ice.json new file mode 100644 index 000000000..7b32fa590 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/crushed_blue_ice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/crushed_blue_ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/crushed_calcite.json b/src/generated/resources/assets/occultism/models/item/crushed_calcite.json new file mode 100644 index 000000000..fc9f9c755 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/crushed_calcite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/crushed_calcite" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/pentacle.json b/src/generated/resources/assets/occultism/models/item/crushed_ice.json similarity index 58% rename from src/generated/resources/assets/occultism/models/item/pentacle.json rename to src/generated/resources/assets/occultism/models/item/crushed_ice.json index 1671e8880..8245ec4c3 100644 --- a/src/generated/resources/assets/occultism/models/item/pentacle.json +++ b/src/generated/resources/assets/occultism/models/item/crushed_ice.json @@ -1,6 +1,6 @@ { "parent": "minecraft:item/generated", "textures": { - "layer0": "occultism:item/ritual_dummy" + "layer0": "occultism:item/crushed_ice" } } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/crushed_packed_ice.json b/src/generated/resources/assets/occultism/models/item/crushed_packed_ice.json new file mode 100644 index 000000000..a49e6cf33 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/crushed_packed_ice.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/crushed_packed_ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/cursed_honey.json b/src/generated/resources/assets/occultism/models/item/cursed_honey.json new file mode 100644 index 000000000..4014a9cc9 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/cursed_honey.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/cursed_honey" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/demonic_meat.json b/src/generated/resources/assets/occultism/models/item/demonic_meat.json new file mode 100644 index 000000000..2351cb1d5 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/demonic_meat.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/demonic_meat" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/dragonyst_dust.json b/src/generated/resources/assets/occultism/models/item/dragonyst_dust.json new file mode 100644 index 000000000..c25d390b5 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/dragonyst_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/dragonyst_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/echo_dust.json b/src/generated/resources/assets/occultism/models/item/echo_dust.json new file mode 100644 index 000000000..03a4fa698 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/echo_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/echo_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/emerald_dust.json b/src/generated/resources/assets/occultism/models/item/emerald_dust.json new file mode 100644 index 000000000..74d59aca7 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/emerald_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/emerald_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/gray_paste.json b/src/generated/resources/assets/occultism/models/item/gray_paste.json new file mode 100644 index 000000000..23a7f39a2 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/gray_paste.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/gray_paste" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/lapis_dust.json b/src/generated/resources/assets/occultism/models/item/lapis_dust.json new file mode 100644 index 000000000..363c4bd35 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/lapis_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/lapis_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/marid_essence.json b/src/generated/resources/assets/occultism/models/item/marid_essence.json new file mode 100644 index 000000000..b187e33c9 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/marid_essence.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/marid_essence" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/miner_ancient_eldritch.json b/src/generated/resources/assets/occultism/models/item/miner_ancient_eldritch.json new file mode 100644 index 000000000..c223490a9 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/miner_ancient_eldritch.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/magic_lamp" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/mining_dim_core.json b/src/generated/resources/assets/occultism/models/item/mining_dim_core.json new file mode 100644 index 000000000..80ef5e13e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/mining_dim_core.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/mining_dim_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/nature_paste.json b/src/generated/resources/assets/occultism/models/item/nature_paste.json new file mode 100644 index 000000000..ecb9f13f6 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/nature_paste.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/nature_paste" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/netherite_dust.json b/src/generated/resources/assets/occultism/models/item/netherite_dust.json new file mode 100644 index 000000000..3fc540fc5 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/netherite_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/netherite_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/netherite_scrap_dust.json b/src/generated/resources/assets/occultism/models/item/netherite_scrap_dust.json new file mode 100644 index 000000000..d4e9971bd --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/netherite_scrap_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/netherite_scrap_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/pentacle_craft.json b/src/generated/resources/assets/occultism/models/item/pentacle_craft.json new file mode 100644 index 000000000..8240fdfb0 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/pentacle_craft.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/ritual_dummy_craft" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/pentacle_misc.json b/src/generated/resources/assets/occultism/models/item/pentacle_misc.json new file mode 100644 index 000000000..cea455c5e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/pentacle_misc.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/ritual_dummy_misc" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/pentacle_possess.json b/src/generated/resources/assets/occultism/models/item/pentacle_possess.json new file mode 100644 index 000000000..1063d4b16 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/pentacle_possess.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/ritual_dummy_possess" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/pentacle_summon.json b/src/generated/resources/assets/occultism/models/item/pentacle_summon.json new file mode 100644 index 000000000..c09c33925 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/pentacle_summon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/ritual_dummy_summon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/repair_icon.json b/src/generated/resources/assets/occultism/models/item/repair_icon.json new file mode 100644 index 000000000..7d5c20e19 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/repair_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/repair_icon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/research_fragment_dust.json b/src/generated/resources/assets/occultism/models/item/research_fragment_dust.json new file mode 100644 index 000000000..5f28ebc9b --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/research_fragment_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/research_fragment_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/resurrect_icon.json b/src/generated/resources/assets/occultism/models/item/resurrect_icon.json new file mode 100644 index 000000000..665c11697 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/resurrect_icon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/resurrect_icon" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_budding_amethyst.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_budding_amethyst.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_budding_amethyst.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_matrix.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_matrix.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_matrix.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_matrix.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_mineshaft.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_mineshaft.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_mineshaft.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dimensional_mineshaft.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dragonyst_dust.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dragonyst_dust.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_dragonyst_dust.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_familiar_ring.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_familiar_ring.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_familiar_ring.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_familiar_ring.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_gray_paste.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_gray_paste.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_gray_paste.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_lenses.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_lenses.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_lenses.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_lenses.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_pickaxe.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_pickaxe.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_pickaxe.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_infused_pickaxe.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_afrit_deeps.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_afrit_deeps.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_afrit_deeps.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_afrit_deeps.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_ancient_eldritch.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_ancient_eldritch.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_ancient_eldritch.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_djinni_ores.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_djinni_ores.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_djinni_ores.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_djinni_ores.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_foliot_unspecialized.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_foliot_unspecialized.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_foliot_unspecialized.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_foliot_unspecialized.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_marid_master.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_marid_master.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_marid_master.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_miner_marid_master.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_nature_paste.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_nature_paste.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_nature_paste.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_reinforced_deepslate.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_reinforced_deepslate.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_reinforced_deepslate.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_research_fragment_dust.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_research_fragment_dust.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_research_fragment_dust.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t1.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t1.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t1.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t1.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t2.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t2.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t2.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_ritual_satchel_t2.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_satchel.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_satchel.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_satchel.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_satchel.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_soul_gem.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_soul_gem.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_soul_gem.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_soul_gem.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier1.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier1.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier1.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier1.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier2.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier2.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier2.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier2.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier3.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier3.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier3.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier3.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier4.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier4.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier4.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stabilizer_tier4.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stable_wormhole.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stable_wormhole.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stable_wormhole.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_stable_wormhole.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_controller_base.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_controller_base.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_controller_base.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_controller_base.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_remote.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_remote.json index 1a5442cc2..ccdb9737f 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_remote.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_storage_remote.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_craft" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_wild_trim.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_wild_trim.json index 1a5442cc2..1d2191b74 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_wild_trim.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_wild_trim.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_misc" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_witherite_dust.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_witherite_dust.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/craft_witherite_dust.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_craft.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_craft.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_craft.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_misc.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_misc.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_misc.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_possess.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_possess.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_possess.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_summon.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_summon.json new file mode 100644 index 000000000..662fe08aa --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/custom_ritual_summon.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_summon" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_bat.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_bat.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_bat.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_bat.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beaver.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beaver.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beaver.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beaver.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beholder.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beholder.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beholder.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_beholder.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_blacksmith.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_blacksmith.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_blacksmith.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_blacksmith.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_chimera.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_chimera.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_chimera.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_chimera.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_cthulhu.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_cthulhu.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_cthulhu.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_cthulhu.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_deer.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_deer.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_deer.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_deer.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_devil.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_devil.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_devil.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_devil.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_dragon.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_dragon.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_dragon.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_dragon.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_fairy.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_fairy.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_fairy.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_fairy.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_greedy.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_greedy.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_greedy.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_greedy.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_guardian.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_guardian.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_guardian.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_guardian.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_headless.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_headless.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_headless.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_headless.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_mummy.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_mummy.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_mummy.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_mummy.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_otherworld_bird.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_otherworld_bird.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_otherworld_bird.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_otherworld_bird.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_parrot.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_parrot.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_parrot.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/familiar_parrot.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_bee.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_bee.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_bee.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_breeze.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_breeze.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_breeze.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_elder_guardian.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_elder_guardian.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_elder_guardian.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_elder_guardian.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_enderman.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_enderman.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_enderman.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_enderman.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_endermite.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_endermite.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_endermite.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_endermite.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_ghast.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_ghast.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_ghast.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_ghast.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_goat.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_goat.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_goat.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_hoglin.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_hoglin.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_hoglin.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_hoglin.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_phantom.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_phantom.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_phantom.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_phantom.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_random_animal.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_random_animal.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_random_animal.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_shulker.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_shulker.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_shulker.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_shulker.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_skeleton.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_skeleton.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_skeleton.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_skeleton.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_strong_breeze.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_strong_breeze.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_strong_breeze.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_unbound_otherworld_bird.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_unbound_otherworld_bird.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_unbound_otherworld_bird.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_unbound_parrot.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_unbound_parrot.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_unbound_parrot.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_warden.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_warden.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_warden.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_warden.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_breeze.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_breeze.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_breeze.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_shulker.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_shulker.json index 1a5442cc2..6fbdc0dab 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_shulker.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_weak_shulker.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_possess" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_witch.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_witch.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_witch.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_zombie_piglin.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_zombie_piglin.json new file mode 100644 index 000000000..6fbdc0dab --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/possess_zombie_piglin.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_possess" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_armors.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_armors.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_armors.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_chalks.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_chalks.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_chalks.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_miners.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_miners.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_miners.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_tools.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_tools.json new file mode 100644 index 000000000..ccdb9737f --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/repair_tools.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_craft" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_allay.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_allay.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_allay.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_familiar.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_familiar.json index 1a5442cc2..1d2191b74 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_familiar.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/resurrect_familiar.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_misc" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_crusher.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_crusher.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_crusher.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_crusher.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_rain_weather.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_rain_weather.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_rain_weather.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_rain_weather.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_thunder_weather.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_thunder_weather.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_thunder_weather.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_afrit_thunder_weather.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_allay.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_allay.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_allay.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_husband.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_husband.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_husband.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_husband.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_wife.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_wife.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_wife.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_demonic_wife.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_clear_weather.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_clear_weather.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_clear_weather.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_clear_weather.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_crusher.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_crusher.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_crusher.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_crusher.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_day_time.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_day_time.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_day_time.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_day_time.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_manage_machine.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_manage_machine.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_manage_machine.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_manage_machine.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_night_time.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_night_time.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_night_time.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_djinni_night_time.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_cleaner.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_cleaner.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_cleaner.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_cleaner.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_crusher.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_crusher.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_crusher.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_crusher.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_lumberjack.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_lumberjack.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_lumberjack.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_lumberjack.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_otherstone_trader.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_otherstone_trader.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_otherstone_trader.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_otherstone_trader.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_sapling_trader.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_sapling_trader.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_sapling_trader.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_sapling_trader.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_transport_items.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_transport_items.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_transport_items.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_foliot_transport_items.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_horde_illager.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_horde_illager.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_horde_illager.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_marid_crusher.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_marid_crusher.json index 1a5442cc2..662fe08aa 100644 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_marid_crusher.json +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_marid_crusher.json @@ -1,3 +1,3 @@ { - "parent": "occultism:item/ritual_dummy" + "parent": "occultism:item/pentacle_summon" } \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_random_animal.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_random_animal.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_random_animal.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_unbound_afrit.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_unbound_afrit.json new file mode 100644 index 000000000..662fe08aa --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_unbound_afrit.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_summon" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_unbound_marid.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_unbound_marid.json new file mode 100644 index 000000000..662fe08aa --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_unbound_marid.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_summon" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_afrit.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_afrit.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_afrit.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_creeper.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_creeper.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_creeper.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_drowned.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_drowned.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_drowned.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_hunt.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_hunt.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_hunt.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_husk.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_husk.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_husk.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_otherworld_bird.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_otherworld_bird.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_otherworld_bird.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_parrot.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_parrot.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_parrot.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_silverfish.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_silverfish.json deleted file mode 100644 index 1a5442cc2..000000000 --- a/src/generated/resources/assets/occultism/models/item/ritual_dummy/summon_wild_silverfish.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "occultism:item/ritual_dummy" -} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_breeze.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_breeze.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_breeze.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_creeper.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_creeper.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_creeper.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_drowned.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_drowned.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_drowned.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_horde_illager.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_horde_illager.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_horde_illager.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_hunt.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_hunt.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_hunt.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_husk.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_husk.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_husk.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_silverfish.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_silverfish.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_silverfish.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_strong_breeze.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_strong_breeze.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_strong_breeze.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_weak_breeze.json b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_weak_breeze.json new file mode 100644 index 000000000..1d2191b74 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/ritual_dummy/wild_weak_breeze.json @@ -0,0 +1,3 @@ +{ + "parent": "occultism:item/pentacle_misc" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/afrit_wild.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/afrit_unbound.json similarity index 100% rename from src/generated/resources/assets/occultism/models/item/spawn_egg/afrit_wild.json rename to src/generated/resources/assets/occultism/models/item/spawn_egg/afrit_unbound.json diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_breeze.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/marid_unbound.json similarity index 100% rename from src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_breeze.json rename to src/generated/resources/assets/occultism/models/item/spawn_egg/marid_unbound.json diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_evoker.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_bee.json similarity index 100% rename from src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_evoker.json rename to src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_bee.json diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_strong_breeze.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_goat.json similarity index 100% rename from src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_strong_breeze.json rename to src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_goat.json diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_weak_breeze.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_witch.json similarity index 100% rename from src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_weak_breeze.json rename to src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_witch.json diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_zombie_piglin.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_zombie_piglin.json new file mode 100644 index 000000000..d1aaa9d6e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/spawn_egg/possessed_zombie_piglin.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_breeze.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_breeze.json new file mode 100644 index 000000000..d1aaa9d6e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_breeze.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_evoker.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_evoker.json new file mode 100644 index 000000000..d1aaa9d6e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_evoker.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_strong_breeze.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_strong_breeze.json new file mode 100644 index 000000000..d1aaa9d6e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_strong_breeze.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_weak_breeze.json b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_weak_breeze.json new file mode 100644 index 000000000..d1aaa9d6e --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/spawn_egg/wild_weak_breeze.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/generated/resources/assets/occultism/models/item/witherite_dust.json b/src/generated/resources/assets/occultism/models/item/witherite_dust.json new file mode 100644 index 000000000..ac7f1cf13 --- /dev/null +++ b/src/generated/resources/assets/occultism/models/item/witherite_dust.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "occultism:item/witherite_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/entity_type/allay.json b/src/generated/resources/data/c/tags/entity_type/allay.json new file mode 100644 index 000000000..af85395e0 --- /dev/null +++ b/src/generated/resources/data/c/tags/entity_type/allay.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:allay" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/entity_type/camel.json b/src/generated/resources/data/c/tags/entity_type/camels.json similarity index 100% rename from src/generated/resources/data/occultism/tags/entity_type/camel.json rename to src/generated/resources/data/c/tags/entity_type/camels.json diff --git a/src/generated/resources/data/c/tags/entity_type/cats.json b/src/generated/resources/data/c/tags/entity_type/cats.json new file mode 100644 index 000000000..59adbd4d0 --- /dev/null +++ b/src/generated/resources/data/c/tags/entity_type/cats.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:cat", + "minecraft:ocelot" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/entity_type/chicken.json b/src/generated/resources/data/c/tags/entity_type/chickens.json similarity index 100% rename from src/generated/resources/data/c/tags/entity_type/chicken.json rename to src/generated/resources/data/c/tags/entity_type/chickens.json diff --git a/src/generated/resources/data/occultism/tags/entity_type/dolphin.json b/src/generated/resources/data/c/tags/entity_type/dolphins.json similarity index 100% rename from src/generated/resources/data/occultism/tags/entity_type/dolphin.json rename to src/generated/resources/data/c/tags/entity_type/dolphins.json diff --git a/src/generated/resources/data/c/tags/entity_type/goats.json b/src/generated/resources/data/c/tags/entity_type/goats.json index f59c77bcd..d6bb757b3 100644 --- a/src/generated/resources/data/c/tags/entity_type/goats.json +++ b/src/generated/resources/data/c/tags/entity_type/goats.json @@ -1,5 +1,6 @@ { "values": [ - "minecraft:goat" + "minecraft:goat", + "occultism:mercy_goat" ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/entity_type/ocelot.json b/src/generated/resources/data/c/tags/entity_type/ocelots.json similarity index 100% rename from src/generated/resources/data/occultism/tags/entity_type/ocelot.json rename to src/generated/resources/data/c/tags/entity_type/ocelots.json diff --git a/src/generated/resources/data/c/tags/entity_type/squid.json b/src/generated/resources/data/c/tags/entity_type/squids.json similarity index 100% rename from src/generated/resources/data/c/tags/entity_type/squid.json rename to src/generated/resources/data/c/tags/entity_type/squids.json diff --git a/src/generated/resources/data/c/tags/entity_type/tadpoles.json b/src/generated/resources/data/c/tags/entity_type/tadpoles.json new file mode 100644 index 000000000..9f488049d --- /dev/null +++ b/src/generated/resources/data/c/tags/entity_type/tadpoles.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:tadpole" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/entity_type/vex.json b/src/generated/resources/data/c/tags/entity_type/vex.json similarity index 100% rename from src/generated/resources/data/occultism/tags/entity_type/vex.json rename to src/generated/resources/data/c/tags/entity_type/vex.json diff --git a/src/generated/resources/data/c/tags/entity_type/wardens.json b/src/generated/resources/data/c/tags/entity_type/wardens.json new file mode 100644 index 000000000..a4ba9df8a --- /dev/null +++ b/src/generated/resources/data/c/tags/entity_type/wardens.json @@ -0,0 +1,6 @@ +{ + "values": [ + "minecraft:warden", + "occultism:possessed_warden" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/entity_type/wolfs.json b/src/generated/resources/data/c/tags/entity_type/wolfs.json similarity index 100% rename from src/generated/resources/data/occultism/tags/entity_type/wolfs.json rename to src/generated/resources/data/c/tags/entity_type/wolfs.json diff --git a/src/generated/resources/data/c/tags/item/dusts.json b/src/generated/resources/data/c/tags/item/dusts.json index ddf391bb2..5081b4174 100644 --- a/src/generated/resources/data/c/tags/item/dusts.json +++ b/src/generated/resources/data/c/tags/item/dusts.json @@ -7,7 +7,21 @@ "#c:dusts/iesnium", "#c:dusts/silver", "#c:dusts/obsidian", - "occultism:burnt_otherstone", - "occultism:otherworld_ashes" + "#c:dusts/amethyst", + "#c:dusts/blackstone", + "#c:dusts/blue_ice", + "#c:dusts/calcite", + "#c:dusts/ice", + "#c:dusts/packed_ice", + "#c:dusts/dragonyst", + "#c:dusts/echo", + "#c:dusts/emerald", + "#c:dusts/lapis", + "#c:dusts/netherite", + "#c:dusts/netherite_scrap", + "#c:dusts/research", + "#c:dusts/witherite", + "#c:dusts/otherstone", + "#c:dusts/otherworld_wood" ] } \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/amethyst.json b/src/generated/resources/data/c/tags/item/dusts/amethyst.json new file mode 100644 index 000000000..64c8e9111 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/amethyst.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:amethyst_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/blackstone.json b/src/generated/resources/data/c/tags/item/dusts/blackstone.json new file mode 100644 index 000000000..ce024ce6d --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/blackstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:crushed_blackstone" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/blue_ice.json b/src/generated/resources/data/c/tags/item/dusts/blue_ice.json new file mode 100644 index 000000000..f76d99abb --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/blue_ice.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:crushed_blue_ice" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/calcite.json b/src/generated/resources/data/c/tags/item/dusts/calcite.json new file mode 100644 index 000000000..97da1bbac --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/calcite.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:crushed_calcite" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/dragonyst.json b/src/generated/resources/data/c/tags/item/dusts/dragonyst.json new file mode 100644 index 000000000..213268250 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/dragonyst.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:dragonyst_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/echo.json b/src/generated/resources/data/c/tags/item/dusts/echo.json new file mode 100644 index 000000000..bd7800806 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/echo.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:echo_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/emerald.json b/src/generated/resources/data/c/tags/item/dusts/emerald.json new file mode 100644 index 000000000..ad2f16c5a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/emerald.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:emerald_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/ice.json b/src/generated/resources/data/c/tags/item/dusts/ice.json new file mode 100644 index 000000000..9b8b3144a --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/ice.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:crushed_ice" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/lapis.json b/src/generated/resources/data/c/tags/item/dusts/lapis.json new file mode 100644 index 000000000..5d00ebd95 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/lapis.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:lapis_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/netherite.json b/src/generated/resources/data/c/tags/item/dusts/netherite.json new file mode 100644 index 000000000..0613a7365 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/netherite.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:netherite_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/netherite_scrap.json b/src/generated/resources/data/c/tags/item/dusts/netherite_scrap.json new file mode 100644 index 000000000..46a569252 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/netherite_scrap.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:netherite_scrap_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/otherstone.json b/src/generated/resources/data/c/tags/item/dusts/otherstone.json new file mode 100644 index 000000000..875acbd81 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/otherstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:burnt_otherstone" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/otherworld_wood.json b/src/generated/resources/data/c/tags/item/dusts/otherworld_wood.json new file mode 100644 index 000000000..08a6e1b45 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/otherworld_wood.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:otherworld_ashes" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/packed_ice.json b/src/generated/resources/data/c/tags/item/dusts/packed_ice.json new file mode 100644 index 000000000..4403ae483 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/packed_ice.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:crushed_packed_ice" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/research.json b/src/generated/resources/data/c/tags/item/dusts/research.json new file mode 100644 index 000000000..8fd0048cb --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/research.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:research_fragment_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/dusts/witherite.json b/src/generated/resources/data/c/tags/item/dusts/witherite.json new file mode 100644 index 000000000..39c8dc67c --- /dev/null +++ b/src/generated/resources/data/c/tags/item/dusts/witherite.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:witherite_dust" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/c/tags/item/tools.json b/src/generated/resources/data/c/tags/item/tools.json new file mode 100644 index 000000000..0c7623356 --- /dev/null +++ b/src/generated/resources/data/c/tags/item/tools.json @@ -0,0 +1,8 @@ +{ + "values": [ + { + "id": "#occultism:tools/knife", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/saplings.json b/src/generated/resources/data/minecraft/tags/block/saplings.json index ae2130428..b6d795dee 100644 --- a/src/generated/resources/data/minecraft/tags/block/saplings.json +++ b/src/generated/resources/data/minecraft/tags/block/saplings.json @@ -1,5 +1,6 @@ { "values": [ - "#occultism:saplings/otherworld" + "#occultism:saplings/otherworld", + "#occultism:saplings/otherworld_natural" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/item/saplings.json b/src/generated/resources/data/minecraft/tags/item/saplings.json index ae2130428..b6d795dee 100644 --- a/src/generated/resources/data/minecraft/tags/item/saplings.json +++ b/src/generated/resources/data/minecraft/tags/item/saplings.json @@ -1,5 +1,6 @@ { "values": [ - "#occultism:saplings/otherworld" + "#occultism:saplings/otherworld", + "#occultism:saplings/otherworld_natural" ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/occultism/familiar/root.json b/src/generated/resources/data/occultism/advancement/occultism/familiar/root.json index d75b7dae0..aaaf3cbea 100644 --- a/src/generated/resources/data/occultism/advancement/occultism/familiar/root.json +++ b/src/generated/resources/data/occultism/advancement/occultism/familiar/root.json @@ -8,13 +8,13 @@ } }, "display": { - "background": "minecraft:textures/gui/advancements/backgrounds/stone.png", + "background": "occultism:textures/block/otherplanks.png", "description": { "translate": "advancements.occultism.familiars.description" }, "icon": { "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:pentacle_possess" }, "title": { "translate": "advancements.occultism.familiars.title" diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/amethyst_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/amethyst_dust.json new file mode 100644 index 000000000..8d2a7d7fc --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/amethyst_dust.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:ores/amethyst" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:dusts/amethyst" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst": { + "conditions": { + "items": [ + { + "items": "#c:ores/amethyst" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/amethyst_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_amethyst" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/amethyst_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/amethyst_dust_from_gem.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/amethyst_dust_from_gem.json new file mode 100644 index 000000000..baf47700b --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/amethyst_dust_from_gem.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/amethyst" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:dusts/amethyst" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_amethyst_gem": { + "conditions": { + "items": [ + { + "items": "#c:gems/amethyst" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/amethyst_dust_from_gem" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_amethyst_gem" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/amethyst_dust_from_gem" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/blackstone_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/blackstone_dust.json new file mode 100644 index 000000000..f8eb256c6 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/blackstone_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blackstone": { + "conditions": { + "items": [ + { + "items": "minecraft:blackstone" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/blackstone_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blackstone" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/blackstone_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/blue_ice_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/blue_ice_dust.json new file mode 100644 index 000000000..ceffc2411 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/blue_ice_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_blue_ice": { + "conditions": { + "items": [ + { + "items": "minecraft:blue_ice" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/blue_ice_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_blue_ice" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/blue_ice_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/calcite_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/calcite_dust.json new file mode 100644 index 000000000..32cb1b026 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/calcite_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_calcite": { + "conditions": { + "items": [ + { + "items": "minecraft:calcite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/calcite_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_calcite" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/calcite_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/echo_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/echo_dust.json new file mode 100644 index 000000000..786414471 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/echo_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_echo_shard": { + "conditions": { + "items": [ + { + "items": "minecraft:echo_shard" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/echo_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_echo_shard" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/echo_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/ice_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/ice_dust.json new file mode 100644 index 000000000..cfeb0eeaf --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/ice_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ice": { + "conditions": { + "items": [ + { + "items": "minecraft:ice" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/ice_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ice" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/ice_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/netherite_scrap_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/netherite_scrap_dust.json new file mode 100644 index 000000000..894e4d3c9 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/netherite_scrap_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_ancient_debris": { + "conditions": { + "items": [ + { + "items": "#c:ores/netherite_scrap" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/netherite_scrap_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_ancient_debris" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/netherite_scrap_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/packed_ice_dust.json b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/packed_ice_dust.json new file mode 100644 index 000000000..2300458bf --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/crushing/crushing/packed_ice_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_packed_ice": { + "conditions": { + "items": [ + { + "items": "minecraft:packed_ice" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crushing/packed_ice_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_packed_ice" + ] + ], + "rewards": { + "recipes": [ + "occultism:crushing/packed_ice_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/basalt.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/basalt.json new file mode 100644 index 000000000..2b9f4e341 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/basalt.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/basic_resources/basalt" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/basic_resources/basalt" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/blackstone.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/blackstone.json new file mode 100644 index 000000000..e8954f03b --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/blackstone.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/basic_resources/blackstone" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/basic_resources/blackstone" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/deepslate.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/deepslate.json new file mode 100644 index 000000000..5688b775d --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/basic_resources/deepslate.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/basic_resources/deepslate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/basic_resources/deepslate" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/amethyst.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/amethyst.json new file mode 100644 index 000000000..96e1c7f89 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/amethyst.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/amethyst" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/amethyst" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/amethyst" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/ancient_debris.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/ancient_debris.json new file mode 100644 index 000000000..31d40d74c --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/ancient_debris.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/ancient_debris" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/ancient_debris" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/arcane_crystal.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/arcane_crystal.json new file mode 100644 index 000000000..282374b6e --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/arcane_crystal.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/arcane_crystal" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/arcane_crystal" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/arcane_crystal" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/coal.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/coal.json new file mode 100644 index 000000000..94fb731bb --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/coal.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/coal" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/coal" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/coal" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/dark.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/dark.json new file mode 100644 index 000000000..e2b881c5c --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/dark.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/dark" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/dark" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/dark" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/diamond.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/diamond.json new file mode 100644 index 000000000..24811c1b7 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/diamond.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/diamond" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/diamond" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/diamond" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/emerald.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/emerald.json new file mode 100644 index 000000000..e95f8cc0c --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/emerald.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/emerald" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/emerald" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/emerald" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/fluorite.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/fluorite.json new file mode 100644 index 000000000..3743cf23a --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/fluorite.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/fluorite" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/fluorite" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/fluorite" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/glowstone_dust.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/glowstone_dust.json new file mode 100644 index 000000000..d790d1695 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/glowstone_dust.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:dusts/glowstone" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/glowstone_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/glowstone_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/inferium_essence.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/inferium_essence.json new file mode 100644 index 000000000..2cb512274 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/inferium_essence.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/inferium_essence" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/inferium_essence" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/inferium_essence" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/lapis.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/lapis.json new file mode 100644 index 000000000..299fd5a4f --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/lapis.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/lapis" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/lapis" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/lapis" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/lignite_coal.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/lignite_coal.json new file mode 100644 index 000000000..9062c9dfa --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/lignite_coal.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/lignite_coal" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/lignite_coal" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/lignite_coal" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/mining_dim_core.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/mining_dim_core.json new file mode 100644 index 000000000..3ff669412 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/mining_dim_core.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/mining_dim_core" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/mining_dim_core" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/monazite.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/monazite.json new file mode 100644 index 000000000..fd5880fb5 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/monazite.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/monazite" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/monazite" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/monazite" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/peridot.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/peridot.json new file mode 100644 index 000000000..d990c1985 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/peridot.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/peridot" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/peridot" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/peridot" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/prosperity_shard.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/prosperity_shard.json new file mode 100644 index 000000000..7bddaedb9 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/prosperity_shard.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/prosperity_shard" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/prosperity_shard" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/prosperity_shard" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/quartz.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/quartz.json new file mode 100644 index 000000000..c26c64397 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/quartz.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/quartz" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/quartz" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/quartz" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_aethersent.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_aethersent.json new file mode 100644 index 000000000..d41b2bca2 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_aethersent.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_aethersent" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_aethersent" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_aethersent" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_allthemodium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_allthemodium.json new file mode 100644 index 000000000..09a4d6533 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_allthemodium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_allthemodium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_allthemodium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_allthemodium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_aluminium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_aluminium.json new file mode 100644 index 000000000..fa6777e49 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_aluminium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_aluminium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_aluminium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_aluminium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_antimony.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_antimony.json new file mode 100644 index 000000000..0b786129c --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_antimony.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_antimony" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_antimony" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_antimony" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_azure_silver.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_azure_silver.json new file mode 100644 index 000000000..a2162e3bc --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_azure_silver.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_azure_silver" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_azure_silver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_azure_silver" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_cloggrum.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_cloggrum.json new file mode 100644 index 000000000..ce9f9974f --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_cloggrum.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_cloggrum" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_cloggrum" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_cloggrum" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_copper.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_copper.json new file mode 100644 index 000000000..00fac1ecc --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_copper.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_copper" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_copper" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_copper" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_crimson_iron.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_crimson_iron.json new file mode 100644 index 000000000..87c108a3e --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_crimson_iron.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_crimson_iron" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_crimson_iron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_crimson_iron" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_froststeel.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_froststeel.json new file mode 100644 index 000000000..577e1bab5 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_froststeel.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_froststeel" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_froststeel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_froststeel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_gold.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_gold.json new file mode 100644 index 000000000..16c5b549e --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_gold.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_gold" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_gold" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_gold" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iesnium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iesnium.json new file mode 100644 index 000000000..f4fda153b --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iesnium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_iesnium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_iesnium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_iesnium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iridium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iridium.json new file mode 100644 index 000000000..46c70a90b --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iridium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_iridium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_iridium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_iridium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iron.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iron.json new file mode 100644 index 000000000..58e6313ac --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_iron.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_iron" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_iron" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_iron" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_lead.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_lead.json new file mode 100644 index 000000000..3f045ffdb --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_lead.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_lead" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_lead" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_lead" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_nickel.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_nickel.json new file mode 100644 index 000000000..0e852cf4e --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_nickel.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_nickel" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_nickel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_nickel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_osmium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_osmium.json new file mode 100644 index 000000000..480cd0120 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_osmium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_osmium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_osmium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_osmium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_platinum.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_platinum.json new file mode 100644 index 000000000..ec4e071fa --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_platinum.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_platinum" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_platinum" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_platinum" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_silver.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_silver.json new file mode 100644 index 000000000..9a8b7ff74 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_silver.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_silver" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_silver" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_silver" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_tin.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_tin.json new file mode 100644 index 000000000..c30ad59c2 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_tin.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_tin" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_tin" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_tin" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_titanium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_titanium.json new file mode 100644 index 000000000..d72ca7838 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_titanium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_titanium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_titanium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_titanium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_tungsten.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_tungsten.json new file mode 100644 index 000000000..a057671b9 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_tungsten.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_tungsten" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_tungsten" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_tungsten" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_unobtainium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_unobtainium.json new file mode 100644 index 000000000..2cd1eebe2 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_unobtainium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_unobtainium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_unobtainium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_unobtainium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_uranium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_uranium.json new file mode 100644 index 000000000..6d740b630 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_uranium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_uranium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_uranium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_uranium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_vibranium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_vibranium.json new file mode 100644 index 000000000..fb9c67098 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_vibranium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_vibranium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_vibranium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_vibranium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_yellorium.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_yellorium.json new file mode 100644 index 000000000..7a37e0454 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_yellorium.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_yellorium" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_yellorium" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_yellorium" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_zinc.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_zinc.json new file mode 100644 index 000000000..c6e436725 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/raw_zinc.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_zinc" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/raw_zinc" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/raw_zinc" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/redstone.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/redstone.json new file mode 100644 index 000000000..7a2f8c0bb --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/redstone.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/redstone" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/redstone" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/redstone" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/ruby.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/ruby.json new file mode 100644 index 000000000..e40348142 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/ruby.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/ruby" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/ruby" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/ruby" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/rune.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/rune.json new file mode 100644 index 000000000..0b9246e83 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/rune.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/rune" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/rune" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/rune" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sal_ammoniac.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sal_ammoniac.json new file mode 100644 index 000000000..c512566e8 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sal_ammoniac.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/sal_ammoniac" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/sal_ammoniac" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/sal_ammoniac" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/salt.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/salt.json new file mode 100644 index 000000000..c69e3be44 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/salt.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/salt" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/salt" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/salt" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sapphire.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sapphire.json new file mode 100644 index 000000000..363167472 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sapphire.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/sapphire" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/sapphire" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/sapphire" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/soulium_dust.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/soulium_dust.json new file mode 100644 index 000000000..bc19aa61e --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/soulium_dust.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/soulium_dust" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/soulium_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/soulium_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/stellarite.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/stellarite.json new file mode 100644 index 000000000..500879f44 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/stellarite.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/stellarite" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/stellarite" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/stellarite" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sulfur.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sulfur.json new file mode 100644 index 000000000..0b6452307 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/sulfur.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/sulfur" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/sulfur" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/sulfur" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/uraninite.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/uraninite.json new file mode 100644 index 000000000..ec449e868 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/eldritch/uraninite.json @@ -0,0 +1,48 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/uraninite" + } + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/eldritch/uraninite" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/eldritch/uraninite" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/master/mining_dim_core.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/master/mining_dim_core.json new file mode 100644 index 000000000..9aa67e0ff --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/master/mining_dim_core.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/master/mining_dim_core" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/master/mining_dim_core" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/ores/crying_obsidian.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/ores/crying_obsidian.json new file mode 100644 index 000000000..690b17eef --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/ores/crying_obsidian.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/ores/crying_obsidian" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/ores/crying_obsidian" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/miner/miner/ores/gilded_blackstone.json b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/ores/gilded_blackstone.json new file mode 100644 index 000000000..4f4fe76b6 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/miner/miner/ores/gilded_blackstone.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_miner": { + "conditions": { + "items": [ + { + "items": "occultism:magic_lamp_empty" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:miner/ores/gilded_blackstone" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_miner" + ] + ], + "rewards": { + "recipes": [ + "occultism:miner/ores/gilded_blackstone" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/blasting/netherite_ingot_from_dust.json b/src/generated/resources/data/occultism/advancement/recipes/misc/blasting/netherite_ingot_from_dust.json new file mode 100644 index 000000000..47bad773f --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/blasting/netherite_ingot_from_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_netherite_dust": { + "conditions": { + "items": [ + { + "items": "#c:dusts/netherite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:blasting/netherite_ingot_from_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_netherite_dust" + ] + ], + "rewards": { + "recipes": [ + "occultism:blasting/netherite_ingot_from_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_black_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_black_impure.json index 96360fa27..8f44bbfe8 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_black_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_black_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_blue_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_blue_impure.json index aee75b40b..51aab2749 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_blue_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_blue_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_brown_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_brown_impure.json index 4e6bcd2ac..827de2376 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_brown_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_brown_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_cyan_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_cyan_impure.json index b557a19be..933ce43aa 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_cyan_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_cyan_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gray_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gray_impure.json index e6c4918c1..9cf1668c4 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gray_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gray_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_green_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_green_impure.json index 241a5a5fb..0d2aa0c9f 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_green_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_green_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_blue_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_blue_impure.json index ab695324d..89e149438 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_blue_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_blue_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_gray_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_gray_impure.json index 1278acd02..6e6df9641 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_gray_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_light_gray_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_lime_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_lime_impure.json index 997d2d41c..12e9b8e46 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_lime_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_lime_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_magenta_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_magenta_impure.json index 9f5acb120..39a49d86b 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_magenta_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_magenta_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_orange_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_orange_impure.json index 5a46e6be3..c70a15d0d 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_orange_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_orange_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_pink_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_pink_impure.json index d34724fdd..09c1673f2 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_pink_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_pink_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_purple_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_purple_impure.json index 53295e335..def3a84d8 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_purple_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_purple_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_red_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_red_impure.json index f9ff3fbbb..b019fbc94 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_red_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_red_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gold_impure.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_yellow_impure.json similarity index 73% rename from src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gold_impure.json rename to src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_yellow_impure.json index 130fb8525..71c10e916 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_gold_impure.json +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/chalk_yellow_impure.json @@ -1,7 +1,7 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_chalk_white": { + "has_chalk_white_impure": { "conditions": { "items": [ { @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:crafting/chalk_gold_impure" + "recipe": "occultism:crafting/chalk_yellow_impure" }, "trigger": "minecraft:recipe_unlocked" } @@ -21,12 +21,12 @@ "requirements": [ [ "has_the_recipe", - "has_chalk_white" + "has_chalk_white_impure" ] ], "rewards": { "recipes": [ - "occultism:crafting/chalk_gold_impure" + "occultism:crafting/chalk_yellow_impure" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/netherite_dust.json b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/netherite_dust.json new file mode 100644 index 000000000..6f9586477 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/crafting/netherite_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_netherite_scrap_dust": { + "conditions": { + "items": [ + { + "items": "#c:dusts/netherite_scrap" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:crafting/netherite_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_netherite_scrap_dust" + ] + ], + "rewards": { + "recipes": [ + "occultism:crafting/netherite_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/misc/smelting/netherite_ingot_from_dust.json b/src/generated/resources/data/occultism/advancement/recipes/misc/smelting/netherite_ingot_from_dust.json new file mode 100644 index 000000000..fad332213 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/misc/smelting/netherite_ingot_from_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_netherite_dust": { + "conditions": { + "items": [ + { + "items": "#c:dusts/netherite" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:smelting/netherite_ingot_from_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_netherite_dust" + ] + ], + "rewards": { + "recipes": [ + "occultism:smelting/netherite_ingot_from_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_budding_amethyst.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_budding_amethyst.json new file mode 100644 index 000000000..0db254625 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_budding_amethyst.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/craft_budding_amethyst" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/craft_budding_amethyst" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_dragonyst_dust.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_dragonyst_dust.json new file mode 100644 index 000000000..4d4d93a5e --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_dragonyst_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_marid": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_marid" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/craft_dragonyst_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_marid" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/craft_dragonyst_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_otherworld_bird.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_gray_paste.json similarity index 81% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_otherworld_bird.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_gray_paste.json index 9770816a8..16662b7c6 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_otherworld_bird.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_gray_paste.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_wild_otherworld_bird" + "recipe": "occultism:ritual/craft_gray_paste" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_wild_otherworld_bird" + "occultism:ritual/craft_gray_paste" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_miner_ancient_eldritch.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_miner_ancient_eldritch.json new file mode 100644 index 000000000..e03a38438 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_miner_ancient_eldritch.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_mining_dimension_core": { + "conditions": { + "items": [ + { + "items": "occultism:mining_dim_core" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/craft_miner_ancient_eldritch" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_mining_dimension_core" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/craft_miner_ancient_eldritch" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_parrot.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_nature_paste.json similarity index 83% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_parrot.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_nature_paste.json index aab2f931e..2dcf0663f 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_parrot.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_nature_paste.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_wild_parrot" + "recipe": "occultism:ritual/craft_nature_paste" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_wild_parrot" + "occultism:ritual/craft_nature_paste" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_reinforced_deepslate.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_reinforced_deepslate.json new file mode 100644 index 000000000..cc699cab1 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_reinforced_deepslate.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_marid": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_marid" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/craft_reinforced_deepslate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_marid" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/craft_reinforced_deepslate" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_research_fragment_dust.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_research_fragment_dust.json new file mode 100644 index 000000000..43b37d409 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_research_fragment_dust.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_foliot": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_foliot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/craft_research_fragment_dust" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_foliot" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/craft_research_fragment_dust" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_wild_trim.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_wild_trim.json index 41994ca34..32bed3191 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_wild_trim.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_wild_trim.json @@ -1,11 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_bound_marid": { + "has_bound_afrit": { "conditions": { "items": [ { - "items": "occultism:book_of_binding_bound_marid" + "items": "occultism:book_of_binding_bound_afrit" } ] }, @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_bound_marid" + "has_bound_afrit" ] ], "rewards": { diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_horde_illager.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_witherite_dust.json similarity index 83% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_horde_illager.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_witherite_dust.json index 6de07f3f0..488078f68 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_horde_illager.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/craft_witherite_dust.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_horde_illager" + "recipe": "occultism:ritual/craft_witherite_dust" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_horde_illager" + "occultism:ritual/craft_witherite_dust" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_bee.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_bee.json new file mode 100644 index 000000000..f676792e2 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_bee.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_djinni": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_djinni" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/possess_bee" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_djinni" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/possess_bee" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_goat.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_goat.json new file mode 100644 index 000000000..0762b5bf1 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_goat.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_marid": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_marid" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/possess_goat" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_marid" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/possess_goat" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_random_animal.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_random_animal.json new file mode 100644 index 000000000..9db04fdc7 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_random_animal.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_foliot": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_foliot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/possess_random_animal" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_foliot" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/possess_random_animal" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_unbound_otherworld_bird.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_unbound_otherworld_bird.json new file mode 100644 index 000000000..19184bc26 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_unbound_otherworld_bird.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_djinni": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_djinni" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/possess_unbound_otherworld_bird" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_djinni" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/possess_unbound_otherworld_bird" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_unbound_parrot.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_unbound_parrot.json new file mode 100644 index 000000000..1d69e20a3 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_unbound_parrot.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_foliot": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_foliot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/possess_unbound_parrot" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_foliot" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/possess_unbound_parrot" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_allay.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_witch.json similarity index 85% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_allay.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_witch.json index 763ae83bf..47fa942b8 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_allay.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_witch.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_allay" + "recipe": "occultism:ritual/possess_witch" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_allay" + "occultism:ritual/possess_witch" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_strong_breeze.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_zombie_piglin.json similarity index 83% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_strong_breeze.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_zombie_piglin.json index d38c3fca6..ccdd16f7b 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_strong_breeze.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_zombie_piglin.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/possess_strong_breeze" + "recipe": "occultism:ritual/possess_zombie_piglin" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/possess_strong_breeze" + "occultism:ritual/possess_zombie_piglin" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_breeze.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_armors.json similarity index 84% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_breeze.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_armors.json index 595be0875..86ddcd77c 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_breeze.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_armors.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/possess_breeze" + "recipe": "occultism:ritual/repair_armors" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/possess_breeze" + "occultism:ritual/repair_armors" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_chalks.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_chalks.json new file mode 100644 index 000000000..3fc307325 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_chalks.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/repair_chalks" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_white_chalk": { + "conditions": { + "items": [ + { + "items": "occultism:chalk_white" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_white_chalk" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/repair_chalks" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_hunt.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_miners.json similarity index 84% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_hunt.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_miners.json index a3206e635..51afb1795 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_hunt.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_miners.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_wild_hunt" + "recipe": "occultism:ritual/repair_miners" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_wild_hunt" + "occultism:ritual/repair_miners" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_husk.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_tools.json similarity index 84% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_husk.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_tools.json index 6ad56fec4..3b4074fd7 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_husk.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/repair_tools.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_wild_husk" + "recipe": "occultism:ritual/repair_tools" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_wild_husk" + "occultism:ritual/repair_tools" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_random_animal.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/resurrect_allay.json similarity index 83% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_random_animal.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/resurrect_allay.json index b9168fd2d..ba194892e 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_random_animal.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/resurrect_allay.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_random_animal" + "recipe": "occultism:ritual/resurrect_allay" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_random_animal" + "occultism:ritual/resurrect_allay" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_weak_breeze.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_unbound_afrit.json similarity index 83% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_weak_breeze.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_unbound_afrit.json index bca51eaae..ed90ce75b 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/possess_weak_breeze.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_unbound_afrit.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/possess_weak_breeze" + "recipe": "occultism:ritual/summon_unbound_afrit" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/possess_weak_breeze" + "occultism:ritual/summon_unbound_afrit" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_unbound_marid.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_unbound_marid.json new file mode 100644 index 000000000..db225842d --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_unbound_marid.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_marid": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_marid" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/summon_unbound_marid" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_marid" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/summon_unbound_marid" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_creeper.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_creeper.json deleted file mode 100644 index 2850e89c8..000000000 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_creeper.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bound_afrit": { - "conditions": { - "items": [ - { - "items": "occultism:book_of_binding_bound_afrit" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "occultism:ritual/summon_wild_creeper" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bound_afrit" - ] - ], - "rewards": { - "recipes": [ - "occultism:ritual/summon_wild_creeper" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_drowned.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_drowned.json deleted file mode 100644 index be450f29a..000000000 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_drowned.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bound_afrit": { - "conditions": { - "items": [ - { - "items": "occultism:book_of_binding_bound_afrit" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "occultism:ritual/summon_wild_drowned" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bound_afrit" - ] - ], - "rewards": { - "recipes": [ - "occultism:ritual/summon_wild_drowned" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_silverfish.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_silverfish.json deleted file mode 100644 index 69baeb735..000000000 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_silverfish.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_bound_afrit": { - "conditions": { - "items": [ - { - "items": "occultism:book_of_binding_bound_afrit" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "occultism:ritual/summon_wild_silverfish" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_bound_afrit" - ] - ], - "rewards": { - "recipes": [ - "occultism:ritual/summon_wild_silverfish" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_afrit.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_breeze.json similarity index 84% rename from src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_afrit.json rename to src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_breeze.json index e97b68cc7..aa2a04ed0 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/summon_wild_afrit.json +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_breeze.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "occultism:ritual/summon_wild_afrit" + "recipe": "occultism:ritual/wild_breeze" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "occultism:ritual/summon_wild_afrit" + "occultism:ritual/wild_breeze" ] } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_creeper.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_creeper.json new file mode 100644 index 000000000..074ef36a7 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_creeper.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_creeper" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_creeper" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_drowned.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_drowned.json new file mode 100644 index 000000000..e4f18260d --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_drowned.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_drowned" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_drowned" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_horde_illager.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_horde_illager.json new file mode 100644 index 000000000..968bc3fba --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_horde_illager.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_horde_illager" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_horde_illager" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_hunt.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_hunt.json new file mode 100644 index 000000000..2f111f24d --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_hunt.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_hunt" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_hunt" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_husk.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_husk.json new file mode 100644 index 000000000..9235d94ca --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_husk.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_husk" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_husk" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_silverfish.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_silverfish.json new file mode 100644 index 000000000..0a3a45853 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_silverfish.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_silverfish" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_silverfish" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_strong_breeze.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_strong_breeze.json new file mode 100644 index 000000000..8d8630c5d --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_strong_breeze.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_strong_breeze" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_strong_breeze" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_weak_breeze.json b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_weak_breeze.json new file mode 100644 index 000000000..9fb923e85 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/ritual/ritual/wild_weak_breeze.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_bound_afrit": { + "conditions": { + "items": [ + { + "items": "occultism:book_of_binding_bound_afrit" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:ritual/wild_weak_breeze" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_bound_afrit" + ] + ], + "rewards": { + "recipes": [ + "occultism:ritual/wild_weak_breeze" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/spirit_fire/spirit_fire/chalk_gold.json b/src/generated/resources/data/occultism/advancement/recipes/spirit_fire/spirit_fire/chalk_gold.json deleted file mode 100644 index 4f6dc2451..000000000 --- a/src/generated/resources/data/occultism/advancement/recipes/spirit_fire/spirit_fire/chalk_gold.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_chalk_gold_impure": { - "conditions": { - "items": [ - { - "items": "occultism:chalk_gold_impure" - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "occultism:spirit_fire/chalk_gold" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_the_recipe", - "has_chalk_gold_impure" - ] - ], - "rewards": { - "recipes": [ - "occultism:spirit_fire/chalk_gold" - ] - } -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/spirit_fire/spirit_fire/chalk_yellow.json b/src/generated/resources/data/occultism/advancement/recipes/spirit_fire/spirit_fire/chalk_yellow.json new file mode 100644 index 000000000..cef6d1e49 --- /dev/null +++ b/src/generated/resources/data/occultism/advancement/recipes/spirit_fire/spirit_fire/chalk_yellow.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_chalk_yellow_impure": { + "conditions": { + "items": [ + { + "items": "occultism:chalk_yellow_impure" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "occultism:spirit_fire/chalk_yellow" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_chalk_yellow_impure" + ] + ], + "rewards": { + "recipes": [ + "occultism:spirit_fire/chalk_yellow" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/advancement/recipes/spirit_trade/spirit_trade/otherworld_sapling.json b/src/generated/resources/data/occultism/advancement/recipes/spirit_trade/spirit_trade/otherworld_sapling.json index c466744f7..c5f485348 100644 --- a/src/generated/resources/data/occultism/advancement/recipes/spirit_trade/spirit_trade/otherworld_sapling.json +++ b/src/generated/resources/data/occultism/advancement/recipes/spirit_trade/spirit_trade/otherworld_sapling.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "items": "occultism:otherworld_sapling_natural" + "items": "minecraft:air" } ] }, diff --git a/src/generated/resources/data/occultism/loot_table/blocks/otherworld_leaves_natural.json b/src/generated/resources/data/occultism/loot_table/blocks/otherworld_leaves_natural.json index 66971bae2..82b626709 100644 --- a/src/generated/resources/data/occultism/loot_table/blocks/otherworld_leaves_natural.json +++ b/src/generated/resources/data/occultism/loot_table/blocks/otherworld_leaves_natural.json @@ -53,7 +53,7 @@ } } ], - "name": "occultism:otherworld_sapling_natural" + "name": "minecraft:air" }, { "type": "minecraft:item", diff --git a/src/generated/resources/data/occultism/loot_table/blocks/otherworld_sapling_natural.json b/src/generated/resources/data/occultism/loot_table/blocks/otherworld_sapling_natural.json index bb2400fb7..805171c63 100644 --- a/src/generated/resources/data/occultism/loot_table/blocks/otherworld_sapling_natural.json +++ b/src/generated/resources/data/occultism/loot_table/blocks/otherworld_sapling_natural.json @@ -18,7 +18,7 @@ } } ], - "name": "occultism:otherworld_sapling_natural" + "name": "minecraft:air" }, { "type": "minecraft:item", diff --git a/src/generated/resources/data/occultism/loot_table/entities/marid_unbound.json b/src/generated/resources/data/occultism/loot_table/entities/marid_unbound.json new file mode 100644 index 000000000..3be8ddc34 --- /dev/null +++ b/src/generated/resources/data/occultism/loot_table/entities/marid_unbound.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.9 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "occultism:marid_essence" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "occultism:entities/marid_unbound" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/loot_table/entities/mercy_goat.json b/src/generated/resources/data/occultism/loot_table/entities/mercy_goat.json new file mode 100644 index 000000000..4bc4bc8ac --- /dev/null +++ b/src/generated/resources/data/occultism/loot_table/entities/mercy_goat.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "occultism:cruelty_essence" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "occultism:entities/mercy_goat" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/loot_table/entities/possessed_bee.json b/src/generated/resources/data/occultism/loot_table/entities/possessed_bee.json new file mode 100644 index 000000000..bf127d453 --- /dev/null +++ b/src/generated/resources/data/occultism/loot_table/entities/possessed_bee.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.5 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.3 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "occultism:cursed_honey" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "occultism:entities/possessed_bee" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/loot_table/entities/possessed_witch.json b/src/generated/resources/data/occultism/loot_table/entities/possessed_witch.json new file mode 100644 index 000000000..ae44c589c --- /dev/null +++ b/src/generated/resources/data/occultism/loot_table/entities/possessed_witch.json @@ -0,0 +1,42 @@ +{ + "type": "minecraft:entity", + "functions": [ + { + "count": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:experience_bottle", + "weight": 8 + }, + { + "type": "minecraft:item", + "name": "minecraft:honey_bottle", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "minecraft:ominous_bottle", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "minecraft:potion" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "occultism:entities/possessed_witch" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/loot_table/entities/possessed_zombie_piglin.json b/src/generated/resources/data/occultism/loot_table/entities/possessed_zombie_piglin.json new file mode 100644 index 000000000..43c530932 --- /dev/null +++ b/src/generated/resources/data/occultism/loot_table/entities/possessed_zombie_piglin.json @@ -0,0 +1,36 @@ +{ + "type": "minecraft:entity", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + }, + { + "count": { + "type": "minecraft:uniform", + "max": 1.0, + "min": 0.0 + }, + "enchantment": "minecraft:looting", + "function": "minecraft:enchanted_count_increase" + } + ], + "name": "occultism:demonic_meat" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "occultism:entities/possessed_zombie_piglin" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/loot_table/entities/wild_horde_drowned.json b/src/generated/resources/data/occultism/loot_table/entities/wild_horde_drowned.json index bcb367570..0baec3cdf 100644 --- a/src/generated/resources/data/occultism/loot_table/entities/wild_horde_drowned.json +++ b/src/generated/resources/data/occultism/loot_table/entities/wild_horde_drowned.json @@ -6,11 +6,12 @@ "entries": [ { "type": "minecraft:empty", - "weight": 3 + "weight": 2 }, { "type": "minecraft:item", - "name": "minecraft:sniffer_egg" + "name": "minecraft:sniffer_egg", + "weight": 2 }, { "type": "minecraft:item", diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/crafting_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/crafting_rituals.json index d236c3f79..f8449dee5 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/crafting_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/crafting_rituals.json @@ -5,8 +5,8 @@ "background_texture_zoom_multiplier": 1.0, "background_width": 512, "condition": { - "type": "modonomicon:entry_read", - "entry_id": "getting_started/intro" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" }, "description": "", "display_mode": "node", @@ -20,5 +20,5 @@ "max_scroll_y": 512, "name": "book.occultism.dictionary_of_spirits.crafting_rituals.name", "show_category_button": true, - "sort_number": 7 + "sort_number": 8 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/familiar_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/familiar_rituals.json index 0dc100f84..c2db3d1bf 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/familiar_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/familiar_rituals.json @@ -5,20 +5,20 @@ "background_texture_zoom_multiplier": 1.0, "background_width": 512, "condition": { - "type": "modonomicon:entry_read", - "entry_id": "getting_started/intro" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" }, "description": "", "display_mode": "node", "entry_textures": "modonomicon:textures/gui/entry_textures.png", "icon": { "height": 16, - "texture": "occultism:textures/gui/book/parrot.png", + "texture": "occultism:textures/gui/book/familiar.png", "width": 16 }, "max_scroll_x": 512, "max_scroll_y": 512, "name": "book.occultism.dictionary_of_spirits.familiar_rituals.name", "show_category_button": true, - "sort_number": 8 + "sort_number": 7 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/pentacles.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/pentacles.json index 9241a4097..dd67cf623 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/pentacles.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/pentacles.json @@ -12,11 +12,13 @@ "display_mode": "node", "entry_textures": "modonomicon:textures/gui/entry_textures.png", "icon": { - "item": "occultism:pentacle" + "height": 16, + "texture": "occultism:textures/gui/book/pentacle.png", + "width": 16 }, "max_scroll_x": 512, "max_scroll_y": 512, "name": "book.occultism.dictionary_of_spirits.pentacles.name", "show_category_button": true, - "sort_number": 9 + "sort_number": 4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/possession_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/possession_rituals.json index 5ca640fdd..d54ff9fe9 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/possession_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/possession_rituals.json @@ -5,8 +5,8 @@ "background_texture_zoom_multiplier": 1.0, "background_width": 512, "condition": { - "type": "modonomicon:entry_read", - "entry_id": "getting_started/intro" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" }, "description": "", "display_mode": "node", diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/rituals.json index 07a5ecfea..9dfa991d8 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/rituals.json @@ -20,5 +20,5 @@ "max_scroll_y": 512, "name": "book.occultism.dictionary_of_spirits.rituals.name", "show_category_button": true, - "sort_number": 4 + "sort_number": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/storage.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/storage.json index 66fb06d8e..eeb02156c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/storage.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/storage.json @@ -6,7 +6,7 @@ "background_width": 512, "condition": { "type": "modonomicon:entry_read", - "entry_id": "getting_started/intro" + "entry_id": "crafting_rituals/craft_storage_system" }, "description": "", "display_mode": "node", @@ -18,5 +18,5 @@ "max_scroll_y": 512, "name": "book.occultism.dictionary_of_spirits.storage.name", "show_category_button": true, - "sort_number": 3 + "sort_number": 9 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/summoning_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/summoning_rituals.json index 65e71f3b1..0e321bce3 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/summoning_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/categories/summoning_rituals.json @@ -5,8 +5,8 @@ "background_texture_zoom_multiplier": 1.0, "background_width": 512, "condition": { - "type": "modonomicon:entry_read", - "entry_id": "getting_started/intro" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/white" }, "description": "", "display_mode": "node", diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/apprentice_ritual_satchel.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/apprentice_ritual_satchel.json index d6cf21656..32cdbe030 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/apprentice_ritual_satchel.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/apprentice_ritual_satchel.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_djinni" }, "description": "book.occultism.dictionary_of_spirits.crafting_rituals.apprentice_ritual_satchel.description", "hide_while_locked": false, @@ -67,7 +68,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 19, + "sort_number": 20, "x": 3, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/artisanal_ritual_satchel.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/artisanal_ritual_satchel.json index f2092e27b..805d22d5e 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/artisanal_ritual_satchel.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/artisanal_ritual_satchel.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_afrit" }, "description": "book.occultism.dictionary_of_spirits.crafting_rituals.artisanal_ritual_satchel.description", "hide_while_locked": false, @@ -78,7 +79,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 20, + "sort_number": 21, "x": 5, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_afrit_miner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_afrit_miner.json index 82e8fa57e..81a86b62a 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_afrit_miner.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_afrit_miner.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_afrit" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_ancient_miner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_ancient_miner.json new file mode 100644 index 000000000..6ce1ab5dc --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_ancient_miner.json @@ -0,0 +1,52 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "crafting_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_eldritch_spirit" + }, + "description": "", + "hide_while_locked": false, + "icon": { + "item": "occultism:miner_ancient_eldritch" + }, + "name": "book.occultism.dictionary_of_spirits.crafting_rituals.craft_ancient_miner.name", + "pages": [ + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:miner_ancient_eldritch" + }, + "text": "book.occultism.dictionary_of_spirits.crafting_rituals.craft_ancient_miner.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_miner_ancient_eldritch", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "crafting_rituals/craft_afrit_miner", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 8, + "x": 4, + "y": -5 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_budding_amethyst.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_budding_amethyst.json new file mode 100644 index 000000000..fb391200a --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_budding_amethyst.json @@ -0,0 +1,52 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "crafting_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" + }, + "description": "", + "hide_while_locked": false, + "icon": { + "item": "minecraft:budding_amethyst" + }, + "name": "book.occultism.dictionary_of_spirits.crafting_rituals.craft_budding_amethyst.name", + "pages": [ + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "minecraft:budding_amethyst" + }, + "text": "book.occultism.dictionary_of_spirits.crafting_rituals.craft_budding_amethyst.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_budding_amethyst", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "crafting_rituals/overview", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 25, + "x": 3, + "y": -3 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_matrix.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_matrix.json index c8b5b0292..236769883 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_matrix.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_matrix.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -45,7 +42,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 9, + "sort_number": 10, "x": -2, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_mineshaft.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_mineshaft.json index 905c90969..f0222574d 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_mineshaft.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_dimensional_mineshaft.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_djinni_miner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_djinni_miner.json index 00cbace5b..42d6be220 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_djinni_miner.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_djinni_miner.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_familiar_ring.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_familiar_ring.json index a5d439bf0..f3c74eeca 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_familiar_ring.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_familiar_ring.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -56,7 +53,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 22, + "sort_number": 23, "x": -2, "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_foliot_miner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_foliot_miner.json index 3480c7636..0da00f49e 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_foliot_miner.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_foliot_miner.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_infused_pickaxe.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_infused_pickaxe.json index b271a0337..ac5b78b63 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_infused_pickaxe.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_infused_pickaxe.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_djinni" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_marid_miner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_marid_miner.json index 5291b956b..e4d6598cb 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_marid_miner.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_marid_miner.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_marid" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_otherworld_goggles.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_otherworld_goggles.json index d3938b1d1..7f71cad2c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_otherworld_goggles.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_otherworld_goggles.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_foliot" }, "description": "", "hide_while_locked": false, @@ -101,7 +102,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 17, + "sort_number": 18, "x": -6, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_reinforced_deepslate.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_reinforced_deepslate.json new file mode 100644 index 000000000..1a84a924a --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_reinforced_deepslate.json @@ -0,0 +1,52 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "crafting_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_eldritch_spirit" + }, + "description": "", + "hide_while_locked": true, + "icon": { + "item": "minecraft:reinforced_deepslate" + }, + "name": "book.occultism.dictionary_of_spirits.crafting_rituals.craft_reinforced_deepslate.name", + "pages": [ + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "minecraft:reinforced_deepslate" + }, + "text": "book.occultism.dictionary_of_spirits.crafting_rituals.craft_reinforced_deepslate.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_reinforced_deepslate", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "crafting_rituals/overview", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 26, + "x": 5, + "y": -3 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_satchel.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_satchel.json index 75a494669..1e779ec25 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_satchel.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_satchel.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_foliot" }, "description": "", "hide_while_locked": false, @@ -45,7 +46,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 18, + "sort_number": 19, "x": 1, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_soul_gem.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_soul_gem.json index e1168f568..2aab73ae4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_soul_gem.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_soul_gem.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_djinni" }, "description": "", "hide_while_locked": false, @@ -56,7 +57,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 21, + "sort_number": 22, "x": -4, "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier1.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier1.json index fe4dcce20..a3847d717 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier1.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier1.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -45,7 +42,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 11, + "sort_number": 12, "x": -2, "y": 5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier2.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier2.json index f18679255..4529e6781 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier2.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier2.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -45,7 +42,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 12, + "sort_number": 13, "x": 0, "y": 5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier3.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier3.json index 8a8191f10..a60d5dc8e 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier3.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier3.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_afrit" }, "description": "", "hide_while_locked": false, @@ -45,7 +46,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 13, + "sort_number": 14, "x": 2, "y": 5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier4.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier4.json index 4619b39ee..874db5975 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier4.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stabilizer_tier4.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_marid" }, "description": "", "hide_while_locked": false, @@ -45,7 +46,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 14, + "sort_number": 15, "x": 4, "y": 5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stable_wormhole.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stable_wormhole.json index ca95e89d0..f942c648f 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stable_wormhole.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_stable_wormhole.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -45,7 +42,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 15, + "sort_number": 16, "x": 0, "y": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_controller_base.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_controller_base.json index 66cbaf40a..5225cb6f3 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_controller_base.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_controller_base.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -45,7 +42,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 10, + "sort_number": 11, "x": -2, "y": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_remote.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_remote.json index ae1a9eef5..ed2292dc1 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_remote.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_remote.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "crafting_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -39,13 +36,13 @@ "parents": [ { "draw_arrow": true, - "entry": "crafting_rituals/craft_stable_wormhole", + "entry": "crafting_rituals/craft_storage_controller_base", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": 16, - "x": 2, + "sort_number": 17, + "x": -4, "y": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_system.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_system.json index 903c9e11a..f2c7df6cc 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_system.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_storage_system.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_djinni" }, "description": "", "hide_while_locked": false, @@ -34,7 +35,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 8, + "sort_number": 9, "x": -4, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_wild_trim.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_wild_trim.json index be5eb0e23..e3f0ece46 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_wild_trim.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/craft_wild_trim.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" }, "description": "", "hide_while_locked": false, @@ -45,7 +46,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 23, + "sort_number": 24, "x": 1, "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/overview.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/overview.json index a5d034cb3..3f0c818ea 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/overview.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/overview.json @@ -3,7 +3,8 @@ "background_v_index": 1, "category": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/repair.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/repair.json new file mode 100644 index 000000000..7fb8fd4df --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/repair.json @@ -0,0 +1,85 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "crafting_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_djinni" + }, + "description": "", + "hide_while_locked": false, + "icon": { + "item": "occultism:repair_icon" + }, + "name": "book.occultism.dictionary_of_spirits.crafting_rituals.repair.name", + "pages": [ + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "minecraft:anvil" + }, + "text": "book.occultism.dictionary_of_spirits.crafting_rituals.repair.spotlight.text", + "title": "book.occultism.dictionary_of_spirits.crafting_rituals.repair.spotlight.title" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/repair_chalks", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/repair_miners", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/repair_tools", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/repair_armors", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "crafting_rituals/overview", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 27, + "x": 7, + "y": -1 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/return_to_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/return_to_rituals.json index 4faf76bc2..29e081669 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/return_to_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/crafting_rituals/return_to_rituals.json @@ -4,7 +4,8 @@ "category": "crafting_rituals", "category_to_open": "rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/demonic_partner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/demonic_partner.json index ee9cf74a1..89890eab7 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/demonic_partner.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/demonic_partner.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_djinni" }, "description": "book.occultism.dictionary_of_spirits.familiar_rituals.demonic_partner.description", "hide_while_locked": false, @@ -130,6 +131,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": 21, - "x": 2, - "y": -2 + "x": 4, + "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_bat.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_bat.json index 0d45c97e2..eb4edfd1b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_bat.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_bat.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 3, - "x": -6, - "y": 2 + "sort_number": 4, + "x": 1, + "y": 4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beaver.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beaver.json index 720a98353..22c3ee12c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beaver.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beaver.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 4, + "sort_number": 5, "x": -5, - "y": 4 + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beholder.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beholder.json index cc4e7cd6b..a3e5440eb 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beholder.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_beholder.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 5, + "sort_number": 6, "x": -4, "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_blacksmith.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_blacksmith.json index ac742ea6f..fbdd6665c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_blacksmith.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_blacksmith.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -71,7 +72,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 6, - "x": -3, - "y": 4 + "sort_number": 7, + "x": -2, + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_chimera.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_chimera.json index ac6f13b00..294f3c14e 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_chimera.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_chimera.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -71,7 +72,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 7, - "x": -2, - "y": 2 + "sort_number": 8, + "x": 0, + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_cthulhu.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_cthulhu.json index 93f9ae5d5..d4222f93a 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_cthulhu.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_cthulhu.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 8, - "x": -1, - "y": 4 + "sort_number": 9, + "x": -2, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_deer.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_deer.json index 13b70251e..650326239 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_deer.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_deer.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 9, - "x": 0, - "y": 2 + "sort_number": 10, + "x": -3, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_devil.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_devil.json index c31e6ab18..05c413d32 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_devil.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_devil.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 10, - "x": 1, - "y": 4 + "sort_number": 11, + "x": 2, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_dragon.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_dragon.json index 071648408..bff7801c1 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_dragon.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_dragon.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 11, - "x": -6, - "y": -2 + "sort_number": 12, + "x": 0, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_fairy.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_fairy.json index 122237313..3e0b92721 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_fairy.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_fairy.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 12, + "sort_number": 13, "x": -5, - "y": -4 + "y": 4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_greedy.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_greedy.json index 8f07aa7f8..15489b25a 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_greedy.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_greedy.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 13, + "sort_number": 14, "x": -4, "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_guardian.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_guardian.json index 994c30438..aaf23a060 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_guardian.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_guardian.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_afrit" }, "description": "", "hide_while_locked": false, @@ -71,7 +72,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 14, - "x": -3, - "y": -4 + "sort_number": 15, + "x": 2, + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_headless.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_headless.json index 709d9dc34..b78a4cd9b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_headless.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_headless.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 15, - "x": -2, - "y": -2 + "sort_number": 16, + "x": -3, + "y": 4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_mummy.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_mummy.json index edb928e61..f99549186 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_mummy.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_mummy.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 16, + "sort_number": 17, "x": -1, - "y": -4 + "y": 4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_otherworld_bird.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_otherworld_bird.json index 188da6657..d02583003 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_otherworld_bird.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_otherworld_bird.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -71,7 +72,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 17, - "x": 0, - "y": -2 + "sort_number": 18, + "x": -6, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_parrot.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_parrot.json index 77935690a..29daf8fa0 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_parrot.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_parrot.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -71,7 +72,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 18, - "x": 1, - "y": -4 + "sort_number": 19, + "x": -6, + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_shub_niggurath.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_shub_niggurath.json index 6b3496f62..92420353f 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_shub_niggurath.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/familiar_shub_niggurath.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "familiar_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -54,13 +51,13 @@ "parents": [ { "draw_arrow": true, - "entry": "familiar_rituals/overview", + "entry": "familiar_rituals/familiar_chimera", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": 19, - "x": 2, - "y": 2 + "sort_number": 20, + "x": 0, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/overview.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/overview.json index 47e4c1e5e..ba26aa0c7 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/overview.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/overview.json @@ -3,13 +3,14 @@ "background_v_index": 1, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, "icon": { "height": 16, - "texture": "occultism:textures/gui/book/parrot.png", + "texture": "occultism:textures/gui/book/familiar.png", "width": 16 }, "name": "book.occultism.dictionary_of_spirits.familiar_rituals.overview.name", diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/summon_allay.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrect_allay.json similarity index 83% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/summon_allay.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrect_allay.json index 280242db1..8b32bb6a4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/summon_allay.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrect_allay.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/resurrect_spirit" }, "description": "", "hide_while_locked": false, @@ -12,7 +13,7 @@ "texture": "occultism:textures/gui/book/allay.png", "width": 16 }, - "name": "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.name", + "name": "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.name", "pages": [ { "type": "modonomicon:entity", @@ -26,7 +27,7 @@ "offset": 0.0, "rotate": true, "scale": 1.0, - "text": "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.entity.text" + "text": "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.entity.text" }, { "type": "occultism:ritual_recipe", @@ -34,7 +35,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_allay", + "recipe_id_1": "occultism:ritual/resurrect_allay", "text": "", "title1": "", "title2": "" @@ -46,7 +47,7 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.familiar_rituals.summon_allay.description.text", + "text": "book.occultism.dictionary_of_spirits.familiar_rituals.resurrect_allay.description.text", "title": "", "use_markdown_in_title": false } @@ -60,7 +61,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": 20, - "x": 4, - "y": 0 + "sort_number": 3, + "x": -8, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrection.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrection.json index 6529bc02c..d653f9c78 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrection.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/resurrection.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "familiar_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/resurrect_spirit" + }, "description": "book.occultism.dictionary_of_spirits.familiar_rituals.resurrection.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/return_to_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/return_to_rituals.json index e0e5a6aeb..e78080696 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/return_to_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/familiar_rituals/return_to_rituals.json @@ -4,7 +4,8 @@ "category": "familiar_rituals", "category_to_open": "rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/chalks.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/chalks.json index 6689aa2d4..e5886ca05 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/chalks.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/chalks.json @@ -20,84 +20,6 @@ "title": "book.occultism.dictionary_of_spirits.getting_started.chalks.intro.title", "use_markdown_in_title": false }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_gold_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "occultism:spirit_fire_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:spirit_fire/chalk_gold", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_purple_impure", - "text": "book.occultism.dictionary_of_spirits.getting_started.chalks.impure_purple_chalk_recipe.text", - "title1": "", - "title2": "" - }, - { - "type": "occultism:spirit_fire_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:spirit_fire/chalk_purple", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_red_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "occultism:spirit_fire_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:spirit_fire/chalk_red", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:spotlight", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "item": { - "item": "occultism:afrit_essence" - }, - "text": "book.occultism.dictionary_of_spirits.getting_started.chalks.afrit_essence.text", - "title": "" - }, { "type": "modonomicon:text", "anchor": "", @@ -105,141 +27,9 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.getting_started.chalks.decoColors.text", - "title": "book.occultism.dictionary_of_spirits.getting_started.chalks.decoColors.title", + "text": "book.occultism.dictionary_of_spirits.getting_started.chalks.more.text", + "title": "book.occultism.dictionary_of_spirits.getting_started.chalks.more.title", "use_markdown_in_title": false - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_light_gray_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_gray_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_black_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_brown_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_orange_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_lime_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_green_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_cyan_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_blue_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_light_blue_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_pink_impure", - "text": "", - "title1": "", - "title2": "" - }, - { - "type": "modonomicon:crafting_recipe", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "recipe_id_1": "occultism:crafting/chalk_magenta_impure", - "text": "", - "title1": "", - "title2": "" } ], "parents": [ diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/crafting_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/crafting_rituals.json index c0d9b08a2..9ab08152d 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/crafting_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/crafting_rituals.json @@ -2,6 +2,10 @@ "background_u_index": 1, "background_v_index": 1, "category": "getting_started", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.crafting_rituals.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/familiar_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/familiar_rituals.json index 79e767039..fe2616494 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/familiar_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/familiar_rituals.json @@ -2,11 +2,15 @@ "background_u_index": 1, "background_v_index": 1, "category": "getting_started", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.familiar_rituals.description", "hide_while_locked": false, "icon": { "height": 16, - "texture": "occultism:textures/gui/book/parrot.png", + "texture": "occultism:textures/gui/book/familiar.png", "width": 16 }, "name": "book.occultism.dictionary_of_spirits.getting_started.familiar_rituals.name", diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/first_ritual.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/first_ritual.json index 4ae4bee53..0bb3a1c87 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/first_ritual.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/first_ritual.json @@ -5,7 +5,7 @@ "description": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, "name": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.name", "pages": [ @@ -121,6 +121,31 @@ "text": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.redstone.text", "title": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.redstone.title", "use_markdown_in_title": false + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.clone_redstone.text", + "title": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.clone_redstone.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:image", + "anchor": "", + "border": true, + "condition": { + "type": "modonomicon:none" + }, + "images": [ + "occultism:textures/gui/book/redstone_clone.png" + ], + "text": "book.occultism.dictionary_of_spirits.getting_started.first_ritual.clone_placement.text", + "title": "", + "use_legacy_rendering": false } ], "parents": [ diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/otherworld_goggles.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/otherworld_goggles.json index 31f67e4dc..28eb2c1e1 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/otherworld_goggles.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/otherworld_goggles.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "getting_started", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.otherworld_goggles.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/possession_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/possession_rituals.json index 52b292d1d..37d1b059b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/possession_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/possession_rituals.json @@ -2,6 +2,10 @@ "background_u_index": 1, "background_v_index": 1, "category": "getting_started", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.possession_rituals.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/ritual_satchels.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/ritual_satchels.json index 9d842e75e..4e8d616a4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/ritual_satchels.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/ritual_satchels.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "getting_started", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.ritual_satchels.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/storage.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/storage.json index 56c32a36a..68a50ff53 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/storage.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/storage.json @@ -3,6 +3,10 @@ "background_v_index": 1, "category": "getting_started", "category_to_open": "storage", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.storage.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/summoning_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/summoning_rituals.json index b0aba7de0..6c7940bb3 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/summoning_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/getting_started/summoning_rituals.json @@ -2,6 +2,10 @@ "background_u_index": 1, "background_v_index": 1, "category": "getting_started", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/white" + }, "description": "book.occultism.dictionary_of_spirits.getting_started.summoning_rituals.description", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/black_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/black_chalk.json new file mode 100644 index 000000000..9ce149d8f --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/black_chalk.json @@ -0,0 +1,85 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_afrit" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.black_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_black" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.black_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.black_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.black_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_black" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.black_chalk.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_witherite_dust", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_black_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_black", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/gray_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 27, + "x": 7, + "y": -6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/blue_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/blue_chalk.json new file mode 100644 index 000000000..198bad569 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/blue_chalk.json @@ -0,0 +1,74 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_unbound_marid" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_blue" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_blue" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.blue_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_blue_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_blue", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/red_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 29, + "x": 10, + "y": 2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/brown_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/brown_chalk.json new file mode 100644 index 000000000..a5eaf906a --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/brown_chalk.json @@ -0,0 +1,70 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_brown" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_brown" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.brown_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_brown_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_brown", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/possess_marid", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 33, + "x": 10, + "y": 4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/chalk_uses.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/chalk_uses.json deleted file mode 100644 index 44cca792a..000000000 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/chalk_uses.json +++ /dev/null @@ -1,153 +0,0 @@ -{ - "background_u_index": 0, - "background_v_index": 0, - "category": "pentacles", - "condition": { - "type": "modonomicon:true" - }, - "description": "", - "hide_while_locked": false, - "icon": { - "item": "occultism:chalk_purple" - }, - "name": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.name", - "pages": [ - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.intro.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.intro.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.intro2.text", - "title": "", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:spotlight", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "item": { - "item": "occultism:chalk_white" - }, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk.text", - "title": "" - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses2.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.white_chalk_uses2.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:spotlight", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "item": { - "item": "occultism:chalk_gold" - }, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.golden_chalk.text", - "title": "" - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.golden_chalk_uses.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.golden_chalk_uses.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:spotlight", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "item": { - "item": "occultism:chalk_purple" - }, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.purple_chalk.text", - "title": "" - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.purple_chalk_uses.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.purple_chalk_uses.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:spotlight", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "item": { - "item": "occultism:chalk_red" - }, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.red_chalk.text", - "title": "" - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.red_chalk_uses.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.chalk_uses.red_chalk_uses.title", - "use_markdown_in_title": false - } - ], - "parents": [ - { - "draw_arrow": true, - "entry": "pentacles/pentacles_overview", - "line_enabled": true, - "line_reversed": false - } - ], - "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -8, - "y": 2 -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/contact_eldritch_spirit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/contact_eldritch_spirit.json new file mode 100644 index 000000000..bbb183263 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/contact_eldritch_spirit.json @@ -0,0 +1,87 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/magenta" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/brown" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/cyan" + } + ] + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.description", + "hide_while_locked": true, + "icon": { + "item": "occultism:pentacle_misc" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.intro.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:multiblock", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "multiblock_id": "contact_eldritch_spirit", + "multiblock_name": "", + "show_visualize_button": true, + "text": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.contact_eldritch_spirit.uses.title", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/magenta_chalk", + "line_enabled": true, + "line_reversed": true + }, + { + "draw_arrow": true, + "entry": "pentacles/brown_chalk", + "line_enabled": true, + "line_reversed": false + }, + { + "draw_arrow": true, + "entry": "pentacles/cyan_chalk", + "line_enabled": true, + "line_reversed": true + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 36, + "x": 10, + "y": 6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/contact_wild_spirit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/contact_wild_spirit.json new file mode 100644 index 000000000..284ec9634 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/contact_wild_spirit.json @@ -0,0 +1,87 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/pink" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/green" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/light_blue" + } + ] + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:pentacle_misc" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.intro.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:multiblock", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "multiblock_id": "contact_wild_spirit", + "multiblock_name": "", + "show_visualize_button": true, + "text": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.contact_wild_spirit.uses.title", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/pink_chalk", + "line_enabled": true, + "line_reversed": true + }, + { + "draw_arrow": true, + "entry": "pentacles/green_chalk", + "line_enabled": true, + "line_reversed": true + }, + { + "draw_arrow": true, + "entry": "pentacles/light_blue_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 23, + "x": 1, + "y": 6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_afrit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_afrit.json index 7205d6192..4f1bee977 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_afrit.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/red" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_craft" }, "name": "book.occultism.dictionary_of_spirits.pentacles.craft_afrit.name", "pages": [ @@ -55,7 +56,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -2, - "y": 2 + "sort_number": 26, + "x": 4, + "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_djinni.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_djinni.json index bb8e17333..97d8097c6 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_djinni.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_djinni.json @@ -3,12 +3,22 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/light_gray" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/lime" + } + ] }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_craft" }, "name": "book.occultism.dictionary_of_spirits.pentacles.craft_djinni.name", "pages": [ @@ -55,7 +65,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -4, - "y": 2 + "sort_number": 17, + "x": -2, + "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_foliot.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_foliot.json index 3585681a3..78317af8b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_foliot.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_foliot.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_craft" }, "name": "book.occultism.dictionary_of_spirits.pentacles.craft_foliot.name", "pages": [ @@ -49,13 +50,13 @@ "parents": [ { "draw_arrow": true, - "entry": "pentacles/pentacles_overview", + "entry": "pentacles/purple_chalk", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -6, - "y": 2 + "sort_number": 9, + "x": -5, + "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_marid.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_marid.json index 9b7974ba0..8fa4327d3 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_marid.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/craft_marid.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/blue" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.craft_marid.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_craft" }, "name": "book.occultism.dictionary_of_spirits.pentacles.craft_marid.name", "pages": [ @@ -55,7 +56,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": 0, - "y": 2 + "sort_number": 34, + "x": 10, + "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/cyan_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/cyan_chalk.json new file mode 100644 index 000000000..2556493d7 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/cyan_chalk.json @@ -0,0 +1,70 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_cyan" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_cyan" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_cyan_impure", + "text": "book.occultism.dictionary_of_spirits.pentacles.cyan_chalk.recipe_impure.text", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_cyan", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/summon_marid", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 31, + "x": 11, + "y": 4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/didactics.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/didactics.json new file mode 100644 index 000000000..8bde2aec2 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/didactics.json @@ -0,0 +1,47 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.didactics.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:brush" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.didactics.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.didactics.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.didactics.intro.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.didactics.table.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.didactics.table.title", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/pentacle_overview", + "line_enabled": true, + "line_reversed": true + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 2, + "x": -8, + "y": -4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/gray_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/gray_chalk.json new file mode 100644 index 000000000..f405911ab --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/gray_chalk.json @@ -0,0 +1,85 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_djinni" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_gray" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_gray" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.gray_chalk.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_gray_paste", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_gray_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_gray", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/light_gray_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 18, + "x": 1, + "y": -6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/green_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/green_chalk.json new file mode 100644 index 000000000..faff37b4c --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/green_chalk.json @@ -0,0 +1,81 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.green_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_green" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.green_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.green_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.green_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_green" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.green_chalk.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_nature_paste", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_green_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_green", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/craft_foliot", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 11, + "x": 0, + "y": 4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/light_blue_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/light_blue_chalk.json new file mode 100644 index 000000000..6b1c521c6 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/light_blue_chalk.json @@ -0,0 +1,74 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_djinni" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_light_blue" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_light_blue" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_light_blue_impure", + "text": "book.occultism.dictionary_of_spirits.pentacles.light_blue_chalk.recipe_impure.text", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_light_blue", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/summon_djinni", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 14, + "x": 1, + "y": 4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/light_gray_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/light_gray_chalk.json new file mode 100644 index 000000000..6cd430c9c --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/light_gray_chalk.json @@ -0,0 +1,74 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_light_gray" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_light_gray" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.light_gray_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_light_gray_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_light_gray", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/white_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 5, + "x": -2, + "y": -6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/lime_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/lime_chalk.json new file mode 100644 index 000000000..c244fcd73 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/lime_chalk.json @@ -0,0 +1,85 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_foliot" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_lime" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_lime" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.lime_chalk.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_research_fragment_dust", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_lime_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_lime", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/purple_chalk", + "line_enabled": true, + "line_reversed": true + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 10, + "x": -2, + "y": 2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/magenta_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/magenta_chalk.json new file mode 100644 index 000000000..4c74f9719 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/magenta_chalk.json @@ -0,0 +1,81 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_magenta" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_magenta" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.magenta_chalk.spotlight.text", + "title": "" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/craft_dragonyst_dust", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_magenta_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_magenta", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/craft_marid", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 35, + "x": 9, + "y": 4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/orange_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/orange_chalk.json new file mode 100644 index 000000000..1ba21484e --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/orange_chalk.json @@ -0,0 +1,74 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_orange" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_orange" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.orange_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_orange_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_orange", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/lime_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 16, + "x": 1, + "y": 2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/paraphernalia.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/paraphernalia.json index d56fbc13f..9b78d0d46 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/paraphernalia.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/paraphernalia.json @@ -2,10 +2,7 @@ "background_u_index": 0, "background_v_index": 0, "category": "pentacles", - "condition": { - "type": "modonomicon:true" - }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.description", "hide_while_locked": false, "icon": { "item": "minecraft:skeleton_skull" @@ -35,6 +32,18 @@ "text": "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.candle.text", "title": "" }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "minecraft:skeleton_skull" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.skull.text", + "title": "" + }, { "type": "modonomicon:spotlight", "anchor": "", @@ -76,22 +85,22 @@ "type": "modonomicon:none" }, "item": { - "item": "minecraft:skeleton_skull" + "item": "minecraft:wither_skeleton_skull" }, - "text": "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.skeleton_skull.text", + "text": "book.occultism.dictionary_of_spirits.pentacles.paraphernalia.wither_skull.text", "title": "" } ], "parents": [ { "draw_arrow": true, - "entry": "pentacles/pentacles_overview", + "entry": "pentacles/pentacle_overview", "line_enabled": true, - "line_reversed": false + "line_reversed": true } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -8, - "y": -2 + "sort_number": 1, + "x": -11, + "y": -1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pentacle_overview.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pentacle_overview.json new file mode 100644 index 000000000..e11af2222 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pentacle_overview.json @@ -0,0 +1,63 @@ +{ + "background_u_index": 0, + "background_v_index": 1, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.description", + "hide_while_locked": false, + "icon": { + "height": 16, + "texture": "occultism:textures/gui/book/pentacle.png", + "width": 16 + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro1.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro1.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro2.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro2.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro3.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro3.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro4.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.pentacle_overview.intro4.title", + "use_markdown_in_title": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 0, + "x": -11, + "y": -3 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pentacles_overview.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pentacles_overview.json deleted file mode 100644 index 76cbde6a1..000000000 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pentacles_overview.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "background_u_index": 0, - "background_v_index": 1, - "category": "pentacles", - "condition": { - "type": "modonomicon:true" - }, - "description": "", - "hide_while_locked": false, - "icon": { - "item": "occultism:spirit_attuned_crystal" - }, - "name": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.name", - "pages": [ - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro1.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro1.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro2.text", - "title": "", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro3.text", - "title": "", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.intro4.text", - "title": "", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:image", - "anchor": "", - "border": true, - "condition": { - "type": "modonomicon:none" - }, - "images": [ - "occultism:textures/gui/book/bowl_placement.png" - ], - "text": "", - "title": "", - "use_legacy_rendering": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.bowl_text.text", - "title": "", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.summoning_pentacles.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.summoning_pentacles.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.infusion_pentacles.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.infusion_pentacles.title", - "use_markdown_in_title": false - }, - { - "type": "modonomicon:text", - "anchor": "", - "condition": { - "type": "modonomicon:none" - }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.possession_pentacles.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.pentacles_overview.possession_pentacles.title", - "use_markdown_in_title": false - } - ], - "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -8, - "y": 0 -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pink_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pink_chalk.json new file mode 100644 index 000000000..f896233eb --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/pink_chalk.json @@ -0,0 +1,70 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "description": "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_pink" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_pink" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.pink_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_pink_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_pink", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/possess_unbound_afrit", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 22, + "x": 2, + "y": 4 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_afrit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_afrit.json index d125b349d..248d6ef8c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_afrit.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/red" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_possess" }, "name": "book.occultism.dictionary_of_spirits.pentacles.possess_afrit.name", "pages": [ @@ -49,13 +50,13 @@ "parents": [ { "draw_arrow": true, - "entry": "pentacles/possess_djinni", + "entry": "pentacles/possess_unbound_afrit", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": 0, - "y": 0 + "sort_number": 25, + "x": 4, + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_djinni.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_djinni.json index 0982e039e..36a4aa3a1 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_djinni.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_djinni.json @@ -3,12 +3,22 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/light_gray" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/lime" + } + ] }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_possess" }, "name": "book.occultism.dictionary_of_spirits.pentacles.possess_djinni.name", "pages": [ @@ -66,7 +76,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, + "sort_number": 15, "x": -2, - "y": 0 + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_foliot.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_foliot.json index ea77fa7cf..03cad44bf 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_foliot.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_foliot.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_possess" }, "name": "book.occultism.dictionary_of_spirits.pentacles.possess_foliot.name", "pages": [ @@ -49,13 +50,13 @@ "parents": [ { "draw_arrow": true, - "entry": "pentacles/pentacles_overview", + "entry": "pentacles/yellow_chalk", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -4, - "y": 0 + "sort_number": 7, + "x": -5, + "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_marid.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_marid.json new file mode 100644 index 000000000..e53ebbde3 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_marid.json @@ -0,0 +1,62 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/blue" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.possess_marid.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:pentacle_possess" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.possess_marid.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.possess_marid.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.possess_marid.intro.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:multiblock", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "multiblock_id": "possess_marid", + "multiblock_name": "", + "show_visualize_button": true, + "text": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.possess_marid.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.possess_marid.uses.title", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/possess_afrit", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 32, + "x": 10, + "y": -2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_unbound_afrit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_unbound_afrit.json new file mode 100644 index 000000000..317d741d1 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/possess_unbound_afrit.json @@ -0,0 +1,71 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/gray" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/orange" + } + ] + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:pentacle_possess" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.intro.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:multiblock", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "multiblock_id": "possess_unbound_afrit", + "multiblock_name": "", + "show_visualize_button": true, + "text": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.possess_unbound_afrit.uses.title", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/possess_djinni", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 21, + "x": 1, + "y": -2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/purple_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/purple_chalk.json new file mode 100644 index 000000000..21aa4c9eb --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/purple_chalk.json @@ -0,0 +1,74 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_purple" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_purple" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_purple_impure", + "text": "book.occultism.dictionary_of_spirits.pentacles.purple_chalk.recipe_impure.text", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_purple", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/yellow_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 8, + "x": -8, + "y": 0 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/red_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/red_chalk.json new file mode 100644 index 000000000..dac8bc11f --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/red_chalk.json @@ -0,0 +1,86 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_unbound_afrit" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.red_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_red" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.red_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.red_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.red_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_red" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.red_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:afrit_essence" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.red_chalk.essence.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_red_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_red", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/orange_chalk", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 20, + "x": 4, + "y": 2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/resurrect_spirit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/resurrect_spirit.json new file mode 100644 index 000000000..6af4d75cd --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/resurrect_spirit.json @@ -0,0 +1,62 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:pentacle_misc" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.intro.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:multiblock", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "multiblock_id": "resurrect_spirit", + "multiblock_name": "", + "show_visualize_button": true, + "text": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.resurrect_spirit.uses.title", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/possess_foliot", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 12, + "x": -5, + "y": 6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_afrit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_afrit.json index 319e3c443..608ae11e1 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_afrit.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/red" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, "name": "book.occultism.dictionary_of_spirits.pentacles.summon_afrit.name", "pages": [ @@ -49,13 +50,13 @@ "parents": [ { "draw_arrow": true, - "entry": "pentacles/summon_wild_afrit", + "entry": "pentacles/summon_unbound_afrit", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": 0, - "y": -2 + "sort_number": 24, + "x": 4, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_djinni.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_djinni.json index 7fd20b123..fe5b151b6 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_djinni.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_djinni.json @@ -3,12 +3,22 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/light_gray" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/lime" + } + ] }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, "name": "book.occultism.dictionary_of_spirits.pentacles.summon_djinni.name", "pages": [ @@ -55,7 +65,7 @@ } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -4, - "y": -2 + "sort_number": 13, + "x": -2, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_foliot.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_foliot.json index 1e3ab946d..91ba19865 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_foliot.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_foliot.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/white" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, "name": "book.occultism.dictionary_of_spirits.pentacles.summon_foliot.name", "pages": [ @@ -49,13 +50,13 @@ "parents": [ { "draw_arrow": true, - "entry": "pentacles/pentacles_overview", + "entry": "pentacles/didactics", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -6, - "y": -2 + "sort_number": 4, + "x": -5, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_marid.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_marid.json index 298d2e5de..7b325dc9a 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_marid.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_marid.json @@ -3,12 +3,13 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/blue" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.summon_marid.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, "name": "book.occultism.dictionary_of_spirits.pentacles.summon_marid.name", "pages": [ @@ -49,13 +50,13 @@ "parents": [ { "draw_arrow": true, - "entry": "pentacles/summon_afrit", + "entry": "pentacles/summon_unbound_marid", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": 2, - "y": -2 + "sort_number": 30, + "x": 10, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_wild_greater_spirit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_unbound_afrit.json similarity index 64% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_wild_greater_spirit.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_unbound_afrit.json index 7e43ec64b..e5541e41c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_wild_greater_spirit.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_unbound_afrit.json @@ -3,14 +3,24 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:and", + "children": [ + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/gray" + }, + { + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/orange" + } + ] }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, - "name": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.name", + "name": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.name", "pages": [ { "type": "modonomicon:text", @@ -19,8 +29,8 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.intro.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.intro.title", + "text": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.intro.title", "use_markdown_in_title": false }, { @@ -29,7 +39,7 @@ "condition": { "type": "modonomicon:none" }, - "multiblock_id": "summon_wild_greater_spirit", + "multiblock_id": "summon_unbound_afrit", "multiblock_name": "", "show_visualize_button": true, "text": "" @@ -41,21 +51,21 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.uses.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_greater_spirit.uses.title", + "text": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_afrit.uses.title", "use_markdown_in_title": false } ], "parents": [ { "draw_arrow": true, - "entry": "pentacles/summon_marid", + "entry": "pentacles/summon_djinni", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": 4, - "y": -2 + "sort_number": 19, + "x": 1, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_wild_afrit.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_unbound_marid.json similarity index 71% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_wild_afrit.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_unbound_marid.json index df550fa3e..36d0fd1a4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_wild_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/summon_unbound_marid.json @@ -3,14 +3,15 @@ "background_v_index": 0, "category": "pentacles", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/black" }, - "description": "", + "description": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.description", "hide_while_locked": false, "icon": { - "item": "occultism:pentacle" + "item": "occultism:pentacle_summon" }, - "name": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.name", + "name": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.name", "pages": [ { "type": "modonomicon:text", @@ -19,8 +20,8 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.intro.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.intro.title", + "text": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.intro.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.intro.title", "use_markdown_in_title": false }, { @@ -29,7 +30,7 @@ "condition": { "type": "modonomicon:none" }, - "multiblock_id": "summon_wild_afrit", + "multiblock_id": "summon_unbound_marid", "multiblock_name": "", "show_visualize_button": true, "text": "" @@ -41,21 +42,21 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.uses.text", - "title": "book.occultism.dictionary_of_spirits.pentacles.summon_wild_afrit.uses.title", + "text": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.uses.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.summon_unbound_marid.uses.title", "use_markdown_in_title": false } ], "parents": [ { "draw_arrow": true, - "entry": "pentacles/summon_djinni", + "entry": "pentacles/summon_afrit", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, - "sort_number": -1, - "x": -2, - "y": -2 + "sort_number": 28, + "x": 7, + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/white_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/white_chalk.json new file mode 100644 index 000000000..69076d503 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/white_chalk.json @@ -0,0 +1,74 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/didactics" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.white_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_white" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.white_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.white_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.white_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_white" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.white_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_white_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_white", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/didactics", + "line_enabled": true, + "line_reversed": true + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 3, + "x": -5, + "y": -6 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/yellow_chalk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/yellow_chalk.json new file mode 100644 index 000000000..ab5acf9e5 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/pentacles/yellow_chalk.json @@ -0,0 +1,80 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "pentacles", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" + }, + "description": "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.description", + "hide_while_locked": false, + "icon": { + "item": "occultism:chalk_gold" + }, + "name": "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.name", + "pages": [ + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.lore.text", + "title": "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.lore.title", + "use_markdown_in_title": false + }, + { + "type": "modonomicon:spotlight", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "item": { + "item": "occultism:chalk_gold" + }, + "text": "book.occultism.dictionary_of_spirits.pentacles.yellow_chalk.spotlight.text", + "title": "" + }, + { + "type": "modonomicon:crafting_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:crafting/chalk_yellow_impure", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "occultism:spirit_fire_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:spirit_fire/chalk_yellow", + "text": "", + "title1": "", + "title2": "" + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "pentacles/didactics", + "line_enabled": true, + "line_reversed": false + }, + { + "draw_arrow": true, + "entry": "pentacles/white_chalk", + "line_enabled": false, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": 6, + "x": -8, + "y": -2 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_creeper.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_creeper.json index 1ae8b70c8..ac7d3c842 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_creeper.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_creeper.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" }, "description": "", "hide_while_locked": false, @@ -32,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_creeper", + "recipe_id_1": "occultism:ritual/wild_creeper", "text": "", "title1": "", "title2": "" diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_drowned.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_drowned.json index 977380592..bae2a6e9d 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_drowned.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_drowned.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" }, "description": "", "hide_while_locked": false, @@ -32,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_drowned", + "recipe_id_1": "occultism:ritual/wild_drowned", "text": "", "title1": "", "title2": "" diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_husk.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_husk.json index d8c5c5ce8..f51691fa0 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_husk.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_husk.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" }, "description": "", "hide_while_locked": false, @@ -32,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_husk", + "recipe_id_1": "occultism:ritual/wild_husk", "text": "", "title1": "", "title2": "" diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_illager.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_illager.json index 98a4cc7b3..5af567570 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_illager.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_illager.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" + }, "description": "", "hide_while_locked": false, "icon": { @@ -29,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_horde_illager", + "recipe_id_1": "occultism:ritual/wild_horde_illager", "text": "", "title1": "", "title2": "" @@ -56,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -6, - "y": 1 + "x": -5, + "y": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_silverfish.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_silverfish.json index 9e9889076..2900ad15f 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_silverfish.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/horde_silverfish.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" }, "description": "", "hide_while_locked": false, @@ -32,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_silverfish", + "recipe_id_1": "occultism:ritual/wild_silverfish", "text": "", "title1": "", "title2": "" diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/overview.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/overview.json index 60ebe33a9..c5f5f8def 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/overview.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/overview.json @@ -3,7 +3,8 @@ "background_v_index": 1, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_bee.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_bee.json new file mode 100644 index 000000000..6b98e5c3a --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_bee.json @@ -0,0 +1,65 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" + }, + "description": "", + "hide_while_locked": false, + "icon": { + "item": "occultism:cursed_honey" + }, + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_bee.name", + "pages": [ + { + "type": "modonomicon:entity", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "default_rotation": -45.0, + "entity_id": "occultism:possessed_bee", + "name": "", + "offset": 0.0, + "rotate": true, + "scale": 1.0, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_bee.entity.text" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/possess_bee", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_bee.description.text", + "title": "", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "possession_rituals/overview", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": -1, + "x": -1, + "y": -5 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_breeze.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_breeze.json index 6373f78d5..3b4f7b1e0 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_breeze.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_breeze.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "possession_rituals/possess_weak_breeze" + }, "description": "", "hide_while_locked": false, "icon": { @@ -29,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/possess_breeze", + "recipe_id_1": "occultism:ritual/wild_breeze", "text": "", "title1": "", "title2": "" @@ -56,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 3, + "x": 1, "y": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_elder_guardian.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_elder_guardian.json index 4015333c6..9b12bfc1d 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_elder_guardian.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_elder_guardian.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_afrit" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_enderman.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_enderman.json index f0100c18a..153f280d9 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_enderman.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_enderman.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 2, + "x": -2, "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_endermite.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_endermite.json index 2fdcb0788..21415369a 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_endermite.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_endermite.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_ghast.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_ghast.json index 94ed0a394..c6c2c18bd 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_ghast.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_ghast.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 1, - "y": -5 + "x": 0, + "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/summoning_rituals/afrit_essence.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_goat.json similarity index 51% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/summoning_rituals/afrit_essence.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_goat.json index 183102e17..91fbdd700 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/summoning_rituals/afrit_essence.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_goat.json @@ -3,25 +3,29 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_marid" }, "description": "", "hide_while_locked": false, "icon": { - "item": "occultism:afrit_essence" + "item": "occultism:cruelty_essence" }, - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.afrit_essence.name", + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_goat.name", "pages": [ { - "type": "modonomicon:text", + "type": "modonomicon:entity", "anchor": "", "condition": { "type": "modonomicon:none" }, - "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.afrit_essence.intro.text", - "title": "book.occultism.dictionary_of_spirits.summoning_rituals.afrit_essence.intro.title", - "use_markdown_in_title": false + "default_rotation": -45.0, + "entity_id": "occultism:mercy_goat", + "name": "", + "offset": 0.0, + "rotate": true, + "scale": 0.7, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_goat.entity.text" }, { "type": "occultism:ritual_recipe", @@ -29,10 +33,21 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_afrit", + "recipe_id_1": "occultism:ritual/possess_goat", "text": "", "title1": "", "title2": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_goat.description.text", + "title": "", + "use_markdown_in_title": false } ], "parents": [ @@ -45,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -5, - "y": -4 + "x": 7, + "y": -5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_hoglin.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_hoglin.json index 89aad28b3..885e9a457 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_hoglin.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_hoglin.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_afrit" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 7, + "x": 5, "y": -5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_phantom.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_phantom.json index 251fb7738..505e0a734 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_phantom.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_phantom.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 0, - "y": -3 + "x": -5, + "y": -5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_random_animal.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_random_animal.json similarity index 59% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_random_animal.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_random_animal.json index a3427282d..7b99803fd 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_random_animal.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_random_animal.json @@ -1,16 +1,17 @@ { "background_u_index": 0, "background_v_index": 0, - "category": "summoning_rituals", + "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, "icon": { "item": "minecraft:cow_spawn_egg" }, - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.name", + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.name", "pages": [ { "type": "modonomicon:entity", @@ -20,11 +21,11 @@ }, "default_rotation": -45.0, "entity_id": "minecraft:cow", - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.entity.title", + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.entity.title", "offset": 0.0, "rotate": true, "scale": 1.0, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.entity.text" + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.entity.text" }, { "type": "occultism:ritual_recipe", @@ -32,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_random_animal", + "recipe_id_1": "occultism:ritual/possess_random_animal", "text": "", "title1": "", "title2": "" @@ -44,7 +45,7 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_random_animal.description.text", + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_random_animal.description.text", "title": "", "use_markdown_in_title": false } @@ -52,13 +53,13 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/summon_wild_parrot", + "entry": "possession_rituals/overview", "line_enabled": true, - "line_reversed": true + "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 4, - "y": 2 + "x": 7, + "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_shulker.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_shulker.json index eef8a7f7e..ce2ffcd0b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_shulker.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_shulker.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_afrit" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 5, - "y": -5 + "x": 6, + "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_skeleton.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_skeleton.json index f82758304..5bc81d8cd 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_skeleton.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_skeleton.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_strong_breeze.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_strong_breeze.json index 8e5c5acb6..0923e45a9 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_strong_breeze.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_strong_breeze.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "possession_rituals/possess_breeze" + }, "description": "", "hide_while_locked": false, "icon": { @@ -29,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/possess_strong_breeze", + "recipe_id_1": "occultism:ritual/wild_strong_breeze", "text": "", "title1": "", "title2": "" @@ -56,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 3, + "x": 1, "y": 5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_wild_otherworld_bird.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_unbound_otherworld_bird.json similarity index 65% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_wild_otherworld_bird.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_unbound_otherworld_bird.json index 0e24a859d..23ea56370 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_wild_otherworld_bird.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_unbound_otherworld_bird.json @@ -1,9 +1,10 @@ { "background_u_index": 0, "background_v_index": 0, - "category": "summoning_rituals", + "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -12,7 +13,7 @@ "texture": "occultism:textures/gui/book/otherworld_bird.png", "width": 16 }, - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_otherworld_bird.name", + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_otherworld_bird.name", "pages": [ { "type": "modonomicon:entity", @@ -26,7 +27,7 @@ "offset": 0.0, "rotate": true, "scale": 1.0, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_otherworld_bird.entity.text" + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_otherworld_bird.entity.text" }, { "type": "occultism:ritual_recipe", @@ -34,7 +35,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_otherworld_bird", + "recipe_id_1": "occultism:ritual/possess_unbound_otherworld_bird", "text": "", "title1": "", "title2": "" @@ -46,7 +47,7 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_otherworld_bird.description.text", + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_otherworld_bird.description.text", "title": "", "use_markdown_in_title": false } @@ -54,13 +55,13 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/summon_wild_parrot", + "entry": "possession_rituals/possess_unbound_parrot", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 2, - "y": 4 + "x": 5, + "y": 3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_wild_parrot.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_unbound_parrot.json similarity index 66% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_wild_parrot.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_unbound_parrot.json index 796c201b9..c396fc99f 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_wild_parrot.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_unbound_parrot.json @@ -1,9 +1,10 @@ { "background_u_index": 0, "background_v_index": 0, - "category": "summoning_rituals", + "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, @@ -12,7 +13,7 @@ "texture": "occultism:textures/gui/book/parrot.png", "width": 16 }, - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.name", + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.name", "pages": [ { "type": "modonomicon:entity", @@ -26,7 +27,7 @@ "offset": 0.0, "rotate": true, "scale": 1.0, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.entity.text" + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.entity.text" }, { "type": "occultism:ritual_recipe", @@ -34,7 +35,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_parrot", + "recipe_id_1": "occultism:ritual/possess_unbound_parrot", "text": "", "title1": "", "title2": "" @@ -46,7 +47,7 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.description.text", + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.description.text", "title": "", "use_markdown_in_title": false }, @@ -57,7 +58,7 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.summon_wild_parrot.description2.text", + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_unbound_parrot.description2.text", "title": "", "use_markdown_in_title": false } @@ -65,13 +66,13 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/overview", + "entry": "possession_rituals/overview", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 2, - "y": 0 + "x": 5, + "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_warden.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_warden.json index ce99fd440..ba39b987b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_warden.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_warden.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 6, + "x": 2, "y": -3 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_breeze.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_breeze.json index 5a499cd66..cf36fc855 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_breeze.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_breeze.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" + }, "description": "", "hide_while_locked": false, "icon": { @@ -29,7 +33,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/possess_weak_breeze", + "recipe_id_1": "occultism:ritual/wild_weak_breeze", "text": "", "title1": "", "title2": "" @@ -56,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 3, + "x": 1, "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_shulker.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_shulker.json index 337a71728..19a5a4251 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_shulker.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_weak_shulker.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_djinni" }, "description": "", "hide_while_locked": false, @@ -59,6 +60,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 3, + "x": 1, "y": -5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_witch.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_witch.json new file mode 100644 index 000000000..54567cd3c --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_witch.json @@ -0,0 +1,65 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" + }, + "description": "", + "hide_while_locked": false, + "icon": { + "item": "minecraft:experience_bottle" + }, + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_witch.name", + "pages": [ + { + "type": "modonomicon:entity", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "default_rotation": -45.0, + "entity_id": "occultism:possessed_witch", + "name": "", + "offset": 0.8, + "rotate": true, + "scale": 0.4, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_witch.entity.text" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/possess_witch", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_witch.description.text", + "title": "", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "possession_rituals/overview", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": -1, + "x": -3, + "y": -5 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_zombie_piglin.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_zombie_piglin.json new file mode 100644 index 000000000..18896ed33 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/possess_zombie_piglin.json @@ -0,0 +1,65 @@ +{ + "background_u_index": 0, + "background_v_index": 0, + "category": "possession_rituals", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_unbound_afrit" + }, + "description": "", + "hide_while_locked": false, + "icon": { + "item": "occultism:demonic_meat" + }, + "name": "book.occultism.dictionary_of_spirits.possession_rituals.possess_zombie_piglin.name", + "pages": [ + { + "type": "modonomicon:entity", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "default_rotation": -45.0, + "entity_id": "occultism:possessed_zombie_piglin", + "name": "", + "offset": 0.0, + "rotate": true, + "scale": 0.7, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_zombie_piglin.entity.text" + }, + { + "type": "occultism:ritual_recipe", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "recipe_id_1": "occultism:ritual/possess_zombie_piglin", + "text": "", + "title1": "", + "title2": "" + }, + { + "type": "modonomicon:text", + "anchor": "", + "condition": { + "type": "modonomicon:none" + }, + "show_title_separator": true, + "text": "book.occultism.dictionary_of_spirits.possession_rituals.possess_zombie_piglin.description.text", + "title": "", + "use_markdown_in_title": false + } + ], + "parents": [ + { + "draw_arrow": true, + "entry": "possession_rituals/overview", + "line_enabled": true, + "line_reversed": false + } + ], + "show_when_any_parent_unlocked": false, + "sort_number": -1, + "x": 3, + "y": -5 +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/return_to_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/return_to_rituals.json index b0b34f858..3d6ba24df 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/return_to_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/return_to_rituals.json @@ -4,7 +4,8 @@ "category": "possession_rituals", "category_to_open": "rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/possess_foliot" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/summoning_rituals/wither_skull.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/wither_skull.json similarity index 62% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/summoning_rituals/wither_skull.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/wither_skull.json index 40d7f5e04..28be0a02b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/summoning_rituals/wither_skull.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/possession_rituals/wither_skull.json @@ -3,14 +3,15 @@ "background_v_index": 0, "category": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/contact_wild_spirit" }, "description": "", "hide_while_locked": false, "icon": { "item": "minecraft:wither_skeleton_skull" }, - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.name", + "name": "book.occultism.dictionary_of_spirits.possession_rituals.wither_skull.name", "pages": [ { "type": "modonomicon:text", @@ -19,8 +20,8 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.intro.text", - "title": "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.intro.title", + "text": "book.occultism.dictionary_of_spirits.possession_rituals.wither_skull.intro.text", + "title": "book.occultism.dictionary_of_spirits.possession_rituals.wither_skull.intro.title", "use_markdown_in_title": false }, { @@ -29,7 +30,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_hunt", + "recipe_id_1": "occultism:ritual/wild_hunt", "text": "", "title1": "", "title2": "" @@ -38,13 +39,13 @@ "parents": [ { "draw_arrow": true, - "entry": "possession_rituals/possess_skeleton", + "entry": "possession_rituals/overview", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -4, - "y": -5 + "x": -6, + "y": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/crafting_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/crafting_rituals.json index cce49a6f7..d955ffb61 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/crafting_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/crafting_rituals.json @@ -4,7 +4,8 @@ "category": "rituals", "category_to_open": "crafting_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/purple" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/familiar_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/familiar_rituals.json index 841e4b9e8..8204b7907 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/familiar_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/familiar_rituals.json @@ -4,13 +4,14 @@ "category": "rituals", "category_to_open": "familiar_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" }, "description": "", "hide_while_locked": false, "icon": { "height": 16, - "texture": "occultism:textures/gui/book/parrot.png", + "texture": "occultism:textures/gui/book/familiar.png", "width": 16 }, "name": "book.occultism.dictionary_of_spirits.rituals.familiar_rituals.name", diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/possession_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/possession_rituals.json index a74929bef..521d87872 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/possession_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/possession_rituals.json @@ -4,7 +4,8 @@ "category": "rituals", "category_to_open": "possession_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/yellow" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/summoning_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/summoning_rituals.json index 397fcaa35..9f5af0f1d 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/summoning_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/rituals/summoning_rituals.json @@ -4,7 +4,8 @@ "category": "rituals", "category_to_open": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:advancement", + "advancement_id": "occultism:chalks/white" }, "description": "", "hide_while_locked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier3.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier3.json index aa86a9284..2ced3cbe4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier3.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier3.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "storage", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_afrit" + }, "description": "", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier4.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier4.json index 26b8614ef..2ccc2b027 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier4.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_stabilizer_tier4.json @@ -2,6 +2,10 @@ "background_u_index": 0, "background_v_index": 0, "category": "storage", + "condition": { + "type": "modonomicon:entry_read", + "entry_id": "pentacles/craft_marid" + }, "description": "", "hide_while_locked": false, "icon": { diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_storage_remote.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_storage_remote.json index 2d3be31a9..579fbfa52 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_storage_remote.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/crafting_rituals/craft_storage_remote.json @@ -36,13 +36,13 @@ "parents": [ { "draw_arrow": true, - "entry": "storage/crafting_rituals/craft_stable_wormhole", + "entry": "storage/storage_controller", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -2, - "y": -2 + "x": -4, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/summoning_rituals/summon_manage_machine.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/summoning_rituals/summon_manage_machine.json index bcd6c4c59..798de95f7 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/summoning_rituals/summon_manage_machine.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/storage/summoning_rituals/summon_manage_machine.json @@ -75,6 +75,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -4, + "x": -6, "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/afrit_essence.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/afrit_essence.json index a52afbb0e..1f4a781b4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/afrit_essence.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/afrit_essence.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_unbound_afrit" }, "description": "", "hide_while_locked": false, @@ -29,7 +30,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_afrit", + "recipe_id_1": "occultism:ritual/summon_unbound_afrit", "text": "", "title1": "", "title2": "" diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/wither_skull.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/marid_essence.json similarity index 73% rename from src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/wither_skull.json rename to src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/marid_essence.json index 1c355f82e..a00a70f44 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/wither_skull.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/marid_essence.json @@ -3,14 +3,15 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_unbound_marid" }, "description": "", "hide_while_locked": false, "icon": { - "item": "minecraft:wither_skeleton_skull" + "item": "occultism:marid_essence" }, - "name": "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.name", + "name": "book.occultism.dictionary_of_spirits.summoning_rituals.marid_essence.name", "pages": [ { "type": "modonomicon:text", @@ -19,8 +20,8 @@ "type": "modonomicon:none" }, "show_title_separator": true, - "text": "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.intro.text", - "title": "book.occultism.dictionary_of_spirits.summoning_rituals.wither_skull.intro.title", + "text": "book.occultism.dictionary_of_spirits.summoning_rituals.marid_essence.intro.text", + "title": "book.occultism.dictionary_of_spirits.summoning_rituals.marid_essence.intro.title", "use_markdown_in_title": false }, { @@ -29,7 +30,7 @@ "condition": { "type": "modonomicon:none" }, - "recipe_id_1": "occultism:ritual/summon_wild_hunt", + "recipe_id_1": "occultism:ritual/summon_unbound_marid", "text": "", "title1": "", "title2": "" @@ -38,13 +39,13 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/overview", + "entry": "summoning_rituals/afrit_essence", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 6, - "y": 0 + "x": 4, + "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/overview.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/overview.json index dc10af079..f28f6563c 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/overview.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/overview.json @@ -3,7 +3,8 @@ "background_v_index": 1, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -28,6 +29,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -6, + "x": -7, "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/return_to_rituals.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/return_to_rituals.json index ffd873452..0a3a0f388 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/return_to_rituals.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/return_to_rituals.json @@ -4,7 +4,8 @@ "category": "summoning_rituals", "category_to_open": "rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -24,6 +25,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -8, + "x": -9, "y": -2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_cleaner.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_cleaner.json index ecc2d6190..6d32ca5b4 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_cleaner.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_cleaner.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -71,7 +72,7 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/summon_transport_items", + "entry": "summoning_rituals/overview", "line_enabled": true, "line_reversed": false } @@ -79,5 +80,5 @@ "show_when_any_parent_unlocked": false, "sort_number": -1, "x": 0, - "y": -6 + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t1.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t1.json index 7942c72cd..4ba56f3fd 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t1.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t1.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -67,6 +68,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -2, + "x": -4, "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t2.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t2.json index a90cb70a5..76c1b6548 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t2.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t2.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_djinni" }, "description": "", "hide_while_locked": false, @@ -45,6 +46,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -2, + "x": -4, "y": 2 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t3.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t3.json index e18ca1c2a..376878f6f 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t3.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t3.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_afrit" }, "description": "", "hide_while_locked": false, @@ -45,6 +46,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -2, + "x": -4, "y": 4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t4.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t4.json index 98c92d388..55c36fbdb 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t4.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_crusher_t4.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_marid" }, "description": "", "hide_while_locked": false, @@ -45,6 +46,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -2, + "x": -4, "y": 6 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_lumberjack.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_lumberjack.json index 124e8d12e..a5114d86b 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_lumberjack.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_lumberjack.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -89,6 +90,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": -2, + "x": -4, "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_manage_machine.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_manage_machine.json index a0359b5a3..818496f40 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_manage_machine.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_manage_machine.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_djinni" }, "description": "", "hide_while_locked": false, @@ -71,13 +72,13 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/summon_transport_items", + "entry": "summoning_rituals/overview", "line_enabled": true, "line_reversed": false } ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 2, - "y": -4 + "x": -1, + "y": -5 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherstone_trader.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherstone_trader.json index be8619ebe..b45fea046 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherstone_trader.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherstone_trader.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "summoning_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -49,9 +46,9 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/summon_otherworld_sapling_trader", + "entry": "summoning_rituals/trade_spirits", "line_enabled": true, - "line_reversed": false + "line_reversed": true } ], "show_when_any_parent_unlocked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherworld_sapling_trader.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherworld_sapling_trader.json index 69baf17e5..31052a203 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherworld_sapling_trader.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_otherworld_sapling_trader.json @@ -2,9 +2,6 @@ "background_u_index": 0, "background_v_index": 0, "category": "summoning_rituals", - "condition": { - "type": "modonomicon:true" - }, "description": "", "hide_while_locked": false, "icon": { @@ -51,7 +48,7 @@ "draw_arrow": true, "entry": "summoning_rituals/trade_spirits", "line_enabled": true, - "line_reversed": false + "line_reversed": true } ], "show_when_any_parent_unlocked": false, diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_transport_items.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_transport_items.json index 447765e5e..a4c3d815d 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_transport_items.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/summon_transport_items.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -89,6 +90,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 0, + "x": -2, "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/time_magic.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/time_magic.json index e998eb44d..fd3fe6956 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/time_magic.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/time_magic.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_djinni" }, "description": "", "hide_while_locked": false, @@ -49,7 +50,7 @@ "parents": [ { "draw_arrow": true, - "entry": "summoning_rituals/weather_magic", + "entry": "summoning_rituals/overview", "line_enabled": true, "line_reversed": false } @@ -57,5 +58,5 @@ "show_when_any_parent_unlocked": false, "sort_number": -1, "x": 4, - "y": -6 + "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/trade_spirits.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/trade_spirits.json index 8e297235f..8acf29dfb 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/trade_spirits.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/trade_spirits.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_foliot" }, "description": "", "hide_while_locked": false, @@ -47,6 +48,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 0, + "x": -1, "y": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/weather_magic.json b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/weather_magic.json index c29cdb4c1..ec2cce4e9 100644 --- a/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/weather_magic.json +++ b/src/generated/resources/data/occultism/modonomicon/books/dictionary_of_spirits/entries/summoning_rituals/weather_magic.json @@ -3,7 +3,8 @@ "background_v_index": 0, "category": "summoning_rituals", "condition": { - "type": "modonomicon:true" + "type": "modonomicon:entry_read", + "entry_id": "pentacles/summon_djinni" }, "description": "", "hide_while_locked": false, @@ -67,6 +68,6 @@ ], "show_when_any_parent_unlocked": false, "sort_number": -1, - "x": 4, + "x": 2, "y": -4 } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/contact_eldritch_spirit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/contact_eldritch_spirit.json new file mode 100644 index 000000000..f0cffc9d1 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/contact_eldritch_spirit.json @@ -0,0 +1,109 @@ +{ + "type": "modonomicon:dense", + "mapping": { + "*": { + "type": "modonomicon:display", + "display": "occultism:otherstone" + }, + "+": { + "type": "modonomicon:display", + "display": "minecraft:stone" + }, + "0": { + "type": "modonomicon:block", + "block": "occultism:golden_sacrificial_bowl" + }, + "B": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_brown" + }, + "C": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_cyan" + }, + "M": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_magenta" + }, + "e": { + "type": "modonomicon:block", + "block": "minecraft:lodestone" + }, + "f": { + "type": "modonomicon:block", + "block": "minecraft:end_rod" + }, + "g": { + "type": "modonomicon:block", + "block": "minecraft:amethyst_cluster" + }, + "h": { + "type": "modonomicon:tag", + "tag": "#c:glass_panes" + }, + "i": { + "type": "modonomicon:block", + "block": "minecraft:beacon" + }, + "j": { + "type": "modonomicon:block", + "block": "minecraft:lightning_rod" + }, + "k": { + "type": "modonomicon:block", + "block": "minecraft:enchanting_table" + }, + "l": { + "type": "modonomicon:block", + "block": "minecraft:iron_bars" + } + }, + "pattern": [ + [ + "_____________________", + "__________C__________", + "_________CeC_________", + "_________CMC_________", + "____BB__CMMMC__BB____", + "____BlBBCM_MCBBfB____", + "_____B_B_____B_B_____", + "_____BB_______BB_____", + "____CC_________CC____", + "__CCMM_________MMCC__", + "_CkMM_____0_____MMgC_", + "__CCMM_________MMCC__", + "____CC_________CC____", + "_____BB_______BB_____", + "_____B_B_____B_B_____", + "____BjBBCM_MCBBhB____", + "____BB__CMMMC__BB____", + "_________CMC_________", + "_________CiC_________", + "__________C__________", + "_____________________" + ], + [ + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/contact_wild_spirit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/contact_wild_spirit.json new file mode 100644 index 000000000..cfa562345 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/contact_wild_spirit.json @@ -0,0 +1,61 @@ +{ + "type": "modonomicon:dense", + "mapping": { + "*": { + "type": "modonomicon:display", + "display": "occultism:otherstone" + }, + "+": { + "type": "modonomicon:display", + "display": "minecraft:stone" + }, + "0": { + "type": "modonomicon:block", + "block": "occultism:golden_sacrificial_bowl" + }, + "A": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_light_blue" + }, + "E": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_green" + }, + "P": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_pink" + } + }, + "pattern": [ + [ + "_____________", + "______P______", + "__A_AE_EA_A__", + "____PE_EP____", + "__APA_P_APA__", + "__EE_____EE__", + "_P__P_0_P__P_", + "__EE_____EE__", + "__APA_P_APA__", + "____PE_EP____", + "__A_AE_EA_A__", + "______P______", + "_____________" + ], + [ + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_afrit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_afrit.json index 023a731f7..a9842c08a 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_afrit.json @@ -13,65 +13,81 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" }, - "N": { + "3": { "type": "modonomicon:block", - "block": "minecraft:wither_skeleton_skull" + "block": "occultism:spirit_attuned_crystal" + }, + "G": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_dark" }, - "P": { + "L": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" + "block": "occultism:chalk_glyph_lime" }, - "R": { + "O": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_red" + "block": "occultism:chalk_glyph_orange" }, - "S": { + "R": { "type": "modonomicon:block", - "block": "occultism:spirit_attuned_crystal" + "block": "occultism:chalk_glyph_red" }, "W": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" }, - "Z": { + "X": { "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "block": "occultism:chalk_glyph_purple" } }, "pattern": [ [ - "_____N_____", - "____GGG____", - "___GCPCG___", - "__G_WCW_G__", - "_GCWW_WWCG_", - "ZGPC_0_CPGZ", - "_GCWW_WWCG_", - "__G_WCW_G__", - "___GCPCG___", - "____GGG____", - "_____Z_____" + "_________________", + "__RXOXOXRXOXOXR__", + "_RX____3_3____XR_", + "_X__XLXLXLXLX__X_", + "_O_XL_2___2_LX_O_", + "_X_L__WXXXW__L_X_", + "_O_X2WG1_1GW2X_O_", + "_X3L_X1G_G1X_L3X_", + "_R_X_X__0__X_X_R_", + "_X3L_X1G_G1X_L3X_", + "_O_X2WG1_1GW2X_O_", + "_X_L__WXXXW__L_X_", + "_O_XL_2___2_LX_O_", + "_X__XLXLXLXLX__X_", + "_RX____3_3____XR_", + "__RXOXOXRXOXOXR__", + "_________________" ], [ - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*" + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_djinni.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_djinni.json index 6d93da462..31f0e805e 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_djinni.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_djinni.json @@ -13,49 +13,61 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" }, - "P": { + "L": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" + "block": "occultism:chalk_glyph_lime" }, "S": { - "type": "modonomicon:block", - "block": "occultism:spirit_attuned_crystal" + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_no_white" }, "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + }, + "X": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "block": "occultism:chalk_glyph_purple" } }, "pattern": [ [ - "_________", - "_C_WGW_C_", - "__P_W_P__", - "_W_SWS_W_", - "_GWW0WWG_", - "_W_SWS_W_", - "__P_W_P__", - "_C_WGW_C_", - "_________" + "_____________", + "__XLXLXLXLX__", + "_XL_2___2_LX_", + "_L__WXXXW__L_", + "_X2WS1_1SW2X_", + "_L_X1S_S1X_L_", + "_X_X__0__X_X_", + "_L_X1S_S1X_L_", + "_X2WS1_1SW2X_", + "_L__WXXXW__L_", + "_XL_2___2_LX_", + "__XLXLXLXLX__", + "_____________" ], [ - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*" + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_foliot.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_foliot.json index 532d1bd86..14f60f7e7 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_foliot.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_foliot.json @@ -13,41 +13,41 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" - }, - "S": { - "type": "modonomicon:block", - "block": "occultism:spirit_attuned_crystal" - }, "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + }, + "X": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "block": "occultism:chalk_glyph_purple" } }, "pattern": [ [ - "__WSW__", - "_G___G_", - "W__W__W", - "C_W0W_C", - "W__W__W", - "_G___G_", - "__WSW__" + "_________", + "__WXXXW__", + "_WW1_1WW_", + "_X1W_W1X_", + "_X__0__X_", + "_X1W_W1X_", + "_WW1_1WW_", + "__WXXXW__", + "_________" ], [ - "*+*+*+*", - "+*+*+*+", - "*+*+*+*", - "+*+*+*+", - "*+*+*+*", - "+*+*+*+", - "*+*+*+*" + "*+*+*+*+*", + "+*+*+*+*+", + "*+*+*+*+*", + "+*+*+*+*+", + "*+*+*+*+*", + "+*+*+*+*+", + "*+*+*+*+*", + "+*+*+*+*+", + "*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_marid.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_marid.json index e1447a635..ce39a2ea1 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_marid.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/craft_marid.json @@ -13,69 +13,97 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" }, - "N": { + "4": { "type": "modonomicon:block", "block": "minecraft:wither_skeleton_skull" }, + "K": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_black" + }, + "L": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_lime" + }, + "O": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_orange" + }, "R": { "type": "modonomicon:block", "block": "occultism:chalk_glyph_red" }, - "S": { + "U": { "type": "modonomicon:block", - "block": "occultism:spirit_attuned_crystal" + "block": "occultism:chalk_glyph_blue" }, "W": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" }, - "Z": { + "X": { "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "block": "occultism:chalk_glyph_purple" } }, "pattern": [ [ - "_______Z_______", - "______RRR______", - "_____RCWCR_____", - "____R__W__R____", - "___RGSWNWSGR___", - "__R_SGW_WGS_R__", - "_RC_WW___WW_CR_", - "ZRWWN__0__NWWRZ", - "_RC_WW___WW_CR_", - "__R_SGW_WGS_R__", - "___RGSWNWSGR___", - "____R__W__R____", - "_____RCWCR_____", - "______RRR______", - "_______Z_______" + "_____________________", + "__XXUUUXUUUUUXUUUXX__", + "_XX_______4_______XX_", + "_X__RXOXOXRXOXOXR__X_", + "_U_RX____3_3____XR_U_", + "_U_X__XLXLXLXLX__X_U_", + "_U_O_XL_2___2_LX_O_U_", + "_X_X_L__WXXXW__L_X_X_", + "_U_O_X2WK1_1KW2X_O_U_", + "_U_X3L_X1K_K1X_L3X_U_", + "_U4R_X_X__0__X_X_R4U_", + "_U_X3L_X1K_K1X_L3X_U_", + "_U_O_X2WK1_1KW2X_O_U_", + "_X_X_L__WXXXW__L_X_X_", + "_U_O_XL_2___2_LX_O_U_", + "_U_X__XLXLXLXLX__X_U_", + "_U_RX____3_3____XR_U_", + "_X__RXOXOXRXOXOXR__X_", + "_XX_______4_______XX_", + "__XXUUUXUUUUUXUUUXX__", + "_____________________" ], [ - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*" + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/debug.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/debug.json index 077e4cb40..0bd5e2db0 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/debug.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/debug.json @@ -13,32 +13,64 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" }, - "P": { + "X": { "type": "modonomicon:block", "block": "occultism:chalk_glyph_purple" }, - "Z": { + "Y": { "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "block": "occultism:chalk_glyph_gold" + }, + "e": { + "type": "modonomicon:block", + "block": "minecraft:lodestone" + }, + "f": { + "type": "modonomicon:block", + "block": "minecraft:end_rod" + }, + "g": { + "type": "modonomicon:block", + "block": "minecraft:amethyst_cluster" + }, + "h": { + "type": "modonomicon:tag", + "tag": "#c:glass_panes" + }, + "i": { + "type": "modonomicon:block", + "block": "minecraft:beacon" + }, + "j": { + "type": "modonomicon:block", + "block": "minecraft:lightning_rod" + }, + "k": { + "type": "modonomicon:block", + "block": "minecraft:enchanting_table" + }, + "l": { + "type": "modonomicon:block", + "block": "minecraft:iron_bars" } }, "pattern": [ [ - "__GCG__", - "_G_P_G_", - "G__P__G", - "CPP0PPC", - "G__P__G", - "_G_P_G_", - "__GCG__" + "__Y1Y__", + "_Y_X_Y_", + "Y__X__Y", + "1XX0XX1", + "Y__X__Y", + "_Y_X_Y_", + "__Y1Y__" ], [ "*+*+*+*", diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_afrit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_afrit.json index dd3a45e03..98b922772 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_afrit.json @@ -13,61 +13,81 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" + }, + "G": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_dark" }, - "N": { + "L": { "type": "modonomicon:block", - "block": "minecraft:wither_skeleton_skull" + "block": "occultism:chalk_glyph_lime" }, - "P": { + "O": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" + "block": "occultism:chalk_glyph_orange" }, "R": { "type": "modonomicon:block", "block": "occultism:chalk_glyph_red" }, "W": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" }, - "Z": { + "Y": { "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "block": "occultism:chalk_glyph_gold" } }, "pattern": [ [ - "___________", - "____PRP____", - "___GCWCG___", - "__G_WNW_G__", - "_PCWP_PWCP_", - "_RWZ_0_ZWR_", - "_PCWP_PWCP_", - "__G_WNW_G__", - "___GCWCG___", - "____PRP____", - "___________" + "_________________", + "________Y________", + "_______Y3Y_______", + "______R_L_R______", + "_____O_L2L_O_____", + "____O2Y_W_Y2O____", + "___R_Y1G1G1Y_R___", + "__Y_L_G_Y_G_L_Y__", + "_Y3L2W1Y0Y1W2L3Y_", + "__Y_L_G_Y_G_L_Y__", + "___R_Y1G1G1Y_R___", + "____O2Y_W_Y2O____", + "_____O_L2L_O_____", + "______R_L_R______", + "_______Y3Y_______", + "________Y________", + "_________________" ], [ - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*" + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_djinni.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_djinni.json index cb066e518..4e4e1871a 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_djinni.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_djinni.json @@ -13,49 +13,61 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" }, - "P": { + "L": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" + "block": "occultism:chalk_glyph_lime" + }, + "S": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_no_white" }, "W": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" }, - "Z": { + "Y": { "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "block": "occultism:chalk_glyph_gold" } }, "pattern": [ [ - "___GPG___", - "__GC_CG__", - "_GZW_WZG_", - "GCWP_PWCG", - "P___0___P", - "GCWP_PWCG", - "_GZW_WZG_", - "__GC_CG__", - "___GPG___" + "_____________", + "______L______", + "_____L2L_____", + "____Y_W_Y____", + "___Y1S1S1Y___", + "__L_S_Y_S_L__", + "_L2W1Y0Y1W2L_", + "__L_S_Y_S_L__", + "___Y1S1S1Y___", + "____Y_W_Y____", + "_____L2L_____", + "______L______", + "_____________" ], [ - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*" + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_foliot.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_foliot.json index 2e5d2fc77..2797dd290 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_foliot.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_foliot.json @@ -13,30 +13,30 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" - }, "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + }, + "Y": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "block": "occultism:chalk_glyph_gold" } }, "pattern": [ [ - "___GGG___", - "__GC_CG__", - "_GW___WG_", - "GC_W_W_CG", - "G___0___G", - "GC_W_W_CG", - "_GW___WG_", - "__GC_CG__", - "___GGG___" + "_________", + "____W____", + "___W1W___", + "__W_Y_W__", + "_W1Y0Y1W_", + "__W_Y_W__", + "___W1W___", + "____W____", + "_________" ], [ "*+*+*+*+*", diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_marid.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_marid.json new file mode 100644 index 000000000..dcd697376 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_marid.json @@ -0,0 +1,109 @@ +{ + "type": "modonomicon:dense", + "mapping": { + "*": { + "type": "modonomicon:display", + "display": "occultism:otherstone" + }, + "+": { + "type": "modonomicon:display", + "display": "minecraft:stone" + }, + "0": { + "type": "modonomicon:block", + "block": "occultism:golden_sacrificial_bowl" + }, + "1": { + "type": "modonomicon:tag", + "tag": "#minecraft:candles" + }, + "2": { + "type": "modonomicon:block", + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" + }, + "4": { + "type": "modonomicon:block", + "block": "minecraft:wither_skeleton_skull" + }, + "K": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_black" + }, + "L": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_lime" + }, + "O": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_orange" + }, + "R": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_red" + }, + "U": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_blue" + }, + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + }, + "Y": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_gold" + } + }, + "pattern": [ + [ + "_____________________", + "__________U__________", + "_________Y4Y_________", + "________U_Y_U________", + "_______Y_Y3Y_Y_______", + "______U_R_L_R_U______", + "_____U3O_L2L_O3U_____", + "____Y_O2Y_W_Y2O_Y____", + "___U_R_Y1K1K1Y_R_U___", + "__Y_Y_L_K_Y_K_L_Y_Y__", + "_U4Y3L2W1Y0Y1W2L3Y4U_", + "__Y_Y_L_K_Y_K_L_Y_Y__", + "___U_R_Y1K1K1Y_R_U___", + "____Y_O2Y_W_Y2O_Y____", + "_____U3O_L2L_O3U_____", + "______U_R_L_R_U______", + "_______Y_Y3Y_Y_______", + "________U_Y_U________", + "_________Y4Y_________", + "__________U__________", + "_____________________" + ], + [ + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_unbound_afrit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_unbound_afrit.json new file mode 100644 index 000000000..b7b1cf6d9 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/possess_unbound_afrit.json @@ -0,0 +1,89 @@ +{ + "type": "modonomicon:dense", + "mapping": { + "*": { + "type": "modonomicon:display", + "display": "occultism:otherstone" + }, + "+": { + "type": "modonomicon:display", + "display": "minecraft:stone" + }, + "0": { + "type": "modonomicon:block", + "block": "occultism:golden_sacrificial_bowl" + }, + "1": { + "type": "modonomicon:tag", + "tag": "#minecraft:candles" + }, + "2": { + "type": "modonomicon:block", + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" + }, + "G": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_dark" + }, + "L": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_lime" + }, + "O": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_orange" + }, + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + }, + "Y": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_gold" + } + }, + "pattern": [ + [ + "_________________", + "________Y________", + "_______Y3Y_______", + "________L________", + "_____O_L2L_O_____", + "____O2Y_W_Y2O____", + "_____Y1G1G1Y_____", + "__Y_L_G_Y_G_L_Y__", + "_Y3L2W1Y0Y1W2L3Y_", + "__Y_L_G_Y_G_L_Y__", + "_____Y1G1G1Y_____", + "____O2Y_W_Y2O____", + "_____O_L2L_O_____", + "________L________", + "_______Y3Y_______", + "________Y________", + "_________________" + ], + [ + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_wild_greater_spirit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/resurrect_spirit.json similarity index 66% rename from src/generated/resources/data/occultism/modonomicon/multiblocks/summon_wild_greater_spirit.json rename to src/generated/resources/data/occultism/modonomicon/multiblocks/resurrect_spirit.json index 9a0419e86..7413b504b 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_wild_greater_spirit.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/resurrect_spirit.json @@ -13,31 +13,23 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "P": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" - }, "W": { "type": "modonomicon:block", "block": "occultism:chalk_glyph_white" - }, - "Z": { - "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" } }, "pattern": [ [ "___________", - "____PPP____", - "___W_W_W___", - "__W_WZW_W__", - "_P_WP_PW_P_", - "_PWZ_0_ZWP_", - "_P_WP_PW_P_", - "__W_WZW_W__", - "___W_W_W___", - "____PPP____", + "_____W_____", + "__W_____W__", + "___________", + "____WWW____", + "_W__W0W__W_", + "____WWW____", + "___________", + "__W_____W__", + "_____W_____", "___________" ], [ diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_afrit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_afrit.json index 6100acd64..5db247d6b 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_afrit.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_afrit.json @@ -13,57 +13,77 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "N": { + "2": { "type": "modonomicon:block", - "block": "minecraft:wither_skeleton_skull" + "block": "minecraft:skeleton_skull" }, - "P": { + "3": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" + "block": "occultism:spirit_attuned_crystal" }, - "R": { + "G": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_dark" + }, + "L": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_red" + "block": "occultism:chalk_glyph_lime" }, - "W": { + "O": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "block": "occultism:chalk_glyph_orange" }, - "Z": { + "R": { "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "block": "occultism:chalk_glyph_red" + }, + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" } }, "pattern": [ [ - "___________", - "____PRP____", - "___WCWCW___", - "__W_WNW_W__", - "_PCWP_PWCP_", - "_RWZ_0_ZWR_", - "_PCWP_PWCP_", - "__W_WNW_W__", - "___WCWCW___", - "____PRP____", - "___________" + "_________________", + "______OOOOO______", + "____OOR_2_ROO____", + "___OR_LLLLL_RO___", + "__OR3L_L1L_L3RO__", + "__O_L2_WWW_2L_O__", + "_ORL__W_G_W__LRO_", + "_O_LLW_1G1_WLL_O_", + "_O2L1WGG0GGW1L2O_", + "_O_LLW_1G1_WLL_O_", + "_ORL__W_G_W__LRO_", + "__O_L2_WWW_2L_O__", + "__OR3L_L1L_L3RO__", + "___OR_LLLLL_RO___", + "____OOR_2_ROO____", + "______OOOOO______", + "_________________" ], [ - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*" + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_djinni.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_djinni.json index 865e7129f..8e2647a5f 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_djinni.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_djinni.json @@ -13,45 +13,57 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "P": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" + "block": "minecraft:skeleton_skull" }, - "W": { + "L": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "block": "occultism:chalk_glyph_lime" }, - "Z": { - "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "S": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_no_white" + }, + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" } }, "pattern": [ [ - "___C_C___", - "___PPP___", - "__W_Z_W__", - "CP_W_W_PC", - "_PZ_0_ZP_", - "CP_W_W_PC", - "__W_Z_W__", - "___PPP___", - "___C_C___" + "_____________", + "____LLLLL____", + "___L_L1L_L___", + "__L2_WWW_2L__", + "_L__W_S_W__L_", + "_LLW_1S1_WLL_", + "_L1WSS0SSW1L_", + "_LLW_1S1_WLL_", + "_L__W_S_W__L_", + "__L2_WWW_2L__", + "___L_L1L_L___", + "____LLLLL____", + "_____________" ], [ - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*", - "+*+*+*+*+", - "*+*+*+*+*" + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*", + "+*+*+*+*+*+*+", + "*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_foliot.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_foliot.json index d8fe0ac49..8f20b3be4 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_foliot.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_foliot.json @@ -13,25 +13,25 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, "W": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" } }, "pattern": [ [ "_________", - "___WCW___", + "___WWW___", "__W_W_W__", - "_W__W__W_", - "_CWW0WWC_", - "_W__W__W_", + "_W_1W1_W_", + "_WWW0WWW_", + "_W_1W1_W_", "__W_W_W__", - "___WCW___", + "___WWW___", "_________" ], [ diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_marid.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_marid.json index a1062304d..883409c13 100644 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_marid.json +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_marid.json @@ -13,65 +13,93 @@ "type": "modonomicon:block", "block": "occultism:golden_sacrificial_bowl" }, - "C": { + "1": { "type": "modonomicon:tag", "tag": "#minecraft:candles" }, - "G": { + "2": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_gold" + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" }, - "N": { + "4": { "type": "modonomicon:block", "block": "minecraft:wither_skeleton_skull" }, + "K": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_black" + }, + "L": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_lime" + }, + "O": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_orange" + }, "R": { "type": "modonomicon:block", "block": "occultism:chalk_glyph_red" }, - "W": { + "U": { "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" + "block": "occultism:chalk_glyph_blue" }, - "Z": { - "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" } }, "pattern": [ [ - "_______Z_______", - "______RRR______", - "_____RCWCR_____", - "____R__W__R____", - "___RG_WNW_GR___", - "__R__GW_WG__R__", - "_RC_WW___WW_CR_", - "ZRWWN__0__NWWRZ", - "_RC_WW___WW_CR_", - "__R__GW_WG__R__", - "___RG_WNW_GR___", - "____R__W__R____", - "_____RCWCR_____", - "______RRR______", - "_______Z_______" + "_____________________", + "_______UUUUUUU_______", + "_____UU__U3U__UU_____", + "____U___OOOOO___U____", + "___U4_OOR_2_ROO_4U___", + "__U__OR_LLLLL_RO__U__", + "__U_OR3L_L1L_L3RO_U__", + "_U__O_L2_WWW_2L_O__U_", + "_U_ORL__W_K_W__LRO_U_", + "_UUO_LLW_1K1_WLL_OUU_", + "_U3O2L1WKK0KKW1L2O3U_", + "_UUO_LLW_1K1_WLL_OUU_", + "_U_ORL__W_K_W__LRO_U_", + "_U__O_L2_WWW_2L_O__U_", + "__U_OR3L_L1L_L3RO_U__", + "__U__OR_LLLLL_RO__U__", + "___U4_OOR_2_ROO_4U___", + "____U___OOOOO___U____", + "_____UU__U3U__UU_____", + "_______UUUUUUU_______", + "_____________________" ], [ - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*", - "+*+*+*+*+*+*+*+", - "*+*+*+*+*+*+*+*" + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*+*+*" ] ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_unbound_afrit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_unbound_afrit.json new file mode 100644 index 000000000..fd62da791 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_unbound_afrit.json @@ -0,0 +1,85 @@ +{ + "type": "modonomicon:dense", + "mapping": { + "*": { + "type": "modonomicon:display", + "display": "occultism:otherstone" + }, + "+": { + "type": "modonomicon:display", + "display": "minecraft:stone" + }, + "0": { + "type": "modonomicon:block", + "block": "occultism:golden_sacrificial_bowl" + }, + "1": { + "type": "modonomicon:tag", + "tag": "#minecraft:candles" + }, + "2": { + "type": "modonomicon:block", + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" + }, + "G": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_dark" + }, + "L": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_lime" + }, + "O": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_orange" + }, + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + } + }, + "pattern": [ + [ + "_________________", + "______OOOOO______", + "____OO__2__OO____", + "___O__LLLLL__O___", + "__O__L_L1L_L__O__", + "__O_L2_WWW_2L_O__", + "_O_L__W_G_W__L_O_", + "_O_LLW_1G1_WLL_O_", + "_O2L1WGG0GGW1L2O_", + "_O_LLW_1G1_WLL_O_", + "_O_L__W_G_W__L_O_", + "__O_L2_WWW_2L_O__", + "__O__L_L1L_L__O__", + "___O__LLLLL__O___", + "____OO__2__OO____", + "______OOOOO______", + "_________________" + ], + [ + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_unbound_marid.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_unbound_marid.json new file mode 100644 index 000000000..7d892d250 --- /dev/null +++ b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_unbound_marid.json @@ -0,0 +1,93 @@ +{ + "type": "modonomicon:dense", + "mapping": { + "*": { + "type": "modonomicon:display", + "display": "occultism:otherstone" + }, + "+": { + "type": "modonomicon:display", + "display": "minecraft:stone" + }, + "0": { + "type": "modonomicon:block", + "block": "occultism:golden_sacrificial_bowl" + }, + "1": { + "type": "modonomicon:tag", + "tag": "#minecraft:candles" + }, + "2": { + "type": "modonomicon:block", + "block": "minecraft:skeleton_skull" + }, + "3": { + "type": "modonomicon:block", + "block": "occultism:spirit_attuned_crystal" + }, + "4": { + "type": "modonomicon:block", + "block": "minecraft:wither_skeleton_skull" + }, + "K": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_black" + }, + "L": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_lime" + }, + "O": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_orange" + }, + "R": { + "type": "modonomicon:block", + "block": "occultism:chalk_glyph_red" + }, + "W": { + "type": "modonomicon:tag", + "tag": "#occultism:foundation_glyphs_any" + } + }, + "pattern": [ + [ + "_________________", + "______OOOOO______", + "__4_OOR_2_ROO_4__", + "___OR_LLLLL_RO___", + "__OR3L_L1L_L3RO__", + "__O_L2_WWW_2L_O__", + "_ORL__W_K_W__LRO_", + "_O_LLW_1K1_WLL_O_", + "_O2L1WKK0KKW1L2O_", + "_O_LLW_1K1_WLL_O_", + "_ORL__W_K_W__LRO_", + "__O_L2_WWW_2L_O__", + "__OR3L_L1L_L3RO__", + "___OR_LLLLL_RO___", + "__4_OOR_2_ROO_4__", + "______OOOOO______", + "_________________" + ], + [ + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*", + "+*+*+*+*+*+*+*+*+", + "*+*+*+*+*+*+*+*+*" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_wild_afrit.json b/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_wild_afrit.json deleted file mode 100644 index 2a3b15870..000000000 --- a/src/generated/resources/data/occultism/modonomicon/multiblocks/summon_wild_afrit.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "type": "modonomicon:dense", - "mapping": { - "*": { - "type": "modonomicon:display", - "display": "occultism:otherstone" - }, - "+": { - "type": "modonomicon:display", - "display": "minecraft:stone" - }, - "0": { - "type": "modonomicon:block", - "block": "occultism:golden_sacrificial_bowl" - }, - "C": { - "type": "modonomicon:tag", - "tag": "#minecraft:candles" - }, - "N": { - "type": "modonomicon:block", - "block": "minecraft:wither_skeleton_skull" - }, - "P": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_purple" - }, - "W": { - "type": "modonomicon:block", - "block": "occultism:chalk_glyph_white" - }, - "Z": { - "type": "modonomicon:block", - "block": "minecraft:skeleton_skull" - } - }, - "pattern": [ - [ - "___________", - "____PPP____", - "___WCWCW___", - "__W_WNW_W__", - "_PCWP_PWCP_", - "_PWZ_0_ZWP_", - "_PCWP_PWCP_", - "__W_WNW_W__", - "___WCWCW___", - "____PPP____", - "___________" - ], - [ - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*", - "+*+*+*+*+*+", - "*+*+*+*+*+*" - ] - ] -} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/blasting/netherite_ingot_from_dust.json b/src/generated/resources/data/occultism/recipe/blasting/netherite_ingot_from_dust.json new file mode 100644 index 000000000..184223f52 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/blasting/netherite_ingot_from_dust.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:blasting", + "category": "misc", + "cookingtime": 100, + "experience": 0.7, + "ingredient": { + "tag": "c:dusts/netherite" + }, + "result": { + "count": 1, + "id": "minecraft:netherite_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_black_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_black_impure.json index d45bd8a4e..49c44ed81 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_black_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_black_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:netherite_ingot" + "tag": "c:dusts/witherite" }, { - "item": "minecraft:wither_rose" + "tag": "c:dusts/witherite" }, { - "item": "minecraft:blackstone" + "tag": "c:dusts/witherite" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_blue_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_blue_impure.json index 78648eead..e67cabe54 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_blue_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_blue_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:heart_of_the_sea" + "item": "occultism:marid_essence" }, { - "tag": "c:gems/lapis" + "tag": "c:dusts/lapis" }, { - "item": "minecraft:tube_coral" + "tag": "c:dusts/lapis" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_brown_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_brown_impure.json index 2e9442259..efed6c8d4 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_brown_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_brown_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:pointed_dripstone" + "item": "occultism:cruelty_essence" }, { - "item": "minecraft:armadillo_scute" + "item": "minecraft:cocoa_beans" }, { - "item": "minecraft:rabbit_foot" + "item": "minecraft:cocoa_beans" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_cyan_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_cyan_impure.json index 2d5a860af..a56adc7fd 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_cyan_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_cyan_impure.json @@ -9,10 +9,10 @@ "tag": "c:dusts/iesnium" }, { - "item": "minecraft:glow_ink_sac" + "tag": "c:dusts/echo" }, { - "item": "minecraft:echo_shard" + "item": "minecraft:glow_ink_sac" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_gray_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_gray_impure.json index 551d7ca01..a8d6018ae 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_gray_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_gray_impure.json @@ -6,13 +6,7 @@ "item": "occultism:chalk_white_impure" }, { - "tag": "c:gunpowders" - }, - { - "item": "minecraft:wind_charge" - }, - { - "item": "minecraft:clay_ball" + "item": "occultism:gray_paste" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_green_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_green_impure.json index 165c92378..3227c2643 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_green_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_green_impure.json @@ -6,13 +6,7 @@ "item": "occultism:chalk_white_impure" }, { - "tag": "c:seeds" - }, - { - "tag": "minecraft:saplings" - }, - { - "tag": "minecraft:leaves" + "item": "occultism:nature_paste" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_light_blue_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_light_blue_impure.json index 2a813083f..9f2018ecf 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_light_blue_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_light_blue_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:ice" + "tag": "c:dusts/ice" }, { - "item": "minecraft:packed_ice" + "tag": "c:dusts/packed_ice" }, { - "item": "minecraft:blue_ice" + "tag": "c:dusts/blue_ice" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_light_gray_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_light_gray_impure.json index 847d52042..313110520 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_light_gray_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_light_gray_impure.json @@ -12,7 +12,7 @@ "tag": "c:dusts/iron" }, { - "item": "minecraft:calcite" + "tag": "c:dusts/calcite" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_lime_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_lime_impure.json index 32e36f7a9..b486718f9 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_lime_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_lime_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "tag": "c:slime_balls" + "tag": "c:dusts/research" }, { - "item": "minecraft:emerald" + "tag": "c:dusts/emerald" }, { - "item": "minecraft:experience_bottle" + "tag": "c:slime_balls" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_magenta_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_magenta_impure.json index 112d80147..a0c9eebe0 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_magenta_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_magenta_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:dragon_breath" + "tag": "c:dusts/dragonyst" }, { - "tag": "c:gems/amethyst" + "tag": "c:dusts/amethyst" }, { - "item": "minecraft:end_crystal" + "tag": "c:dusts/amethyst" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_orange_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_orange_impure.json index 38a675092..bbfd8214f 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_orange_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_orange_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:torchflower" + "item": "occultism:cursed_honey" }, { "item": "minecraft:glow_berries" }, { - "item": "minecraft:honeycomb" + "tag": "c:dusts/blaze" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_pink_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_pink_impure.json index 38647117b..af7a202db 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_pink_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_pink_impure.json @@ -6,13 +6,13 @@ "item": "occultism:chalk_white_impure" }, { - "item": "minecraft:pink_petals" + "item": "occultism:demonic_meat" }, { - "item": "minecraft:porkchop" + "item": "occultism:demonic_meat" }, { - "item": "minecraft:cherry_leaves" + "item": "occultism:demonic_meat" } ], "result": { diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_red_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_red_impure.json index 793f544ac..593708103 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_red_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_red_impure.json @@ -9,7 +9,7 @@ "item": "occultism:afrit_essence" }, { - "item": "minecraft:blaze_powder" + "item": "minecraft:torchflower" }, { "tag": "c:dusts/redstone" diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_white_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_white_impure.json index 0fae64d5a..d3769c97b 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_white_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_white_impure.json @@ -3,10 +3,10 @@ "category": "misc", "key": { "x": { - "item": "occultism:burnt_otherstone" + "tag": "c:dusts/otherstone" }, "y": { - "item": "occultism:otherworld_ashes" + "tag": "c:dusts/otherworld_wood" } }, "pattern": [ diff --git a/src/generated/resources/data/occultism/recipe/crafting/chalk_gold_impure.json b/src/generated/resources/data/occultism/recipe/crafting/chalk_yellow_impure.json similarity index 88% rename from src/generated/resources/data/occultism/recipe/crafting/chalk_gold_impure.json rename to src/generated/resources/data/occultism/recipe/crafting/chalk_yellow_impure.json index 3b143826a..1b98d2204 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/chalk_gold_impure.json +++ b/src/generated/resources/data/occultism/recipe/crafting/chalk_yellow_impure.json @@ -17,6 +17,6 @@ ], "result": { "count": 1, - "id": "occultism:chalk_gold_impure" + "id": "occultism:chalk_yellow_impure" } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crafting/magic_lamp_empty.json b/src/generated/resources/data/occultism/recipe/crafting/magic_lamp_empty.json index 61c2db782..0d455dd31 100644 --- a/src/generated/resources/data/occultism/recipe/crafting/magic_lamp_empty.json +++ b/src/generated/resources/data/occultism/recipe/crafting/magic_lamp_empty.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "i": { - "tag": "c:ingots/iesnium" + "tag": "c:raw_materials/iesnium" }, "s": { "tag": "c:ingots/silver" diff --git a/src/generated/resources/data/occultism/recipe/crafting/netherite_dust.json b/src/generated/resources/data/occultism/recipe/crafting/netherite_dust.json new file mode 100644 index 000000000..475ff7bf3 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crafting/netherite_dust.json @@ -0,0 +1,34 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:dusts/netherite_scrap" + }, + { + "tag": "c:dusts/netherite_scrap" + }, + { + "tag": "c:dusts/netherite_scrap" + }, + { + "tag": "c:dusts/netherite_scrap" + }, + { + "tag": "c:dusts/gold" + }, + { + "tag": "c:dusts/gold" + }, + { + "tag": "c:dusts/gold" + }, + { + "tag": "c:dusts/gold" + } + ], + "result": { + "count": 1, + "id": "occultism:netherite_dust" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/amethyst_dust.json b/src/generated/resources/data/occultism/recipe/crushing/amethyst_dust.json new file mode 100644 index 000000000..a610f4a72 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/amethyst_dust.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:ores/amethyst" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:dusts/amethyst" + } + } + ], + "type": "occultism:crushing", + "ingredient": { + "tag": "c:ores/amethyst" + }, + "result": { + "type": "occultism:tag", + "count": 4, + "tag": "c:dusts/amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/amethyst_dust_from_gem.json b/src/generated/resources/data/occultism/recipe/crushing/amethyst_dust_from_gem.json new file mode 100644 index 000000000..721faed5c --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/amethyst_dust_from_gem.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/amethyst" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:dusts/amethyst" + } + } + ], + "type": "occultism:crushing", + "ingredient": { + "tag": "c:gems/amethyst" + }, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/amethyst" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/blackstone_dust.json b/src/generated/resources/data/occultism/recipe/crushing/blackstone_dust.json new file mode 100644 index 000000000..b44756745 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/blackstone_dust.json @@ -0,0 +1,12 @@ +{ + "type": "occultism:crushing", + "ignore_crushing_multiplier": true, + "ingredient": { + "item": "minecraft:blackstone" + }, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/blackstone" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/blue_ice_dust.json b/src/generated/resources/data/occultism/recipe/crushing/blue_ice_dust.json new file mode 100644 index 000000000..939448a10 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/blue_ice_dust.json @@ -0,0 +1,13 @@ +{ + "type": "occultism:crushing", + "ignore_crushing_multiplier": true, + "ingredient": { + "item": "minecraft:blue_ice" + }, + "min_tier": 2, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/blue_ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/calcite_dust.json b/src/generated/resources/data/occultism/recipe/crushing/calcite_dust.json new file mode 100644 index 000000000..709160e12 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/calcite_dust.json @@ -0,0 +1,12 @@ +{ + "type": "occultism:crushing", + "ignore_crushing_multiplier": true, + "ingredient": { + "item": "minecraft:calcite" + }, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/calcite" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/echo_dust.json b/src/generated/resources/data/occultism/recipe/crushing/echo_dust.json new file mode 100644 index 000000000..b484bcd87 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/echo_dust.json @@ -0,0 +1,13 @@ +{ + "type": "occultism:crushing", + "ignore_crushing_multiplier": true, + "ingredient": { + "item": "minecraft:echo_shard" + }, + "min_tier": 4, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/echo" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/ice_dust.json b/src/generated/resources/data/occultism/recipe/crushing/ice_dust.json new file mode 100644 index 000000000..62a13621d --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/ice_dust.json @@ -0,0 +1,13 @@ +{ + "type": "occultism:crushing", + "ignore_crushing_multiplier": true, + "ingredient": { + "item": "minecraft:ice" + }, + "min_tier": 2, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/netherite_scrap_dust.json b/src/generated/resources/data/occultism/recipe/crushing/netherite_scrap_dust.json new file mode 100644 index 000000000..8de59c0e1 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/netherite_scrap_dust.json @@ -0,0 +1,11 @@ +{ + "type": "occultism:crushing", + "ingredient": { + "tag": "c:ores/netherite_scrap" + }, + "result": { + "type": "occultism:tag", + "count": 2, + "tag": "c:dusts/netherite_scrap" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/crushing/packed_ice_dust.json b/src/generated/resources/data/occultism/recipe/crushing/packed_ice_dust.json new file mode 100644 index 000000000..a47b34de8 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/crushing/packed_ice_dust.json @@ -0,0 +1,13 @@ +{ + "type": "occultism:crushing", + "ignore_crushing_multiplier": true, + "ingredient": { + "item": "minecraft:packed_ice" + }, + "min_tier": 2, + "result": { + "type": "occultism:tag", + "count": 1, + "tag": "c:dusts/packed_ice" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/andesite.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/andesite.json index 782ca58e9..7a4dcf9b4 100644 --- a/src/generated/resources/data/occultism/recipe/miner/basic_resources/andesite.json +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/andesite.json @@ -9,6 +9,6 @@ "count": 1, "id": "minecraft:andesite" }, - "weight": 10000 + "weight": 7000 } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/basalt.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/basalt.json new file mode 100644 index 000000000..3d0a509fb --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/basalt.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/basic_resources" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "minecraft:basalt" + }, + "weight": 1000 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/blackstone.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/blackstone.json new file mode 100644 index 000000000..4c0cba4aa --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/blackstone.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/basic_resources" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "minecraft:blackstone" + }, + "weight": 1000 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/deepslate.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/deepslate.json new file mode 100644 index 000000000..adcccb823 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/deepslate.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/basic_resources" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "minecraft:deepslate" + }, + "weight": 5000 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/diorite.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/diorite.json index 8b49e9fdb..31e357c08 100644 --- a/src/generated/resources/data/occultism/recipe/miner/basic_resources/diorite.json +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/diorite.json @@ -9,6 +9,6 @@ "count": 1, "id": "minecraft:diorite" }, - "weight": 10000 + "weight": 7000 } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/granite.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/granite.json index 6aae98f94..6aca08cd1 100644 --- a/src/generated/resources/data/occultism/recipe/miner/basic_resources/granite.json +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/granite.json @@ -9,6 +9,6 @@ "count": 1, "id": "minecraft:granite" }, - "weight": 10000 + "weight": 7000 } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_cobblestone.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_cobblestone.json index 9e7fad2bd..d5e8946b5 100644 --- a/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_cobblestone.json +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_cobblestone.json @@ -9,6 +9,6 @@ "count": 1, "id": "minecraft:mossy_cobblestone" }, - "weight": 200 + "weight": 3000 } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_stone_bricks.json b/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_stone_bricks.json index a8e2e0f13..78777c33f 100644 --- a/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_stone_bricks.json +++ b/src/generated/resources/data/occultism/recipe/miner/basic_resources/mossy_stone_bricks.json @@ -9,6 +9,6 @@ "count": 1, "id": "minecraft:mossy_stone_bricks" }, - "weight": 10000 + "weight": 3000 } } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/amethyst.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/amethyst.json new file mode 100644 index 000000000..fc0da1dc2 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/amethyst.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/amethyst" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 9, + "tag": "c:gems/amethyst", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/ancient_debris.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/ancient_debris.json new file mode 100644 index 000000000..0faa5dd3a --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/ancient_debris.json @@ -0,0 +1,12 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 9, + "tag": "c:ores/netherite_scrap", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/arcane_crystal.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/arcane_crystal.json new file mode 100644 index 000000000..76b0a5a0f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/arcane_crystal.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/arcane_crystal" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/arcane_crystal", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/coal.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/coal.json new file mode 100644 index 000000000..a5c166f5f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/coal.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/coal" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/coal", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/dark.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/dark.json new file mode 100644 index 000000000..e588ca250 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/dark.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/dark" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/dark", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/diamond.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/diamond.json new file mode 100644 index 000000000..f73a5ce04 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/diamond.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/diamond" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/diamond", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/emerald.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/emerald.json new file mode 100644 index 000000000..b35b8059b --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/emerald.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/emerald" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/emerald", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/fluorite.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/fluorite.json new file mode 100644 index 000000000..61dab1983 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/fluorite.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/fluorite" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/fluorite", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/glowstone_dust.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/glowstone_dust.json new file mode 100644 index 000000000..8c2a11117 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/glowstone_dust.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:dusts/glowstone" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 9, + "tag": "c:dusts/glowstone", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/inferium_essence.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/inferium_essence.json new file mode 100644 index 000000000..f9c87090d --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/inferium_essence.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/inferium_essence" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/inferium_essence", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/lapis.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/lapis.json new file mode 100644 index 000000000..190c07cde --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/lapis.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/lapis" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/lapis", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/lignite_coal.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/lignite_coal.json new file mode 100644 index 000000000..c1d121157 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/lignite_coal.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/lignite_coal" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/lignite_coal", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/mining_dim_core.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/mining_dim_core.json new file mode 100644 index 000000000..8aa6ed99f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/mining_dim_core.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "occultism:mining_dim_core" + }, + "weight": 1 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/monazite.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/monazite.json new file mode 100644 index 000000000..7cb13d58f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/monazite.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/monazite" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/monazite", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/peridot.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/peridot.json new file mode 100644 index 000000000..11a3ff809 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/peridot.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/peridot" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/peridot", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/prosperity_shard.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/prosperity_shard.json new file mode 100644 index 000000000..baf1363ae --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/prosperity_shard.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/prosperity_shard" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/prosperity_shard", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/quartz.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/quartz.json new file mode 100644 index 000000000..b15678fb1 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/quartz.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/quartz" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 9, + "tag": "c:gems/quartz", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_aethersent.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_aethersent.json new file mode 100644 index 000000000..f5119058f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_aethersent.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_aethersent" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_aethersent", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_allthemodium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_allthemodium.json new file mode 100644 index 000000000..646a21a42 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_allthemodium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_allthemodium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_allthemodium", + "weight": 30 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_aluminium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_aluminium.json new file mode 100644 index 000000000..cc7d9609b --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_aluminium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_aluminium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_aluminium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_antimony.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_antimony.json new file mode 100644 index 000000000..418d68c6b --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_antimony.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_antimony" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_antimony", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_azure_silver.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_azure_silver.json new file mode 100644 index 000000000..1bb8bb231 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_azure_silver.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_azure_silver" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_azure_silver", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_cloggrum.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_cloggrum.json new file mode 100644 index 000000000..fcfcb6e84 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_cloggrum.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_cloggrum" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_cloggrum", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_copper.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_copper.json new file mode 100644 index 000000000..f9f20de2c --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_copper.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_copper" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_copper", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_crimson_iron.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_crimson_iron.json new file mode 100644 index 000000000..c1c08056d --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_crimson_iron.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_crimson_iron" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_crimson_iron", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_froststeel.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_froststeel.json new file mode 100644 index 000000000..61fa762a9 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_froststeel.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_froststeel" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_froststeel", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_gold.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_gold.json new file mode 100644 index 000000000..b47929d4d --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_gold.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_gold" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_gold", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iesnium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iesnium.json new file mode 100644 index 000000000..a810877da --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iesnium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_iesnium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_iesnium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iridium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iridium.json new file mode 100644 index 000000000..00b4dbcc1 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iridium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_iridium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_iridium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iron.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iron.json new file mode 100644 index 000000000..285f1d818 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_iron.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_iron" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_iron", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_lead.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_lead.json new file mode 100644 index 000000000..688c5b708 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_lead.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_lead" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_lead", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_nickel.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_nickel.json new file mode 100644 index 000000000..742413c40 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_nickel.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_nickel" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_nickel", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_osmium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_osmium.json new file mode 100644 index 000000000..2ed5d2835 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_osmium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_osmium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_osmium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_platinum.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_platinum.json new file mode 100644 index 000000000..6b08b2756 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_platinum.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_platinum" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_platinum", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_silver.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_silver.json new file mode 100644 index 000000000..2bc802cd3 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_silver.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_silver" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_silver", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_tin.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_tin.json new file mode 100644 index 000000000..46ee71b5a --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_tin.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_tin" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_tin", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_titanium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_titanium.json new file mode 100644 index 000000000..f4eff9b94 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_titanium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_titanium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_titanium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_tungsten.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_tungsten.json new file mode 100644 index 000000000..b7fb30f63 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_tungsten.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_tungsten" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_tungsten", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_unobtainium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_unobtainium.json new file mode 100644 index 000000000..406b83900 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_unobtainium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_unobtainium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_unobtainium", + "weight": 10 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_uranium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_uranium.json new file mode 100644 index 000000000..dbb18f58f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_uranium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_uranium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_uranium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_vibranium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_vibranium.json new file mode 100644 index 000000000..0126aa89b --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_vibranium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_vibranium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_vibranium", + "weight": 20 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_yellorium.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_yellorium.json new file mode 100644 index 000000000..e7279d726 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_yellorium.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_yellorium" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_yellorium", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_zinc.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_zinc.json new file mode 100644 index 000000000..a6e4b6382 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/raw_zinc.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/raw_zinc" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/raw_zinc", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/redstone.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/redstone.json new file mode 100644 index 000000000..50b7ff124 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/redstone.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/redstone" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/redstone", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/ruby.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/ruby.json new file mode 100644 index 000000000..12ed3e3f8 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/ruby.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/ruby" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/ruby", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/rune.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/rune.json new file mode 100644 index 000000000..601b6d9c5 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/rune.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/rune" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/rune", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/sal_ammoniac.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/sal_ammoniac.json new file mode 100644 index 000000000..bbab4e18d --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/sal_ammoniac.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:gems/sal_ammoniac" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 9, + "tag": "c:gems/sal_ammoniac", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/salt.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/salt.json new file mode 100644 index 000000000..a1b1124ba --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/salt.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/salt" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/salt", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/sapphire.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/sapphire.json new file mode 100644 index 000000000..db39a7ea7 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/sapphire.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/sapphire" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/sapphire", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/soulium_dust.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/soulium_dust.json new file mode 100644 index 000000000..1f69b322c --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/soulium_dust.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/soulium_dust" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/soulium_dust", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/stellarite.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/stellarite.json new file mode 100644 index 000000000..565b3d475 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/stellarite.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/stellarite" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/stellarite", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/sulfur.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/sulfur.json new file mode 100644 index 000000000..266f39b4f --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/sulfur.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/sulfur" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/sulfur", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/eldritch/uraninite.json b/src/generated/resources/data/occultism/recipe/miner/eldritch/uraninite.json new file mode 100644 index 000000000..2b036cca4 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/eldritch/uraninite.json @@ -0,0 +1,28 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "occultism:miners/eldritch" + } + }, + { + "type": "neoforge:not", + "value": { + "type": "neoforge:tag_empty", + "tag": "c:storage_blocks/uraninite" + } + } + ], + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/eldritch" + }, + "result": { + "type": "occultism:weighted_tag", + "count": 1, + "tag": "c:storage_blocks/uraninite", + "weight": 90 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/master/mining_dim_core.json b/src/generated/resources/data/occultism/recipe/miner/master/mining_dim_core.json new file mode 100644 index 000000000..737afc602 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/master/mining_dim_core.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/master" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "occultism:mining_dim_core" + }, + "weight": 1 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/ores/crying_obsidian.json b/src/generated/resources/data/occultism/recipe/miner/ores/crying_obsidian.json new file mode 100644 index 000000000..05d8e961e --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/ores/crying_obsidian.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/ores" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "minecraft:crying_obsidian" + }, + "weight": 50 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/miner/ores/gilded_blackstone.json b/src/generated/resources/data/occultism/recipe/miner/ores/gilded_blackstone.json new file mode 100644 index 000000000..3b443cdb6 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/miner/ores/gilded_blackstone.json @@ -0,0 +1,14 @@ +{ + "type": "occultism:miner", + "ingredient": { + "tag": "occultism:miners/ores" + }, + "result": { + "type": "occultism:weighted_item", + "stack": { + "count": 1, + "id": "minecraft:gilded_blackstone" + }, + "weight": 373 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_budding_amethyst.json b/src/generated/resources/data/occultism/recipe/ritual/craft_budding_amethyst.json new file mode 100644 index 000000000..9678a3801 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_budding_amethyst.json @@ -0,0 +1,59 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "minecraft:amethyst_block" + }, + "duration": 180, + "entity_to_sacrifice": { + "display_name": "ritual.occultism.sacrifice.allay", + "tag": "c:allay" + }, + "ingredients": [ + { + "item": "minecraft:small_amethyst_bud" + }, + { + "item": "minecraft:medium_amethyst_bud" + }, + { + "item": "minecraft:large_amethyst_bud" + }, + { + "item": "minecraft:amethyst_cluster" + }, + { + "item": "minecraft:amethyst_shard" + }, + { + "tag": "c:dusts/amethyst" + }, + { + "item": "minecraft:small_amethyst_bud" + }, + { + "item": "minecraft:medium_amethyst_bud" + }, + { + "item": "minecraft:large_amethyst_bud" + }, + { + "item": "minecraft:amethyst_cluster" + }, + { + "item": "minecraft:amethyst_shard" + }, + { + "tag": "c:dusts/amethyst" + } + ], + "pentacle_id": "occultism:contact_wild_spirit", + "result": { + "count": 1, + "id": "minecraft:budding_amethyst" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_budding_amethyst" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_dragonyst_dust.json b/src/generated/resources/data/occultism/recipe/ritual/craft_dragonyst_dust.json new file mode 100644 index 000000000..70f674883 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_dragonyst_dust.json @@ -0,0 +1,49 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_marid" + }, + "duration": 300, + "ingredients": [ + { + "tag": "c:dusts/amethyst" + }, + { + "tag": "c:dusts/amethyst" + }, + { + "tag": "c:dusts/end_stone" + }, + { + "item": "minecraft:end_crystal" + }, + { + "item": "minecraft:end_crystal" + }, + { + "item": "minecraft:end_crystal" + }, + { + "item": "minecraft:end_crystal" + }, + { + "item": "minecraft:dragon_breath" + }, + { + "item": "minecraft:dragon_breath" + }, + { + "item": "minecraft:dragon_breath" + } + ], + "pentacle_id": "occultism:craft_marid", + "result": { + "count": 1, + "id": "occultism:dragonyst_dust" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_dragonyst_dust" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_gray_paste.json b/src/generated/resources/data/occultism/recipe/ritual/craft_gray_paste.json new file mode 100644 index 000000000..2ed046a71 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_gray_paste.json @@ -0,0 +1,28 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_djinni" + }, + "duration": 90, + "ingredients": [ + { + "tag": "c:gunpowders" + }, + { + "item": "minecraft:clay_ball" + }, + { + "item": "minecraft:wind_charge" + } + ], + "pentacle_id": "occultism:craft_djinni", + "result": { + "count": 1, + "id": "occultism:gray_paste" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_gray_paste" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_miner_ancient_eldritch.json b/src/generated/resources/data/occultism/recipe/ritual/craft_miner_ancient_eldritch.json new file mode 100644 index 000000000..0ffee38ca --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_miner_ancient_eldritch.json @@ -0,0 +1,43 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:mining_dim_core" + }, + "duration": 360, + "ingredients": [ + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + }, + { + "item": "occultism:miner_marid_master" + } + ], + "pentacle_id": "occultism:contact_eldritch_spirit", + "result": { + "count": 1, + "id": "occultism:miner_ancient_eldritch" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_miner_ancient_eldritch" + }, + "ritual_type": "occultism:craft_miner_spirit" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_nature_paste.json b/src/generated/resources/data/occultism/recipe/ritual/craft_nature_paste.json new file mode 100644 index 000000000..78a3a712a --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_nature_paste.json @@ -0,0 +1,45 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_foliot" + }, + "ingredients": [ + { + "tag": "minecraft:leaves" + }, + { + "tag": "minecraft:saplings" + }, + { + "tag": "c:seeds" + }, + { + "tag": "minecraft:leaves" + }, + { + "tag": "minecraft:saplings" + }, + { + "tag": "c:seeds" + }, + { + "tag": "minecraft:leaves" + }, + { + "tag": "minecraft:saplings" + }, + { + "tag": "c:seeds" + } + ], + "pentacle_id": "occultism:craft_foliot", + "result": { + "count": 1, + "id": "occultism:nature_paste" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_nature_paste" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_reinforced_deepslate.json b/src/generated/resources/data/occultism/recipe/ritual/craft_reinforced_deepslate.json new file mode 100644 index 000000000..731f72716 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_reinforced_deepslate.json @@ -0,0 +1,59 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "minecraft:deepslate" + }, + "duration": 360, + "entity_to_sacrifice": { + "display_name": "ritual.occultism.sacrifice.warden", + "tag": "c:wardens" + }, + "ingredients": [ + { + "tag": "c:nether_stars" + }, + { + "item": "minecraft:shulker_shell" + }, + { + "item": "minecraft:armadillo_scute" + }, + { + "item": "minecraft:turtle_scute" + }, + { + "item": "minecraft:echo_shard" + }, + { + "item": "minecraft:anvil" + }, + { + "tag": "c:storage_blocks/netherite" + }, + { + "tag": "c:obsidians" + }, + { + "tag": "c:obsidians/crying" + }, + { + "item": "minecraft:end_stone_bricks" + }, + { + "item": "minecraft:sculk_catalyst" + }, + { + "tag": "c:storage_blocks/iesnium" + } + ], + "pentacle_id": "occultism:contact_eldritch_spirit", + "result": { + "count": 1, + "id": "minecraft:reinforced_deepslate" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_reinforced_deepslate" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_research_fragment_dust.json b/src/generated/resources/data/occultism/recipe/ritual/craft_research_fragment_dust.json new file mode 100644 index 000000000..53b18c1e7 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_research_fragment_dust.json @@ -0,0 +1,28 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_foliot" + }, + "duration": 60, + "ingredients": [ + { + "tag": "c:dusts/emerald" + }, + { + "item": "minecraft:experience_bottle" + }, + { + "item": "minecraft:experience_bottle" + } + ], + "pentacle_id": "occultism:craft_foliot", + "result": { + "count": 1, + "id": "occultism:research_fragment_dust" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_research_fragment_dust" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_ritual_satchel_t2.json b/src/generated/resources/data/occultism/recipe/ritual/craft_ritual_satchel_t2.json index 24cf2a8b8..78c6d81c3 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/craft_ritual_satchel_t2.json +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_ritual_satchel_t2.json @@ -39,7 +39,7 @@ "tag": "c:ender_pearls" } ], - "pentacle_id": "occultism:craft_djinni", + "pentacle_id": "occultism:craft_afrit", "result": { "count": 1, "id": "occultism:ritual_satchel_t2" diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_wild_trim.json b/src/generated/resources/data/occultism/recipe/ritual/craft_wild_trim.json index c949487a6..74170bcf1 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/craft_wild_trim.json +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_wild_trim.json @@ -6,7 +6,7 @@ "duration": 240, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.ocelot", - "tag": "occultism:ocelot" + "tag": "c:ocelots" }, "ingredients": [ { @@ -46,7 +46,7 @@ "item": "minecraft:glistering_melon_slice" } ], - "pentacle_id": "occultism:craft_marid", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "count": 1, "id": "minecraft:wild_armor_trim_smithing_template" diff --git a/src/generated/resources/data/occultism/recipe/ritual/craft_witherite_dust.json b/src/generated/resources/data/occultism/recipe/ritual/craft_witherite_dust.json new file mode 100644 index 000000000..ea9944020 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/craft_witherite_dust.json @@ -0,0 +1,37 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_afrit" + }, + "duration": 150, + "ingredients": [ + { + "tag": "c:dusts/netherite" + }, + { + "tag": "c:dusts/blackstone" + }, + { + "tag": "c:dusts/blackstone" + }, + { + "item": "minecraft:wither_rose" + }, + { + "item": "minecraft:wither_rose" + }, + { + "item": "minecraft:wither_rose" + } + ], + "pentacle_id": "occultism:craft_afrit", + "result": { + "count": 3, + "id": "occultism:witherite_dust" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/craft_witherite_dust" + }, + "ritual_type": "occultism:craft" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/familiar_cthulhu.json b/src/generated/resources/data/occultism/recipe/ritual/familiar_cthulhu.json index f3b81226e..b70cb3659 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/familiar_cthulhu.json +++ b/src/generated/resources/data/occultism/recipe/ritual/familiar_cthulhu.json @@ -6,7 +6,7 @@ "duration": 60, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.squid", - "tag": "c:squid" + "tag": "c:squids" }, "entity_to_summon": "occultism:cthulhu_familiar", "ingredients": [ diff --git a/src/generated/resources/data/occultism/recipe/ritual/familiar_mummy.json b/src/generated/resources/data/occultism/recipe/ritual/familiar_mummy.json index 96b8428fb..cb16d3b21 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/familiar_mummy.json +++ b/src/generated/resources/data/occultism/recipe/ritual/familiar_mummy.json @@ -10,10 +10,10 @@ "entity_to_summon": "occultism:mummy_familiar", "ingredients": [ { - "tag": "c:slimeballs" + "tag": "c:slime_balls" }, { - "tag": "c:slimeballs" + "tag": "c:slime_balls" }, { "item": "minecraft:paper" diff --git a/src/generated/resources/data/occultism/recipe/ritual/familiar_parrot.json b/src/generated/resources/data/occultism/recipe/ritual/familiar_parrot.json index 42e222dc1..e1619975e 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/familiar_parrot.json +++ b/src/generated/resources/data/occultism/recipe/ritual/familiar_parrot.json @@ -5,7 +5,7 @@ }, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.chicken", - "tag": "c:chicken" + "tag": "c:chickens" }, "entity_to_summon": "minecraft:parrot", "ingredients": [ diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_bee.json b/src/generated/resources/data/occultism/recipe/ritual/possess_bee.json new file mode 100644 index 000000000..d6a1e27e1 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_bee.json @@ -0,0 +1,42 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_djinni" + }, + "duration": 60, + "entity_to_sacrifice": { + "display_name": "ritual.occultism.sacrifice.bats", + "tag": "c:bats" + }, + "entity_to_summon": "occultism:possessed_bee", + "ingredients": [ + { + "item": "minecraft:honeycomb" + }, + { + "item": "minecraft:honey_block" + }, + { + "item": "minecraft:honey_bottle" + }, + { + "item": "minecraft:honeycomb_block" + } + ], + "pentacle_id": "occultism:possess_djinni", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_bee\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.possess_bee.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:cursed_honey" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/possess_bee" + }, + "ritual_type": "occultism:summon" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_elder_guardian.json b/src/generated/resources/data/occultism/recipe/ritual/possess_elder_guardian.json index 8b1330e5d..4344f65b3 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/possess_elder_guardian.json +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_elder_guardian.json @@ -23,7 +23,7 @@ "item": "minecraft:dark_prismarine" }, { - "item": "minecraft:wet_sponge" + "item": "minecraft:yellow_wool" }, { "item": "minecraft:sea_lantern" diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_goat.json b/src/generated/resources/data/occultism/recipe/ritual/possess_goat.json new file mode 100644 index 000000000..e58406585 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_goat.json @@ -0,0 +1,66 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_marid" + }, + "duration": 240, + "entity_to_sacrifice": { + "display_name": "ritual.occultism.sacrifice.tadpoles", + "tag": "c:tadpoles" + }, + "entity_to_summon": "occultism:mercy_goat", + "ingredients": [ + { + "item": "minecraft:pointed_dripstone" + }, + { + "item": "minecraft:pointed_dripstone" + }, + { + "item": "minecraft:rabbit_foot" + }, + { + "item": "minecraft:rabbit_foot" + }, + { + "item": "minecraft:rabbit_foot" + }, + { + "item": "minecraft:rabbit_foot" + }, + { + "item": "minecraft:armadillo_scute" + }, + { + "item": "minecraft:armadillo_scute" + }, + { + "item": "minecraft:armadillo_scute" + }, + { + "item": "minecraft:armadillo_scute" + }, + { + "tag": "minecraft:wool" + }, + { + "tag": "minecraft:wool" + } + ], + "pentacle_id": "occultism:possess_marid", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_goat\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.possess_goat.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:cruelty_essence" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/possess_goat" + }, + "ritual_type": "occultism:summon" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_random_animal.json b/src/generated/resources/data/occultism/recipe/ritual/possess_random_animal.json similarity index 78% rename from src/generated/resources/data/occultism/recipe/ritual/summon_random_animal.json rename to src/generated/resources/data/occultism/recipe/ritual/possess_random_animal.json index bb191b16a..af1a751a9 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_random_animal.json +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_random_animal.json @@ -33,12 +33,12 @@ "item": "minecraft:egg" } ], - "pentacle_id": "occultism:summon_foliot", + "pentacle_id": "occultism:possess_foliot", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_random_animal\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_random_animal\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_random_animal.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.possess_random_animal.tooltip\"}" ] }, "count": 1, @@ -46,7 +46,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_random_animal" + "id": "occultism:ritual_dummy/possess_random_animal" }, "ritual_type": "occultism:summon" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_skeleton.json b/src/generated/resources/data/occultism/recipe/ritual/possess_skeleton.json index fbac9fb26..4a7e1f1ec 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/possess_skeleton.json +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_skeleton.json @@ -3,9 +3,10 @@ "activation_item": { "item": "occultism:book_of_binding_bound_foliot" }, + "duration": 15, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.chicken", - "tag": "c:chicken" + "tag": "c:chickens" }, "entity_to_summon": "occultism:possessed_skeleton", "ingredients": [ diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_otherworld_bird.json b/src/generated/resources/data/occultism/recipe/ritual/possess_unbound_otherworld_bird.json similarity index 79% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_otherworld_bird.json rename to src/generated/resources/data/occultism/recipe/ritual/possess_unbound_otherworld_bird.json index 993971af4..35cc573c8 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_otherworld_bird.json +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_unbound_otherworld_bird.json @@ -28,9 +28,9 @@ "pentacle_id": "occultism:possess_djinni", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_otherworld_bird\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_unbound_otherworld_bird\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_otherworld_bird.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.possess_unbound_otherworld_bird.tooltip\"}" ] }, "count": 1, @@ -38,7 +38,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_otherworld_bird" + "id": "occultism:ritual_dummy/possess_unbound_otherworld_bird" }, "ritual_type": "occultism:summon" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_parrot.json b/src/generated/resources/data/occultism/recipe/ritual/possess_unbound_parrot.json similarity index 74% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_parrot.json rename to src/generated/resources/data/occultism/recipe/ritual/possess_unbound_parrot.json index 086813db2..2da037536 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_parrot.json +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_unbound_parrot.json @@ -5,7 +5,7 @@ }, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.chicken", - "tag": "c:chicken" + "tag": "c:chickens" }, "entity_to_summon": "minecraft:parrot", "ingredients": [ @@ -25,12 +25,12 @@ "tag": "c:dyes/blue" } ], - "pentacle_id": "occultism:summon_foliot", + "pentacle_id": "occultism:possess_foliot", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_parrot\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_unbound_parrot\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_parrot.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.possess_unbound_parrot.tooltip\"}" ] }, "count": 1, @@ -38,7 +38,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_parrot" + "id": "occultism:ritual_dummy/possess_unbound_parrot" }, "ritual_type": "occultism:summon" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_warden.json b/src/generated/resources/data/occultism/recipe/ritual/possess_warden.json index 837152bf9..60aff046e 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/possess_warden.json +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_warden.json @@ -22,9 +22,6 @@ { "item": "minecraft:sculk" }, - { - "item": "minecraft:sculk_shrieker" - }, { "item": "minecraft:sculk_sensor" }, @@ -34,9 +31,6 @@ { "item": "minecraft:sculk" }, - { - "item": "minecraft:sculk_shrieker" - }, { "item": "minecraft:sculk_sensor" }, diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_witch.json b/src/generated/resources/data/occultism/recipe/ritual/possess_witch.json new file mode 100644 index 000000000..72610edf9 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_witch.json @@ -0,0 +1,41 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_foliot" + }, + "entity_to_sacrifice": { + "display_name": "ritual.occultism.sacrifice.cats", + "tag": "c:cats" + }, + "entity_to_summon": "occultism:possessed_witch", + "ingredients": [ + { + "item": "minecraft:glass_bottle" + }, + { + "tag": "c:dusts/redstone" + }, + { + "item": "minecraft:brown_mushroom" + }, + { + "item": "minecraft:red_mushroom" + } + ], + "pentacle_id": "occultism:possess_foliot", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_witch\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.possess_witch.tooltip\"}" + ] + }, + "count": 1, + "id": "minecraft:experience_bottle" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/possess_witch" + }, + "ritual_type": "occultism:summon" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_zombie_piglin.json b/src/generated/resources/data/occultism/recipe/ritual/possess_zombie_piglin.json new file mode 100644 index 000000000..5380f0e64 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/possess_zombie_piglin.json @@ -0,0 +1,42 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_afrit" + }, + "duration": 90, + "entity_to_sacrifice": { + "display_name": "ritual.occultism.sacrifice.pigs", + "tag": "c:pigs" + }, + "entity_to_summon": "occultism:possessed_zombie_piglin", + "ingredients": [ + { + "item": "minecraft:cherry_leaves" + }, + { + "item": "minecraft:pink_petals" + }, + { + "item": "occultism:tallow" + }, + { + "item": "minecraft:quartz" + } + ], + "pentacle_id": "occultism:possess_unbound_afrit", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_zombie_piglin\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.possess_zombie_piglin.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:demonic_meat" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/possess_zombie_piglin" + }, + "ritual_type": "occultism:summon" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/repair_armors.json b/src/generated/resources/data/occultism/recipe/ritual/repair_armors.json new file mode 100644 index 000000000..1e7ec0fd1 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/repair_armors.json @@ -0,0 +1,37 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "tag": "c:armors" + }, + "duration": 60, + "ingredients": [ + { + "tag": "c:ingots/iesnium" + }, + { + "tag": "c:ingots/iesnium" + }, + { + "tag": "occultism:armored_items" + }, + { + "item": "occultism:spirit_attuned_gem" + } + ], + "pentacle_id": "occultism:craft_afrit", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.repair_armors\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.repair_armors.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:repair_icon" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/repair_armors" + }, + "ritual_type": "occultism:repair" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/repair_chalks.json b/src/generated/resources/data/occultism/recipe/ritual/repair_chalks.json new file mode 100644 index 000000000..b86b93789 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/repair_chalks.json @@ -0,0 +1,34 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "tag": "occultism:tools/chalk" + }, + "duration": 5, + "ingredients": [ + { + "tag": "c:dusts/copper" + }, + { + "tag": "c:dusts/otherworld_wood" + }, + { + "tag": "c:dusts/otherstone" + } + ], + "pentacle_id": "occultism:craft_djinni", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.repair_chalks\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.repair_chalks.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:repair_icon" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/repair_chalks" + }, + "ritual_type": "occultism:repair" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/repair_miners.json b/src/generated/resources/data/occultism/recipe/ritual/repair_miners.json new file mode 100644 index 000000000..ec5393bad --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/repair_miners.json @@ -0,0 +1,34 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "tag": "occultism:miners" + }, + "duration": 60, + "ingredients": [ + { + "tag": "c:storage_blocks/iesnium" + }, + { + "item": "occultism:spirit_attuned_crystal" + }, + { + "item": "occultism:otherworld_essence" + } + ], + "pentacle_id": "occultism:craft_afrit", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.repair_miners\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.repair_miners.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:repair_icon" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/repair_miners" + }, + "ritual_type": "occultism:repair" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/repair_tools.json b/src/generated/resources/data/occultism/recipe/ritual/repair_tools.json new file mode 100644 index 000000000..fce9e78db --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/repair_tools.json @@ -0,0 +1,34 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "tag": "c:tools" + }, + "duration": 60, + "ingredients": [ + { + "tag": "c:ingots/iesnium" + }, + { + "tag": "c:ingots/iesnium" + }, + { + "item": "occultism:spirit_attuned_gem" + } + ], + "pentacle_id": "occultism:craft_afrit", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.repair_tools\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.repair_tools.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:repair_icon" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/repair_tools" + }, + "ritual_type": "occultism:repair" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_allay.json b/src/generated/resources/data/occultism/recipe/ritual/resurrect_allay.json similarity index 74% rename from src/generated/resources/data/occultism/recipe/ritual/summon_allay.json rename to src/generated/resources/data/occultism/recipe/ritual/resurrect_allay.json index d9038ac06..26b9f8ffa 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_allay.json +++ b/src/generated/resources/data/occultism/recipe/ritual/resurrect_allay.json @@ -5,7 +5,7 @@ }, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.vex", - "tag": "occultism:vex" + "tag": "c:vex" }, "entity_to_summon": "minecraft:allay", "ingredients": [ @@ -22,12 +22,12 @@ "tag": "c:dusts/gold" } ], - "pentacle_id": "occultism:summon_foliot", + "pentacle_id": "occultism:resurrect_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_allay\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.resurrect_allay\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_allay.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.resurrect_allay.tooltip\"}" ] }, "count": 1, @@ -35,7 +35,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_allay" + "id": "occultism:ritual_dummy/resurrect_allay" }, "ritual_type": "occultism:summon" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/resurrect_familiar.json b/src/generated/resources/data/occultism/recipe/ritual/resurrect_familiar.json index 2f23fa6ea..5956c56f8 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/resurrect_familiar.json +++ b/src/generated/resources/data/occultism/recipe/ritual/resurrect_familiar.json @@ -18,10 +18,16 @@ "item": "occultism:otherworld_essence" } ], - "pentacle_id": "occultism:summon_foliot", + "pentacle_id": "occultism:resurrect_spirit", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.resurrect_familiar\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.resurrect_familiar.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:resurrect_icon" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_crusher.json b/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_crusher.json index c00ae5390..d717de923 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_crusher.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_crusher.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_afrit", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_afrit_crusher\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_afrit_crusher.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/afrit" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_rain_weather.json b/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_rain_weather.json index e241c6716..86393fe98 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_rain_weather.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_rain_weather.json @@ -25,8 +25,14 @@ ], "pentacle_id": "occultism:summon_afrit", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_afrit_rain_weather\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_afrit_rain_weather.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/afrit" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_thunder_weather.json b/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_thunder_weather.json index c67bcddd7..c130c69a7 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_thunder_weather.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_afrit_thunder_weather.json @@ -25,8 +25,14 @@ ], "pentacle_id": "occultism:summon_afrit", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_afrit_thunder_weather\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_afrit_thunder_weather.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/afrit" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_husband.json b/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_husband.json index 5828308bf..68a37d6e7 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_husband.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_husband.json @@ -6,7 +6,7 @@ "duration": 60, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.chicken", - "tag": "c:chicken" + "tag": "c:chickens" }, "entity_to_summon": "occultism:demonic_husband", "ingredients": [ @@ -38,7 +38,7 @@ ] }, "count": 1, - "id": "occultism:ritual_dummy/summon_demonic_husband" + "id": "occultism:spawn_egg/demonic_husband" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_wife.json b/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_wife.json index 2ad417dd5..73be0dffb 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_wife.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_demonic_wife.json @@ -6,7 +6,7 @@ "duration": 60, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.chicken", - "tag": "c:chicken" + "tag": "c:chickens" }, "entity_to_summon": "occultism:demonic_wife", "ingredients": [ @@ -38,7 +38,7 @@ ] }, "count": 1, - "id": "occultism:ritual_dummy/summon_demonic_wife" + "id": "occultism:spawn_egg/demonic_wife" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_clear_weather.json b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_clear_weather.json index 550db586c..59105e7d3 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_clear_weather.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_clear_weather.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_djinni", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_clear_weather\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_clear_weather.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/djinni" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_crusher.json b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_crusher.json index 052ba18d5..6ae96520b 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_crusher.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_crusher.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_djinni", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_crusher\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_crusher.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/djinni" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_day_time.json b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_day_time.json index d132d7082..d27e7cb57 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_day_time.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_day_time.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_djinni", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_day_time\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_day_time.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/marid" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_night_time.json b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_night_time.json index 2af9a5857..ae3ef11ac 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_night_time.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_djinni_night_time.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_djinni", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_night_time\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_djinni_night_time.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/djinni" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_crusher.json b/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_crusher.json index 5b25a88f6..9f4f60241 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_crusher.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_crusher.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_foliot", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_foliot_crusher\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_foliot_crusher.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/foliot" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_otherstone_trader.json b/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_otherstone_trader.json index 898176c5c..7cf9ce67c 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_otherstone_trader.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_otherstone_trader.json @@ -20,8 +20,14 @@ ], "pentacle_id": "occultism:summon_foliot", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_foliot_otherstone_trader\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_foliot_otherstone_trader.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/foliot" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_sapling_trader.json b/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_sapling_trader.json index 188d4e830..0f3bc4600 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_sapling_trader.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_foliot_sapling_trader.json @@ -20,8 +20,14 @@ ], "pentacle_id": "occultism:summon_foliot", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_foliot_sapling_trader\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_foliot_sapling_trader.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/foliot" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_marid_crusher.json b/src/generated/resources/data/occultism/recipe/ritual/summon_marid_crusher.json index b67901584..8530c278a 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_marid_crusher.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_marid_crusher.json @@ -21,8 +21,14 @@ ], "pentacle_id": "occultism:summon_marid", "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_marid_crusher\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_marid_crusher.tooltip\"}" + ] + }, "count": 1, - "id": "occultism:jei_dummy/none" + "id": "occultism:spawn_egg/marid" }, "ritual_dummy": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_afrit.json b/src/generated/resources/data/occultism/recipe/ritual/summon_unbound_afrit.json similarity index 73% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_afrit.json rename to src/generated/resources/data/occultism/recipe/ritual/summon_unbound_afrit.json index 48b8b300e..a6d7c847a 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_afrit.json +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_unbound_afrit.json @@ -20,15 +20,15 @@ "item": "minecraft:flint_and_steel" }, { - "item": "minecraft:gunpowder" + "tag": "c:gunpowders" } ], - "pentacle_id": "occultism:summon_wild_afrit", + "pentacle_id": "occultism:summon_unbound_afrit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_afrit\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_unbound_afrit\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_afrit.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.summon_unbound_afrit.tooltip\"}" ] }, "count": 1, @@ -36,7 +36,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_afrit" + "id": "occultism:ritual_dummy/summon_unbound_afrit" }, "ritual_type": "occultism:summon" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_unbound_marid.json b/src/generated/resources/data/occultism/recipe/ritual/summon_unbound_marid.json new file mode 100644 index 000000000..f916bac25 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/ritual/summon_unbound_marid.json @@ -0,0 +1,41 @@ +{ + "type": "occultism:ritual", + "activation_item": { + "item": "occultism:book_of_binding_bound_marid" + }, + "duration": 90, + "entity_to_summon": "occultism:marid_unbound", + "ingredients": [ + { + "item": "minecraft:conduit" + }, + { + "tag": "c:gems/prismarine" + }, + { + "item": "minecraft:prismarine_shard" + }, + { + "item": "minecraft:ghast_tear" + } + ], + "item_to_use": { + "item": "minecraft:trident" + }, + "pentacle_id": "occultism:summon_unbound_marid", + "result": { + "components": { + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_unbound_marid\"}", + "minecraft:lore": [ + "{\"translate\":\"item.occultism.ritual_dummy.summon_unbound_marid.tooltip\"}" + ] + }, + "count": 1, + "id": "occultism:marid_essence" + }, + "ritual_dummy": { + "count": 1, + "id": "occultism:ritual_dummy/summon_unbound_marid" + }, + "ritual_type": "occultism:summon" +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_breeze.json b/src/generated/resources/data/occultism/recipe/ritual/wild_breeze.json similarity index 77% rename from src/generated/resources/data/occultism/recipe/ritual/possess_breeze.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_breeze.json index 7c5936ad6..9ec43f98c 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/possess_breeze.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_breeze.json @@ -5,7 +5,7 @@ }, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.wolfs", - "tag": "occultism:wolfs" + "tag": "c:wolfs" }, "entity_to_summon": "occultism:possessed_breeze", "ingredients": [ @@ -28,12 +28,12 @@ "item": "minecraft:tuff_bricks" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_breeze\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_breeze\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.possess_breeze.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_breeze.tooltip\"}" ] }, "count": 1, @@ -41,7 +41,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/possess_breeze" + "id": "occultism:ritual_dummy/wild_breeze" }, "ritual_type": "occultism:summon_wild" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_creeper.json b/src/generated/resources/data/occultism/recipe/ritual/wild_creeper.json similarity index 83% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_creeper.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_creeper.json index e6fc2c958..4e34507e0 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_creeper.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_creeper.json @@ -46,12 +46,12 @@ "item": "minecraft:moss_block" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_creeper\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_creeper\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_creeper.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_creeper.tooltip\"}" ] }, "count": 1, @@ -59,7 +59,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_creeper" + "id": "occultism:ritual_dummy/wild_creeper" }, "ritual_type": "occultism:summon_wild", "summon_number": 5 diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_drowned.json b/src/generated/resources/data/occultism/recipe/ritual/wild_drowned.json similarity index 59% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_drowned.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_drowned.json index cad8443a0..c4b45ced6 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_drowned.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_drowned.json @@ -5,35 +5,35 @@ }, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.dolphin", - "tag": "occultism:dolphin" + "tag": "c:dolphins" }, "entity_to_summon": "occultism:wild_horde_drowned", "ingredients": [ { - "item": "minecraft:dead_brain_coral" + "item": "minecraft:dead_brain_coral_block" }, { - "item": "minecraft:dead_bubble_coral" + "item": "minecraft:dead_bubble_coral_block" }, { - "item": "minecraft:dead_fire_coral" + "item": "minecraft:dead_fire_coral_block" }, { - "item": "minecraft:dead_horn_coral" + "item": "minecraft:dead_horn_coral_block" }, { - "item": "minecraft:dead_tube_coral" + "item": "minecraft:dead_tube_coral_block" }, { "item": "minecraft:dried_kelp_block" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_drowned\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_drowned\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_drowned.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_drowned.tooltip\"}" ] }, "count": 1, @@ -41,7 +41,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_drowned" + "id": "occultism:ritual_dummy/wild_drowned" }, "ritual_type": "occultism:summon_wild", "summon_number": 5 diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_horde_illager.json b/src/generated/resources/data/occultism/recipe/ritual/wild_horde_illager.json similarity index 68% rename from src/generated/resources/data/occultism/recipe/ritual/summon_horde_illager.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_horde_illager.json index 1f93cbb5d..cab897c15 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_horde_illager.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_horde_illager.json @@ -10,7 +10,7 @@ "entity_to_summon": "occultism:possessed_evoker", "ingredients": [ { - "item": "minecraft:ominous_bottle" + "item": "minecraft:dark_oak_log" }, { "item": "minecraft:dark_oak_log" @@ -19,21 +19,21 @@ "item": "minecraft:dark_oak_log" }, { - "item": "minecraft:dark_oak_log" + "tag": "c:dusts/emerald" }, { - "item": "minecraft:end_crystal" + "tag": "c:dusts/emerald" }, { - "item": "minecraft:emerald_block" + "tag": "c:dusts/emerald" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_horde_illager\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_horde_illager\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_horde_illager.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_horde_illager.tooltip\"}" ] }, "count": 1, @@ -41,7 +41,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_horde_illager" + "id": "occultism:ritual_dummy/wild_horde_illager" }, "ritual_type": "occultism:summon_wild" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_hunt.json b/src/generated/resources/data/occultism/recipe/ritual/wild_hunt.json similarity index 79% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_hunt.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_hunt.json index b764cca4d..b0ff828ab 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_hunt.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_hunt.json @@ -28,12 +28,12 @@ "item": "minecraft:soul_sand" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_hunt\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_hunt\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_hunt.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_hunt.tooltip\"}" ] }, "count": 1, @@ -41,7 +41,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_hunt" + "id": "occultism:ritual_dummy/wild_hunt" }, "ritual_type": "occultism:summon_wild" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_husk.json b/src/generated/resources/data/occultism/recipe/ritual/wild_husk.json similarity index 82% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_husk.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_husk.json index 12423dfa0..21afe703d 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_husk.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_husk.json @@ -5,7 +5,7 @@ }, "entity_to_sacrifice": { "display_name": "ritual.occultism.sacrifice.camel", - "tag": "occultism:camel" + "tag": "c:camels" }, "entity_to_summon": "occultism:wild_horde_husk", "ingredients": [ @@ -46,12 +46,12 @@ "item": "minecraft:dead_bush" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_husk\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_husk\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_husk.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_husk.tooltip\"}" ] }, "count": 1, @@ -59,7 +59,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_husk" + "id": "occultism:ritual_dummy/wild_husk" }, "ritual_type": "occultism:summon_wild", "summon_number": 5 diff --git a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_silverfish.json b/src/generated/resources/data/occultism/recipe/ritual/wild_silverfish.json similarity index 78% rename from src/generated/resources/data/occultism/recipe/ritual/summon_wild_silverfish.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_silverfish.json index 13c4951bc..a2fb408fe 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/summon_wild_silverfish.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_silverfish.json @@ -30,12 +30,12 @@ "item_to_use": { "item": "minecraft:egg" }, - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_silverfish\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_silverfish\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.summon_wild_silverfish.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_silverfish.tooltip\"}" ] }, "count": 1, @@ -43,7 +43,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/summon_wild_silverfish" + "id": "occultism:ritual_dummy/wild_silverfish" }, "ritual_type": "occultism:summon_wild", "summon_number": 7 diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_strong_breeze.json b/src/generated/resources/data/occultism/recipe/ritual/wild_strong_breeze.json similarity index 83% rename from src/generated/resources/data/occultism/recipe/ritual/possess_strong_breeze.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_strong_breeze.json index 4f1b2087c..5ff96b41a 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/possess_strong_breeze.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_strong_breeze.json @@ -43,12 +43,12 @@ "item": "minecraft:ominous_bottle" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_strong_breeze\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_strong_breeze\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.possess_strong_breeze.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_strong_breeze.tooltip\"}" ] }, "count": 1, @@ -56,7 +56,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/possess_strong_breeze" + "id": "occultism:ritual_dummy/wild_strong_breeze" }, "ritual_type": "occultism:summon_wild" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/ritual/possess_weak_breeze.json b/src/generated/resources/data/occultism/recipe/ritual/wild_weak_breeze.json similarity index 80% rename from src/generated/resources/data/occultism/recipe/ritual/possess_weak_breeze.json rename to src/generated/resources/data/occultism/recipe/ritual/wild_weak_breeze.json index f50a3eaf4..9b679dc44 100644 --- a/src/generated/resources/data/occultism/recipe/ritual/possess_weak_breeze.json +++ b/src/generated/resources/data/occultism/recipe/ritual/wild_weak_breeze.json @@ -34,12 +34,12 @@ "item": "minecraft:tuff" } ], - "pentacle_id": "occultism:summon_wild_greater_spirit", + "pentacle_id": "occultism:contact_wild_spirit", "result": { "components": { - "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.possess_weak_breeze\"}", + "minecraft:item_name": "{\"translate\":\"item.occultism.ritual_dummy.wild_weak_breeze\"}", "minecraft:lore": [ - "{\"translate\":\"item.occultism.ritual_dummy.possess_weak_breeze.tooltip\"}" + "{\"translate\":\"item.occultism.ritual_dummy.wild_weak_breeze.tooltip\"}" ] }, "count": 1, @@ -47,7 +47,7 @@ }, "ritual_dummy": { "count": 1, - "id": "occultism:ritual_dummy/possess_weak_breeze" + "id": "occultism:ritual_dummy/wild_weak_breeze" }, "ritual_type": "occultism:summon_wild" } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/smelting/netherite_ingot_from_dust.json b/src/generated/resources/data/occultism/recipe/smelting/netherite_ingot_from_dust.json new file mode 100644 index 000000000..0b31aa1d2 --- /dev/null +++ b/src/generated/resources/data/occultism/recipe/smelting/netherite_ingot_from_dust.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.7, + "ingredient": { + "tag": "c:dusts/netherite" + }, + "result": { + "count": 1, + "id": "minecraft:netherite_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/recipe/spirit_fire/chalk_gold.json b/src/generated/resources/data/occultism/recipe/spirit_fire/chalk_yellow.json similarity index 74% rename from src/generated/resources/data/occultism/recipe/spirit_fire/chalk_gold.json rename to src/generated/resources/data/occultism/recipe/spirit_fire/chalk_yellow.json index 76ff243cb..5de0dd6f3 100644 --- a/src/generated/resources/data/occultism/recipe/spirit_fire/chalk_gold.json +++ b/src/generated/resources/data/occultism/recipe/spirit_fire/chalk_yellow.json @@ -1,7 +1,7 @@ { "type": "occultism:spirit_fire", "ingredient": { - "item": "occultism:chalk_gold_impure" + "item": "occultism:chalk_yellow_impure" }, "result": { "count": 1, diff --git a/src/generated/resources/data/occultism/recipe/spirit_trade/otherworld_sapling.json b/src/generated/resources/data/occultism/recipe/spirit_trade/otherworld_sapling.json index 8c054dad6..ae0349d77 100644 --- a/src/generated/resources/data/occultism/recipe/spirit_trade/otherworld_sapling.json +++ b/src/generated/resources/data/occultism/recipe/spirit_trade/otherworld_sapling.json @@ -1,7 +1,7 @@ { "type": "occultism:spirit_trade", "ingredient": { - "item": "occultism:otherworld_sapling_natural" + "tag": "occultism:saplings/otherworld_natural" }, "result": { "count": 1, diff --git a/src/generated/resources/data/occultism/tags/block/foundation_glyphs_any.json b/src/generated/resources/data/occultism/tags/block/foundation_glyphs_any.json new file mode 100644 index 000000000..5d0575211 --- /dev/null +++ b/src/generated/resources/data/occultism/tags/block/foundation_glyphs_any.json @@ -0,0 +1,8 @@ +{ + "values": [ + "occultism:chalk_glyph_white", + "occultism:chalk_glyph_light_gray", + "occultism:chalk_glyph_gray", + "occultism:chalk_glyph_black" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/block/foundation_glyphs_dark.json b/src/generated/resources/data/occultism/tags/block/foundation_glyphs_dark.json new file mode 100644 index 000000000..8efa942ed --- /dev/null +++ b/src/generated/resources/data/occultism/tags/block/foundation_glyphs_dark.json @@ -0,0 +1,6 @@ +{ + "values": [ + "occultism:chalk_glyph_gray", + "occultism:chalk_glyph_black" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/block/foundation_glyphs_no_white.json b/src/generated/resources/data/occultism/tags/block/foundation_glyphs_no_white.json new file mode 100644 index 000000000..e436f5efe --- /dev/null +++ b/src/generated/resources/data/occultism/tags/block/foundation_glyphs_no_white.json @@ -0,0 +1,7 @@ +{ + "values": [ + "occultism:chalk_glyph_light_gray", + "occultism:chalk_glyph_gray", + "occultism:chalk_glyph_black" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/block/saplings/otherworld_natural.json b/src/generated/resources/data/occultism/tags/block/saplings/otherworld_natural.json new file mode 100644 index 000000000..2f0a3c057 --- /dev/null +++ b/src/generated/resources/data/occultism/tags/block/saplings/otherworld_natural.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:otherworld_sapling_natural" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/entity_type/healed_by_demons_dream_fruit.json b/src/generated/resources/data/occultism/tags/entity_type/healed_by_demons_dream_fruit.json index 09f26df7c..6af9eb616 100644 --- a/src/generated/resources/data/occultism/tags/entity_type/healed_by_demons_dream_fruit.json +++ b/src/generated/resources/data/occultism/tags/entity_type/healed_by_demons_dream_fruit.json @@ -5,9 +5,20 @@ "occultism:afrit", "occultism:afrit_wild", "occultism:marid", + "occultism:marid_unbound", "occultism:possessed_endermite", + "occultism:possessed_skeleton", "occultism:possessed_enderman", "occultism:possessed_ghast", + "occultism:possessed_phantom", + "occultism:possessed_weak_shulker", + "occultism:possessed_shulker", + "occultism:possessed_elder_guardian", + "occultism:possessed_warden", + "occultism:possessed_hoglin", + "occultism:possessed_witch", + "occultism:possessed_zombie_piglin", + "occultism:possessed_bee", "occultism:wild_hunt_skeleton", "occultism:wild_hunt_wither_skeleton", "occultism:otherworld_bird", diff --git a/src/generated/resources/data/occultism/tags/item/armored_items.json b/src/generated/resources/data/occultism/tags/item/armored_items.json new file mode 100644 index 000000000..8c0caffc6 --- /dev/null +++ b/src/generated/resources/data/occultism/tags/item/armored_items.json @@ -0,0 +1,8 @@ +{ + "values": [ + "minecraft:armadillo_scute", + "minecraft:turtle_scute", + "minecraft:shulker_shell", + "minecraft:nautilus_shell" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/item/miners.json b/src/generated/resources/data/occultism/tags/item/miners.json index 75d1e19aa..e1ced0392 100644 --- a/src/generated/resources/data/occultism/tags/item/miners.json +++ b/src/generated/resources/data/occultism/tags/item/miners.json @@ -3,6 +3,7 @@ "#occultism:miners/basic_resources", "#occultism:miners/deeps", "#occultism:miners/master", - "#occultism:miners/ores" + "#occultism:miners/ores", + "#occultism:miners/eldritch" ] } \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/item/miners/eldritch.json b/src/generated/resources/data/occultism/tags/item/miners/eldritch.json new file mode 100644 index 000000000..39a071ba8 --- /dev/null +++ b/src/generated/resources/data/occultism/tags/item/miners/eldritch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:miner_ancient_eldritch" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/occultism/tags/item/saplings/otherworld_natural.json b/src/generated/resources/data/occultism/tags/item/saplings/otherworld_natural.json new file mode 100644 index 000000000..2f0a3c057 --- /dev/null +++ b/src/generated/resources/data/occultism/tags/item/saplings/otherworld_natural.json @@ -0,0 +1,5 @@ +{ + "values": [ + "occultism:otherworld_sapling_natural" + ] +} \ No newline at end of file diff --git a/src/main/java/com/klikli_dev/occultism/Occultism.java b/src/main/java/com/klikli_dev/occultism/Occultism.java index fb9c8ae2e..77e67ed10 100644 --- a/src/main/java/com/klikli_dev/occultism/Occultism.java +++ b/src/main/java/com/klikli_dev/occultism/Occultism.java @@ -157,6 +157,7 @@ private void onEntityAttributeCreation(final EntityAttributeCreationEvent event) event.put(OccultismEntities.AFRIT_TYPE.get(), AfritEntity.createAttributes().build()); event.put(OccultismEntities.AFRIT_WILD_TYPE.get(), AfritWildEntity.createAttributes().build()); event.put(OccultismEntities.MARID_TYPE.get(), MaridEntity.createAttributes().build()); + event.put(OccultismEntities.MARID_UNBOUND_TYPE.get(), MaridUnboundEntity.createAttributes().build()); event.put(OccultismEntities.POSSESSED_ENDERMITE_TYPE.get(), PossessedEndermiteEntity.createAttributes().build()); event.put(OccultismEntities.POSSESSED_SKELETON_TYPE.get(), PossessedSkeletonEntity.createAttributes().build()); event.put(OccultismEntities.POSSESSED_ENDERMAN_TYPE.get(), PossessedEndermanEntity.createAttributes().build()); @@ -167,6 +168,10 @@ private void onEntityAttributeCreation(final EntityAttributeCreationEvent event) event.put(OccultismEntities.POSSESSED_ELDER_GUARDIAN_TYPE.get(), PossessedElderGuardianEntity.createAttributes().build()); event.put(OccultismEntities.POSSESSED_WARDEN_TYPE.get(), PossessedWardenEntity.createAttributes().build()); event.put(OccultismEntities.POSSESSED_HOGLIN_TYPE.get(), PossessedHoglinEntity.createAttributes().build()); + event.put(OccultismEntities.POSSESSED_WITCH_TYPE.get(), PossessedWitchEntity.createAttributes().build()); + event.put(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN_TYPE.get(), PossessedZombiePiglinEntity.createAttributes().build()); + event.put(OccultismEntities.POSSESSED_BEE_TYPE.get(), PossessedBeeEntity.createAttributes().build()); + event.put(OccultismEntities.GOAT_OF_MERCY_TYPE.get(), GoatOfMercyEntity.createAttributes().build()); event.put(OccultismEntities.WILD_HUNT_SKELETON_TYPE.get(), WildHuntSkeletonEntity.createAttributes().build()); event.put(OccultismEntities.WILD_HUNT_WITHER_SKELETON_TYPE.get(), WildHuntWitherSkeletonEntity.createAttributes().build()); event.put(OccultismEntities.OTHERWORLD_BIRD_TYPE.get(), OtherworldBirdEntity.createAttributes().build()); diff --git a/src/main/java/com/klikli_dev/occultism/client/model/entity/MaridUnboundModel.java b/src/main/java/com/klikli_dev/occultism/client/model/entity/MaridUnboundModel.java new file mode 100644 index 000000000..359362c26 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/client/model/entity/MaridUnboundModel.java @@ -0,0 +1,47 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.client.model.entity; + +import com.klikli_dev.occultism.Occultism; +import com.klikli_dev.occultism.common.entity.spirit.MaridUnboundEntity; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.resources.ResourceLocation; +import software.bernie.geckolib.model.DefaultedGeoModel; + +public class MaridUnboundModel extends DefaultedGeoModel { + + public MaridUnboundModel() { + super(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "marid")); + } + + @Override + protected String subtype() { + return "entity"; + } + + @Override + public RenderType getRenderType(MaridUnboundEntity animatable, ResourceLocation texture) { + return RenderType.entityTranslucent(this.getTextureResource(animatable)); + } +} + diff --git a/src/main/java/com/klikli_dev/occultism/client/render/entity/MaridUnboundRenderer.java b/src/main/java/com/klikli_dev/occultism/client/render/entity/MaridUnboundRenderer.java new file mode 100644 index 000000000..9b7846b91 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/client/render/entity/MaridUnboundRenderer.java @@ -0,0 +1,39 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.client.render.entity; + +import com.klikli_dev.occultism.client.model.entity.MaridUnboundModel; +import com.klikli_dev.occultism.common.entity.spirit.MaridUnboundEntity; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import software.bernie.geckolib.renderer.GeoEntityRenderer; +import software.bernie.geckolib.renderer.layer.AutoGlowingGeoLayer; + +import java.util.Objects; + +public class MaridUnboundRenderer extends GeoEntityRenderer { + + public MaridUnboundRenderer(EntityRendererProvider.Context renderManager) { + super(renderManager, new MaridUnboundModel()); + + } +} diff --git a/src/main/java/com/klikli_dev/occultism/client/render/entity/PossessedZombiePiglinRenderer.java b/src/main/java/com/klikli_dev/occultism/client/render/entity/PossessedZombiePiglinRenderer.java new file mode 100644 index 000000000..f2f20f534 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/client/render/entity/PossessedZombiePiglinRenderer.java @@ -0,0 +1,40 @@ +package com.klikli_dev.occultism.client.render.entity; + +import com.klikli_dev.occultism.Occultism; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.model.PiglinModel; +import net.minecraft.client.model.geom.ModelLayers; +import net.minecraft.client.renderer.entity.EntityRendererProvider; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.ZombieRenderer; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.Mob; +import net.minecraft.world.entity.monster.Zombie; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; + +import java.util.Map; + +@OnlyIn(Dist.CLIENT) +public class PossessedZombiePiglinRenderer extends ZombieRenderer { + private static final ResourceLocation ZOMBIE_PIGLIN_LOCATION = ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"textures/entity/old_zombie_piglin.png"); + + public PossessedZombiePiglinRenderer(EntityRendererProvider.Context p_174180_) { + super(p_174180_, ModelLayers.ZOMBIE, ModelLayers.ZOMBIE_INNER_ARMOR, ModelLayers.ZOMBIE_OUTER_ARMOR); + } + + protected void scale(Zombie livingEntity, PoseStack poseStack, float partialTickTime) { + float f = 1.0625F; + poseStack.scale(1.0625F, 1.0625F, 1.0625F); + super.scale(livingEntity, poseStack, partialTickTime); + } + + /** + * Returns the location of an entity's texture. + */ + @Override + public ResourceLocation getTextureLocation(Zombie entity) { + return ZOMBIE_PIGLIN_LOCATION; + } +} + diff --git a/src/main/java/com/klikli_dev/occultism/common/block/GoldenSacrificialBowlBlock.java b/src/main/java/com/klikli_dev/occultism/common/block/GoldenSacrificialBowlBlock.java index 848ff019b..a86cc31d5 100644 --- a/src/main/java/com/klikli_dev/occultism/common/block/GoldenSacrificialBowlBlock.java +++ b/src/main/java/com/klikli_dev/occultism/common/block/GoldenSacrificialBowlBlock.java @@ -28,7 +28,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -40,7 +39,6 @@ import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; @@ -97,9 +95,13 @@ public VoxelShape getShape(BlockState state, BlockGetter worldIn, BlockPos pos, @SuppressWarnings("deprecation") @Override public int getSignal(BlockState pBlockState, BlockGetter pBlockAccess, BlockPos pPos, Direction pSide) { + BlockEntity blockEntityAbove = pBlockAccess.getBlockEntity(pPos.above(3)); + if (blockEntityAbove instanceof GoldenSacrificialBowlBlockEntity bowl) { + return bowl.getSignal(); + } BlockEntity blockEntity = pBlockAccess.getBlockEntity(pPos); if (blockEntity instanceof GoldenSacrificialBowlBlockEntity bowl) { - return bowl.getSignal(pBlockState, pBlockAccess, pPos, pSide); + return bowl.getSignal(); } return 0; } diff --git a/src/main/java/com/klikli_dev/occultism/common/block/LargeCandleBlock.java b/src/main/java/com/klikli_dev/occultism/common/block/LargeCandleBlock.java index 0c42c2cae..92315c141 100644 --- a/src/main/java/com/klikli_dev/occultism/common/block/LargeCandleBlock.java +++ b/src/main/java/com/klikli_dev/occultism/common/block/LargeCandleBlock.java @@ -33,7 +33,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; -import net.minecraft.tags.BlockTags; import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.ItemInteractionResult; @@ -277,7 +276,6 @@ public void animateTick(BlockState state, Level level, BlockPos blockPos, Random } } - super.animateTick(state, level, blockPos, rand); } } diff --git a/src/main/java/com/klikli_dev/occultism/common/blockentity/DimensionalMineshaftBlockEntity.java b/src/main/java/com/klikli_dev/occultism/common/blockentity/DimensionalMineshaftBlockEntity.java index 95fe0b4a2..9d6469500 100644 --- a/src/main/java/com/klikli_dev/occultism/common/blockentity/DimensionalMineshaftBlockEntity.java +++ b/src/main/java/com/klikli_dev/occultism/common/blockentity/DimensionalMineshaftBlockEntity.java @@ -22,7 +22,9 @@ package com.klikli_dev.occultism.common.blockentity; +import com.klikli_dev.occultism.Occultism; import com.klikli_dev.occultism.common.container.DimensionalMineshaftContainer; +import com.klikli_dev.occultism.config.OccultismServerConfig; import com.klikli_dev.occultism.crafting.recipe.MinerRecipe; import com.klikli_dev.occultism.crafting.recipe.input.ItemHandlerRecipeInput; import com.klikli_dev.occultism.crafting.recipe.result.WeightedRecipeResult; @@ -231,8 +233,13 @@ public void mine() { // but the miner block entity simply discards the results } - //damage and eventually consume item + //damage the item and move to output before breaking ItemStack input = this.inputHandler.getStackInSlot(0); input.hurtAndBreak(1, (ServerLevel) this.level, (LivingEntity) null, (item) -> {}); + if (Occultism.SERVER_CONFIG.itemSettings.minerOutputBeforeBreak.getAsBoolean() && input.getMaxDamage()-1 == input.getDamageValue()){ + var minerCopy = input.copy(); + input.hurtAndBreak(100, (ServerLevel) this.level, (LivingEntity) null, (item) -> {}); + ItemHandlerHelper.insertItemStacked(this.outputHandler, minerCopy,false); + } } } diff --git a/src/main/java/com/klikli_dev/occultism/common/blockentity/GoldenSacrificialBowlBlockEntity.java b/src/main/java/com/klikli_dev/occultism/common/blockentity/GoldenSacrificialBowlBlockEntity.java index 46b6bd6c2..534b9bc83 100644 --- a/src/main/java/com/klikli_dev/occultism/common/blockentity/GoldenSacrificialBowlBlockEntity.java +++ b/src/main/java/com/klikli_dev/occultism/common/blockentity/GoldenSacrificialBowlBlockEntity.java @@ -55,7 +55,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeHolder; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Rotation; @@ -308,7 +307,7 @@ public RecipeHolder getCurrentRitualRecipe() { return this.currentRitualRecipe; } - public int getSignal(BlockState pBlockState, BlockGetter pBlockAccess, BlockPos pPos, Direction pSide) { + public int getSignal() { if(this.getCurrentRitualRecipe() == null) return 0; diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/possessed/GoatOfMercyEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/GoatOfMercyEntity.java new file mode 100644 index 000000000..212537c6a --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/GoatOfMercyEntity.java @@ -0,0 +1,49 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.common.entity.possessed; + +import com.mojang.serialization.Dynamic; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.Brain; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.animal.goat.Goat; +import net.minecraft.world.entity.animal.goat.GoatAi; +import net.minecraft.world.entity.monster.Witch; +import net.minecraft.world.level.Level; + +public class GoatOfMercyEntity extends Goat { + + public GoatOfMercyEntity(EntityType type, + Level worldIn) { + super(type, worldIn); + } + + //region Static Methods + public static AttributeSupplier.Builder createAttributes() { + return Goat.createAttributes() + .add(Attributes.MOVEMENT_SPEED, 0.0) + .add(Attributes.MAX_HEALTH, 1.0); + } + +} diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedBeeEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedBeeEntity.java new file mode 100644 index 000000000..be127e925 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedBeeEntity.java @@ -0,0 +1,104 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.common.entity.possessed; + +import com.klikli_dev.occultism.registry.OccultismEntities; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.Difficulty; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.*; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.animal.Bee; +import net.minecraft.world.item.enchantment.EnchantmentHelper; +import net.minecraft.world.level.GameRules; +import net.minecraft.world.level.Level; + +public class PossessedBeeEntity extends Bee { + + public PossessedBeeEntity(EntityType type, + Level worldIn) { + super(type, worldIn); + } + + //region Static Methods + public static AttributeSupplier.Builder createAttributes() { + return Bee.createAttributes() + .add(Attributes.MOVEMENT_SPEED, 0.4) + .add(Attributes.MAX_HEALTH, 40.0) + .add(Attributes.SPAWN_REINFORCEMENTS_CHANCE, 0.06) + .add(Attributes.ATTACK_DAMAGE, 4.0) + .add(Attributes.FOLLOW_RANGE, 48.0) + .add(Attributes.ATTACK_SPEED, 3); + } + + @Override + public boolean doHurtTarget(Entity entity) { + DamageSource damagesource = this.damageSources().sting(this); + boolean flag = entity.hurt(damagesource, (float) ((int) this.getAttributeValue(Attributes.ATTACK_DAMAGE))); + if (flag) { + if (this.level() instanceof ServerLevel serverlevel) { + EnchantmentHelper.doPostAttackEffects(serverlevel, entity, damagesource); + } + + if (entity instanceof LivingEntity livingentity) { + livingentity.setStingerCount(livingentity.getStingerCount() + 1); + int i = 10; + if (this.level().getDifficulty() == Difficulty.NORMAL) { + i = 20; + } else if (this.level().getDifficulty() == Difficulty.HARD) { + i = 30; + } + livingentity.addEffect(new MobEffectInstance(MobEffects.POISON, i * 20, 0), this); + } + + this.playSound(SoundEvents.BEE_STING, 1.0F, 1.0F); + } + + return flag; + } + @Override + public boolean hurt(DamageSource source, float amount) { + + if (this.isInvulnerableTo(source)) { + return false; + } else { + LivingEntity livingentity = this.getTarget(); + if (livingentity != null + && (double) this.random.nextFloat() < this.getAttributeValue(Attributes.SPAWN_REINFORCEMENTS_CHANCE) + && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) { + + Bee bee = OccultismEntities.POSSESSED_BEE.get().create(this.level()); + double offsetX = this.level().getRandom().nextGaussian() * (1 + this.level().getRandom().nextInt(4)); + double offsetZ = this.level().getRandom().nextGaussian() * (1 + this.level().getRandom().nextInt(4)); + bee.absMoveTo(this.getBlockX() + offsetX, this.getBlockY() + 1.5, this.getBlockZ() + offsetZ, this.level().getRandom().nextInt(360), 0); + this.level().addFreshEntity(bee); + } + return super.hurt(source, amount); + } + } +} diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedWitchEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedWitchEntity.java new file mode 100644 index 000000000..8a557c782 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedWitchEntity.java @@ -0,0 +1,56 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.common.entity.possessed; + +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.monster.Skeleton; +import net.minecraft.world.entity.monster.Witch; +import net.minecraft.world.level.Level; + +public class PossessedWitchEntity extends Witch { + + public PossessedWitchEntity(EntityType type, + Level worldIn) { + super(type, worldIn); + } + + //region Static Methods + public static AttributeSupplier.Builder createAttributes() { + return Witch.createAttributes() + .add(Attributes.MOVEMENT_SPEED, 0.3) + .add(Attributes.MAX_HEALTH, 35.0); + } + + @Override + protected boolean shouldDespawnInPeaceful() { + return false; + } + + @Override + protected boolean isSunBurnTick() { + return false; + } + //endregion Static Methods +} diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedZombiePiglinEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedZombiePiglinEntity.java new file mode 100644 index 000000000..69fa0d147 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/common/entity/possessed/PossessedZombiePiglinEntity.java @@ -0,0 +1,90 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.common.entity.possessed; + +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.monster.Zombie; +import net.minecraft.world.entity.monster.ZombifiedPiglin; +import net.minecraft.world.entity.monster.piglin.Piglin; +import net.minecraft.world.level.Level; + +public class PossessedZombiePiglinEntity extends Zombie { + + public PossessedZombiePiglinEntity(EntityType type, + Level worldIn) { + super(type, worldIn); + } + + //region Static Methods + public static AttributeSupplier.Builder createAttributes() { + return Zombie.createAttributes() + .add(Attributes.SPAWN_REINFORCEMENTS_CHANCE, 0.0) + .add(Attributes.MOVEMENT_SPEED, 0.26F) + .add(Attributes.ATTACK_DAMAGE, 6.0) + .add(Attributes.ATTACK_SPEED,7) + .add(Attributes.ARMOR,6) + .add(Attributes.MAX_HEALTH,80) + .add(Attributes.FOLLOW_RANGE, 35.0) + .add(Attributes.ARMOR_TOUGHNESS, 25.0); + } + + @Override + protected boolean shouldDespawnInPeaceful() { + return false; + } + + @Override + protected boolean isSunBurnTick() { + return false; + } + + @Override + protected boolean convertsInWater() { + return false; + } + + @Override + protected void randomizeReinforcementsChance() { + this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(0.0); + } + + @Override + protected SoundEvent getAmbientSound() { + return SoundEvents.ZOMBIFIED_PIGLIN_ANGRY; + } + + @Override + protected SoundEvent getHurtSound(DamageSource damageSource) { + return SoundEvents.ZOMBIFIED_PIGLIN_HURT; + } + + @Override + protected SoundEvent getDeathSound() { + return SoundEvents.ZOMBIFIED_PIGLIN_DEATH; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/spirit/DjinniEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/spirit/DjinniEntity.java index 923558b4a..603cddcab 100644 --- a/src/main/java/com/klikli_dev/occultism/common/entity/spirit/DjinniEntity.java +++ b/src/main/java/com/klikli_dev/occultism/common/entity/spirit/DjinniEntity.java @@ -80,7 +80,7 @@ public void onSyncedDataUpdated(EntityDataAccessor pKey) { } if (JOB_ID.equals(pKey)) { - if (Objects.equals(this.getJobID(), OccultismSpiritJobs.CRUSH_TIER2.getId().toString()) && this.getSizeState() != 1) { + if (!Objects.equals(this.getJobID(), OccultismSpiritJobs.MANAGE_MACHINE.getId().toString()) && this.getSizeState() != 1) { this.setSizeState(1); } } diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridEntity.java index d1b61ec8b..58751f628 100644 --- a/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridEntity.java +++ b/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridEntity.java @@ -23,6 +23,8 @@ package com.klikli_dev.occultism.common.entity.spirit; import net.minecraft.core.BlockPos; +import net.minecraft.tags.DamageTypeTags; +import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -86,4 +88,16 @@ public AnimatableInstanceCache getAnimatableInstanceCache() { public boolean isFood(ItemStack pStack) { return false; } + + @Override + public boolean isInvulnerableTo(DamageSource source) { + if (source.is(DamageTypeTags.IS_FIRE) + || source.is(DamageTypeTags.IS_DROWNING) + || source.is(DamageTypeTags.IS_FREEZING) + || source.is(DamageTypeTags.IS_EXPLOSION) + || source.is(DamageTypeTags.WITCH_RESISTANT_TO)) + return true; + + return super.isInvulnerableTo(source); + } } diff --git a/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridUnboundEntity.java b/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridUnboundEntity.java new file mode 100644 index 000000000..f5e202802 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/common/entity/spirit/MaridUnboundEntity.java @@ -0,0 +1,145 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.common.entity.spirit; + +import com.klikli_dev.occultism.registry.OccultismTags; +import net.minecraft.core.BlockPos; +import net.minecraft.tags.DamageTypeTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.entity.SpawnGroupData; +import net.minecraft.world.entity.ai.attributes.AttributeSupplier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.entity.ai.goal.*; +import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal; +import net.minecraft.world.entity.monster.Guardian; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.ServerLevelAccessor; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.event.EventHooks; +import software.bernie.geckolib.animatable.GeoAnimatable; +import software.bernie.geckolib.animatable.GeoEntity; +import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; +import software.bernie.geckolib.animation.*; +import software.bernie.geckolib.util.GeckoLibUtil; + +import javax.annotation.Nullable; + +public class MaridUnboundEntity extends Monster implements GeoEntity { + AnimatableInstanceCache animatableInstanceCache = GeckoLibUtil.createInstanceCache(this); + + public MaridUnboundEntity(EntityType type, Level level) { + super(type, level); + } + + public static AttributeSupplier.Builder createAttributes() { + + return Monster.createMonsterAttributes() + .add(Attributes.FOLLOW_RANGE, 50.0) + .add(Attributes.ATTACK_DAMAGE, 14.0) + .add(Attributes.ATTACK_SPEED, 8.0) + .add(Attributes.MAX_HEALTH, 300.0) + .add(Attributes.MOVEMENT_SPEED, 0.41000001192092896) + .add(Attributes.ARMOR, 16.0) + .add(Attributes.ARMOR_TOUGHNESS, 50.0) + .add(Attributes.KNOCKBACK_RESISTANCE,1.0); + } + + @Override + protected void registerGoals() { + //Override all base goals + this.goalSelector.addGoal(1, new FloatGoal(this)); + this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true)); + this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 8.0F)); + this.goalSelector.addGoal(8, new RandomLookAroundGoal(this)); + this.goalSelector.addGoal(2, new MeleeAttackGoal(this, 1.0D, false)); + this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); + } + + @Override + public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficultyIn, MobSpawnType reason, + @Nullable SpawnGroupData spawnDataIn) { + int maxGuardians = 3 + level.getRandom().nextInt(6); + + for (int i = 0; i < maxGuardians; i++) { + Guardian entity = EntityType.GUARDIAN.create(level.getLevel()); + + EventHooks.finalizeMobSpawn(entity, level, difficultyIn, reason, spawnDataIn); + + double offsetX = level.getRandom().nextGaussian() * (1 + level.getRandom().nextInt(4)); + double offsetZ = level.getRandom().nextGaussian() * (1 + level.getRandom().nextInt(4)); + entity.absMoveTo(this.getBlockX() + offsetX, this.getBlockY() + 1.5, this.getBlockZ() + offsetZ, + level.getRandom().nextInt(360), 0); + level.addFreshEntity(entity); + } + + return super.finalizeSpawn(level, difficultyIn, reason, spawnDataIn); + } + + @Override + protected void playStepSound(BlockPos pPos, BlockState pBlock) { + } + + @Override + public int getCurrentSwingDuration() { + return 11; //to match our attack animation speed + 1 tick + } + + @Override + public void registerControllers(AnimatableManager.ControllerRegistrar controllers) { + var mainController = new AnimationController<>(this, "mainController", 0, this::animPredicate); + controllers.add(mainController); + } + + private PlayState animPredicate(AnimationState tAnimationState) { + + if (this.swinging) { + return tAnimationState.setAndContinue(RawAnimation.begin().thenPlay("attack")); + } + + return tAnimationState.setAndContinue(tAnimationState.isMoving() ? RawAnimation.begin().thenPlay("walk") : RawAnimation.begin().thenPlay("idle")); + } + + @Override + public AnimatableInstanceCache getAnimatableInstanceCache() { + return this.animatableInstanceCache; + } + + @Override + public boolean isInvulnerableTo(DamageSource source) { + if (source.is(DamageTypeTags.IS_FIRE) + || source.is(DamageTypeTags.IS_DROWNING) + || source.is(DamageTypeTags.IS_FREEZING) + || source.is(DamageTypeTags.IS_EXPLOSION) + || source.is(DamageTypeTags.WITCH_RESISTANT_TO)) + return true; + + return super.isInvulnerableTo(source); + } +} diff --git a/src/main/java/com/klikli_dev/occultism/common/item/spirit/MinerSpiritItem.java b/src/main/java/com/klikli_dev/occultism/common/item/spirit/MinerSpiritItem.java index 1b5deb30c..26d5476f1 100644 --- a/src/main/java/com/klikli_dev/occultism/common/item/spirit/MinerSpiritItem.java +++ b/src/main/java/com/klikli_dev/occultism/common/item/spirit/MinerSpiritItem.java @@ -46,12 +46,14 @@ public class MinerSpiritItem extends Item { private final Supplier maxMiningTime; private final Supplier rollsPerOperation; private final Supplier maxDamage; + private final int enchantmentValue; public MinerSpiritItem(Properties properties, Supplier maxMiningTime, Supplier rollsPerOperation, Supplier maxDamage) { super(properties.component(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY)); this.maxMiningTime = maxMiningTime; this.rollsPerOperation = rollsPerOperation; this.maxDamage = maxDamage; + this.enchantmentValue = 9; } @Override @@ -82,4 +84,9 @@ public int getMaxStackSize(ItemStack stack) { stack.set(OccultismDataComponents.ROLLS_PER_OPERATION, this.rollsPerOperation.get()); return super.getMaxStackSize(stack); } + + @Override + public int getEnchantmentValue() { + return this.enchantmentValue; + } } diff --git a/src/main/java/com/klikli_dev/occultism/common/ritual/RepairRitual.java b/src/main/java/com/klikli_dev/occultism/common/ritual/RepairRitual.java new file mode 100644 index 000000000..260f36cdf --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/common/ritual/RepairRitual.java @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright 2020 klikli-dev + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +package com.klikli_dev.occultism.common.ritual; + +import com.klikli_dev.occultism.common.blockentity.GoldenSacrificialBowlBlockEntity; +import com.klikli_dev.occultism.crafting.recipe.RitualRecipe; +import net.minecraft.core.BlockPos; +import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.Nullable; + +public class RepairRitual extends Ritual { + + public RepairRitual(RitualRecipe recipe) { + super(recipe); + } + + @Override + public void finish(Level level, BlockPos goldenBowlPosition, GoldenSacrificialBowlBlockEntity blockEntity, @Nullable ServerPlayer castingPlayer, ItemStack activationItem) { + super.finish(level, goldenBowlPosition, blockEntity, castingPlayer, activationItem); + + ItemStack result = activationItem.copy(); + activationItem.shrink(1); //remove activation item. + + ((ServerLevel) level).sendParticles(ParticleTypes.LARGE_SMOKE, goldenBowlPosition.getX() + 0.5, + goldenBowlPosition.getY() + 0.5, goldenBowlPosition.getZ() + 0.5, 1, 0, 0, 0, 0); + + result.setDamageValue(0); + + this.dropResult(level, goldenBowlPosition, blockEntity, castingPlayer, result); + } +} diff --git a/src/main/java/com/klikli_dev/occultism/common/ritual/SummonRitual.java b/src/main/java/com/klikli_dev/occultism/common/ritual/SummonRitual.java index 333a9dafc..71aad108e 100644 --- a/src/main/java/com/klikli_dev/occultism/common/ritual/SummonRitual.java +++ b/src/main/java/com/klikli_dev/occultism/common/ritual/SummonRitual.java @@ -66,15 +66,20 @@ public SummonRitual(RitualRecipe recipe, boolean tame) { */ public ItemStack getBookOfCallingBound(RegistryAccess registryAccess, ItemStack activationItem) { ItemStack result = this.recipe.getResultItem(registryAccess).copy(); - if (result.getItem() == OccultismItems.JEI_DUMMY_NONE.get()) + if (result.getItem() == OccultismItems.BOOK_OF_CALLING_FOLIOT_CLEANER.get() + || result.getItem() == OccultismItems.BOOK_OF_CALLING_FOLIOT_LUMBERJACK.get() + || result.getItem() == OccultismItems.BOOK_OF_CALLING_FOLIOT_TRANSPORT_ITEMS.get() + || result.getItem() == OccultismItems.BOOK_OF_CALLING_DJINNI_MANAGE_MACHINE.get()) { + //should never happen, but apparently there is a scenario where it does (item cheated in with non jei?) + //https://github.com/klikli-dev/occultism/issues/183 + + if (!activationItem.isComponentsPatchEmpty()) { + result.applyComponents(activationItem.getComponents()); + } + return result; + } else { return ItemStack.EMPTY; - - //should never happen, but apparently there is a scenario where it does (item cheated in with non jei?) - //https://github.com/klikli-dev/occultism/issues/183 - - if (!activationItem.isComponentsPatchEmpty()) - result.applyComponents(activationItem.getComponents()); - return result; + } } /** diff --git a/src/main/java/com/klikli_dev/occultism/config/OccultismClientConfig.java b/src/main/java/com/klikli_dev/occultism/config/OccultismClientConfig.java index 37eb72eaf..8a4fa93f4 100644 --- a/src/main/java/com/klikli_dev/occultism/config/OccultismClientConfig.java +++ b/src/main/java/com/klikli_dev/occultism/config/OccultismClientConfig.java @@ -46,7 +46,7 @@ public static class VisualSettings { public final BooleanValue useAlternativeDivinationRodRenderer; public final IntValue whiteChalkGlyphColor; - public final IntValue goldenChalkGlyphColor; + public final IntValue yellowChalkGlyphColor; public final IntValue purpleChalkGlyphColor; public final IntValue redChalkGlyphColor; public final IntValue lightGrayChalkGlyphColor; @@ -82,25 +82,6 @@ public VisualSettings(ModConfigSpec.Builder builder) { "For most types of color blindness it should not be necessary to change this." ).defineInRange("whiteChalkGlyphColor", 0xffffff, 0, 0xffffff); - this.goldenChalkGlyphColor = builder.comment( - "The integer code of the color of the golden chalk glyph in world.", - "This is intended to allow people with color blindness to change the color of the glyph.", - "For most types of color blindness it should not be necessary to change this." - ).defineInRange("goldenChalkGlyphColor", 0xf0d700, 0, 0xffffff); - - - this.purpleChalkGlyphColor = builder.comment( - "The integer code of the color of the purple chalk glyph in world.", - "This is intended to allow people with color blindness to change the color of the glyph.", - "For most types of color blindness it should not be necessary to change this." - ).defineInRange("purpleChalkGlyphColor", 0x9c0393,0, 0xffffff); - - this.redChalkGlyphColor = builder.comment( - "The integer code of the color of the red chalk glyph in world.", - "This is intended to allow people with color blindness to change the color of the glyph.", - "For most types of color blindness this value should be changed to a green color, we recommend 33289 (= Hex 0x008209)" - ).defineInRange("redChalkGlyphColor", 0xcc0101,0, 0xffffff); - this.lightGrayChalkGlyphColor = builder.comment( "The integer code of the color of the light gray chalk glyph in world.", "This is intended to allow people with color blindness to change the color of the glyph.", @@ -125,12 +106,24 @@ public VisualSettings(ModConfigSpec.Builder builder) { "For most types of color blindness it should not be necessary to change this." ).defineInRange("brownChalkGlyphColor", 0x835432, 0, 0xffffff); + this.redChalkGlyphColor = builder.comment( + "The integer code of the color of the red chalk glyph in world.", + "This is intended to allow people with color blindness to change the color of the glyph.", + "For most types of color blindness this value should be changed to a green color, we recommend 33289 (= Hex 0x008209)" + ).defineInRange("redChalkGlyphColor", 0xcc0101,0, 0xffffff); + this.orangeChalkGlyphColor = builder.comment( "The integer code of the color of the orange chalk glyph in world.", "This is intended to allow people with color blindness to change the color of the glyph.", "For most types of color blindness it should not be necessary to change this." ).defineInRange("orangeChalkGlyphColor", 0xf9801d, 0, 0xffffff); + this.yellowChalkGlyphColor = builder.comment( + "The integer code of the color of the yellow chalk glyph in world.", + "This is intended to allow people with color blindness to change the color of the glyph.", + "For most types of color blindness it should not be necessary to change this." + ).defineInRange("yellowChalkGlyphColor", 0xf0d700, 0, 0xffffff); + this.limeChalkGlyphColor = builder.comment( "The integer code of the color of the lime chalk glyph in world.", "This is intended to allow people with color blindness to change the color of the glyph.", @@ -161,6 +154,12 @@ public VisualSettings(ModConfigSpec.Builder builder) { "For most types of color blindness it should not be necessary to change this." ).defineInRange("blueChalkGlyphColor", 0x3c44aa, 0, 0xffffff); + this.purpleChalkGlyphColor = builder.comment( + "The integer code of the color of the purple chalk glyph in world.", + "This is intended to allow people with color blindness to change the color of the glyph.", + "For most types of color blindness it should not be necessary to change this." + ).defineInRange("purpleChalkGlyphColor", 0x9c0393,0, 0xffffff); + this.magentaChalkGlyphColor = builder.comment( "The integer code of the color of the magenta chalk glyph in world.", "This is intended to allow people with color blindness to change the color of the glyph.", diff --git a/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java b/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java index 79c4af69b..eb39a2883 100644 --- a/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java +++ b/src/main/java/com/klikli_dev/occultism/config/OccultismServerConfig.java @@ -45,15 +45,25 @@ public OccultismServerConfig() { public static class ItemSettings { public final BooleanValue anyOreDivinationRod; + public final BooleanValue minerOutputBeforeBreak; + public ItemSettings(ModConfigSpec.Builder builder) { builder.comment("Item Settings").push("items"); + this.anyOreDivinationRod = builder.comment( "Allow the Divining Rod to attune to any ore" ) .define("anyOreDivinationRod", false); + this.minerOutputBeforeBreak = + builder.comment( + "Miners head to the output in the Dimensional Mineshaft before it breaks" + ) + .define("minerOutputBeforeBreak", false); + builder.pop(); } + } public static class SpiritJobSettings { diff --git a/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java b/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java index b523b486d..14092fc0d 100644 --- a/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java +++ b/src/main/java/com/klikli_dev/occultism/config/OccultismStartupConfig.java @@ -73,6 +73,7 @@ public static class DimensionalMineshaftSettings { public final MinerSpiritSettings minerDjinniOres; public final MinerSpiritSettings minerAfritDeeps; public final MinerSpiritSettings minerMaridMaster; + public final MinerSpiritSettings minerAncientEldritch; public DimensionalMineshaftSettings(ModConfigSpec.Builder builder) { builder.comment("Dimensional Mineshaft Settings").push("dimensional_mineshaft"); @@ -89,6 +90,9 @@ public DimensionalMineshaftSettings(ModConfigSpec.Builder builder) { this.minerMaridMaster = new MinerSpiritSettings("miner_marid_master", builder, 100, 1, 1600); + this.minerAncientEldritch = + new MinerSpiritSettings("miner_ancient_eldritch", builder, 15, 1, 3200); + builder.pop(); } diff --git a/src/main/java/com/klikli_dev/occultism/crafting/recipe/SpiritTradeRecipe.java b/src/main/java/com/klikli_dev/occultism/crafting/recipe/SpiritTradeRecipe.java index b61415ead..404c98b94 100644 --- a/src/main/java/com/klikli_dev/occultism/crafting/recipe/SpiritTradeRecipe.java +++ b/src/main/java/com/klikli_dev/occultism/crafting/recipe/SpiritTradeRecipe.java @@ -135,7 +135,7 @@ public boolean isValid(List input) { @Override public @NotNull ItemStack getToastSymbol() { - return new ItemStack(OccultismItems.PENTACLE.get()); + return new ItemStack(OccultismItems.PENTACLE_SUMMON.get()); } @Override diff --git a/src/main/java/com/klikli_dev/occultism/datagen/ItemModelsGenerator.java b/src/main/java/com/klikli_dev/occultism/datagen/ItemModelsGenerator.java index b883e351d..b378aa97d 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/ItemModelsGenerator.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/ItemModelsGenerator.java @@ -62,7 +62,11 @@ protected void registerModels() { this.registerItemGenerated(this.name(OccultismItems.BOOK_OF_CALLING_FOLIOT_CLEANER.get()),"book_of_calling_cleaner"); this.registerItemGenerated(this.name(OccultismItems.BOOK_OF_CALLING_FOLIOT_LUMBERJACK.get()),"book_of_calling_lumberjack"); this.registerItemGenerated(this.name(OccultismItems.BOOK_OF_CALLING_FOLIOT_TRANSPORT_ITEMS.get()),"book_of_calling_transport_items"); - this.registerItemGenerated(this.name(OccultismItems.PENTACLE.get()),"ritual_dummy"); + + this.registerItemGenerated(this.name(OccultismItems.PENTACLE_SUMMON.get()),"ritual_dummy_summon"); + this.registerItemGenerated(this.name(OccultismItems.PENTACLE_POSSESS.get()),"ritual_dummy_possess"); + this.registerItemGenerated(this.name(OccultismItems.PENTACLE_CRAFT.get()),"ritual_dummy_craft"); + this.registerItemGenerated(this.name(OccultismItems.PENTACLE_MISC.get()),"ritual_dummy_misc"); } @@ -77,7 +81,15 @@ private void registerItemGenerated(String name, String texture) { } private void registerRitualDummy(String name) { - this.getBuilder(name).parent(new ModelFile.UncheckedModelFile("occultism:item/ritual_dummy")); + if (name.contains("misc") || name.contains("contact") || name.contains("wild") || name.contains("resurrect")) { + this.getBuilder(name).parent(new ModelFile.UncheckedModelFile("occultism:item/pentacle_misc")); + } else if (name.contains("craft") || name.contains("repair")) { + this.getBuilder(name).parent(new ModelFile.UncheckedModelFile("occultism:item/pentacle_craft")); + } else if (name.contains("invoke") || name.contains("possess") || name.contains("familiar")) { + this.getBuilder(name).parent(new ModelFile.UncheckedModelFile("occultism:item/pentacle_possess")); + } else if (name.contains("summon")) { + this.getBuilder(name).parent(new ModelFile.UncheckedModelFile("occultism:item/pentacle_summon")); + } } private void registerSpawnEgg(String name) { @@ -102,6 +114,7 @@ private void registerAdvancementItem() { private void registerItemCommon() { String[] items = { this.name(OccultismItems.AFRIT_ESSENCE.get()), + this.name(OccultismItems.AMETHYST_DUST.get()), this.name(OccultismItems.AWAKENED_FEATHER.get()), this.name(OccultismItems.BEAVER_NUGGET.get()), this.name(OccultismItems.BOOK_OF_BINDING_AFRIT.get()), @@ -123,8 +136,8 @@ private void registerItemCommon() { this.name(OccultismItems.CHALK_BROWN_IMPURE.get()), this.name(OccultismItems.CHALK_CYAN.get()), this.name(OccultismItems.CHALK_CYAN_IMPURE.get()), - this.name(OccultismItems.CHALK_GOLD.get()), - this.name(OccultismItems.CHALK_GOLD_IMPURE.get()), + this.name(OccultismItems.CHALK_YELLOW.get()), + this.name(OccultismItems.CHALK_YELLOW_IMPURE.get()), this.name(OccultismItems.CHALK_GRAY.get()), this.name(OccultismItems.CHALK_GRAY_IMPURE.get()), this.name(OccultismItems.CHALK_GREEN.get()), @@ -146,32 +159,53 @@ private void registerItemCommon() { this.name(OccultismItems.CHALK_RED.get()), this.name(OccultismItems.CHALK_RED_IMPURE.get()), this.name(OccultismItems.CHALK_WHITE.get()), - this.name(OccultismItems.RITUAL_SATCHEL_T1.get()), - this.name(OccultismItems.RITUAL_SATCHEL_T2.get()), this.name(OccultismItems.CHALK_WHITE_IMPURE.get()), this.name(OccultismItems.COPPER_DUST.get()), + this.name(OccultismItems.CRUELTY_ESSENCE.get()), + this.name(OccultismItems.CRUSHED_BLACKSTONE.get()), + this.name(OccultismItems.CRUSHED_BLUE_ICE.get()), + this.name(OccultismItems.CRUSHED_CALCITE.get()), this.name(OccultismItems.CRUSHED_END_STONE.get()), + this.name(OccultismItems.CRUSHED_ICE.get()), + this.name(OccultismItems.CRUSHED_PACKED_ICE.get()), + this.name(OccultismItems.CURSED_HONEY.get()), this.name(OccultismItems.DATURA.get()), this.name(OccultismItems.DATURA_SEEDS.get()), this.name(OccultismItems.DEBUG_WAND.get()), + this.name(OccultismItems.DEMONIC_MEAT.get()), this.name(OccultismItems.DEMONS_DREAM_ESSENCE.get()), this.name(OccultismItems.DICTIONARY_OF_SPIRITS.get()), + this.name(OccultismItems.DRAGONYST_DUST.get()), + this.name(OccultismItems.ECHO_DUST.get()), + this.name(OccultismItems.EMERALD_DUST.get()), this.name(OccultismItems.FAMILIAR_RING.get()), this.name(OccultismItems.GOLD_DUST.get()), + this.name(OccultismItems.GRAY_PASTE.get()), this.name(OccultismItems.IESNIUM_DUST.get()), this.name(OccultismItems.IESNIUM_INGOT.get()), this.name(OccultismItems.IESNIUM_NUGGET.get()), this.name(OccultismItems.INFUSED_LENSES.get()), this.name(OccultismItems.IRON_DUST.get()), + this.name(OccultismItems.LAPIS_DUST.get()), this.name(OccultismItems.LENS_FRAME.get()), this.name(OccultismItems.LENSES.get()), this.name(OccultismItems.MAGIC_LAMP_EMPTY.get()), + this.name(OccultismItems.MARID_ESSENCE.get()), + this.name(OccultismItems.MINING_DIMENSION_CORE_PIECE.get()), + this.name(OccultismItems.NATURE_PASTE.get()), + this.name(OccultismItems.NETHERITE_DUST.get()), + this.name(OccultismItems.NETHERITE_SCRAP_DUST.get()), this.name(OccultismItems.OBSIDIAN_DUST.get()), this.name(OccultismItems.OTHERSTONE_FRAME.get()), this.name(OccultismItems.OTHERSTONE_TABLET.get()), this.name(OccultismItems.OTHERWORLD_ASHES.get()), this.name(OccultismItems.OTHERWORLD_ESSENCE.get()), this.name(OccultismItems.PURIFIED_INK.get()), + this.name(OccultismItems.REPAIR_ICON.get()), + this.name(OccultismItems.RESEARCH_FRAGMENT_DUST.get()), + this.name(OccultismItems.RESURRECT_ICON.get()), + this.name(OccultismItems.RITUAL_SATCHEL_T1.get()), + this.name(OccultismItems.RITUAL_SATCHEL_T2.get()), this.name(OccultismItems.RAW_IESNIUM.get()), this.name(OccultismItems.RAW_SILVER.get()), this.name(OccultismItems.SATCHEL.get()), @@ -185,7 +219,8 @@ private void registerItemCommon() { this.name(OccultismBlocks.SPIRIT_LANTERN.asItem()), this.name(OccultismItems.STORAGE_REMOTE_INERT.get()), this.name(OccultismItems.TABOO_BOOK.get()), - this.name(OccultismItems.TALLOW.get()) + this.name(OccultismItems.TALLOW.get()), + this.name(OccultismItems.WITHERITE_DUST.get()) }; for (String item : items){ this.registerItemGenerated(item, item); @@ -275,7 +310,8 @@ private void registerItemMiners() { this.name(OccultismItems.MINER_DEBUG_UNSPECIALIZED.get()), this.name(OccultismItems.MINER_DJINNI_ORES.get()), this.name(OccultismItems.MINER_FOLIOT_UNSPECIALIZED.get()), - this.name(OccultismItems.MINER_MARID_MASTER.get()) + this.name(OccultismItems.MINER_MARID_MASTER.get()), + this.name(OccultismItems.MINER_ANCIENT_ELDRITCH.get()) }; for (String item : items){ this.getBuilder(item) diff --git a/src/main/java/com/klikli_dev/occultism/datagen/OccultismAdvancementSubProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/OccultismAdvancementSubProvider.java index 595aec532..1e1e6389d 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/OccultismAdvancementSubProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/OccultismAdvancementSubProvider.java @@ -97,10 +97,10 @@ private void start() { .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "occultism/root"))); var familiarsRoot = this.add(Advancement.Builder.advancement() - .display(OccultismItems.JEI_DUMMY_NONE.get(), + .display(OccultismItems.PENTACLE_POSSESS.get(), title("familiars"), descr("familiars"), - ResourceLocation.parse("textures/gui/advancements/backgrounds/stone.png"), AdvancementType.TASK, true, + ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"textures/block/otherplanks.png"), AdvancementType.TASK, true, true, false) .addCriterion("summon_familiar", RitualTrigger.TriggerInstance.ritualFactory(OccultismRituals.FAMILIAR.getId())) diff --git a/src/main/java/com/klikli_dev/occultism/datagen/OccultismBookProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/OccultismBookProvider.java index 23c33a373..033c6732a 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/OccultismBookProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/OccultismBookProvider.java @@ -8,15 +8,14 @@ import com.klikli_dev.modonomicon.api.datagen.book.BookEntryModel; import com.klikli_dev.modonomicon.api.datagen.book.BookEntryParentModel; import com.klikli_dev.modonomicon.api.datagen.book.BookModel; -import com.klikli_dev.modonomicon.api.datagen.book.condition.BookAndConditionModel; -import com.klikli_dev.modonomicon.api.datagen.book.condition.BookEntryReadConditionModel; -import com.klikli_dev.modonomicon.api.datagen.book.condition.BookModLoadedConditionModel; -import com.klikli_dev.modonomicon.api.datagen.book.condition.BookTrueConditionModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.*; import com.klikli_dev.modonomicon.api.datagen.book.page.*; import com.klikli_dev.occultism.Occultism; import com.klikli_dev.occultism.datagen.book.BindingRitualsCategory; import com.klikli_dev.occultism.datagen.book.FamiliarRitualsCategory; import com.klikli_dev.occultism.datagen.book.GettingStartedCategory; +import com.klikli_dev.occultism.datagen.book.PentaclesCategory; +import com.klikli_dev.occultism.datagen.book.pentacles.*; import com.klikli_dev.occultism.integration.modonomicon.pages.*; import com.klikli_dev.occultism.registry.OccultismBlocks; import com.klikli_dev.occultism.registry.OccultismItems; @@ -45,28 +44,28 @@ protected void generateCategories() { int sortNum = 1; var gettingStartedCategory = this.add(new GettingStartedCategory(this).generate().withSortNumber(sortNum++)); var spiritsCategory = this.add(this.makeSpiritsSubcategory().withSortNumber(sortNum++)); - - var storageCategory = this.add(this.makeStorageCategory().withSortNumber(sortNum++)); - var ritualsCategory = this.add(this.makeRitualsCategory().withSortNumber(sortNum++)); + var pentaclesCategory = this.add(new PentaclesCategory(this).generate().withSortNumber(sortNum++)); + var summoningRitualsCategory = this.add(this.makeSummoningRitualsSubcategory().withSortNumber(sortNum++)); + summoningRitualsCategory.withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/white")); var possessionRitualsCategory = this.add(this.makePossessionRitualsSubcategory().withSortNumber(sortNum++)); - var craftingRitualsCategory = this.add(new BindingRitualsCategory(this).generate().withSortNumber(sortNum++)); + possessionRitualsCategory.withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); var familiarRitualsCategory = this.add(new FamiliarRitualsCategory(this).generate().withSortNumber(sortNum++)); + familiarRitualsCategory.withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); + var craftingRitualsCategory = this.add(new BindingRitualsCategory(this).generate().withSortNumber(sortNum++)); + craftingRitualsCategory.withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); - var pentaclesCategory = this.add(this.makePentaclesCategory().withSortNumber(sortNum++)); + var storageCategory = this.add(this.makeStorageCategory().withSortNumber(sortNum++)); + storageCategory.withCondition(BookEntryReadConditionModel.create().withEntry(this.modLoc("crafting_rituals/craft_storage_system"))); var introReadCondition = BookEntryReadConditionModel.create() .withEntry(this.modLoc("getting_started/intro")); - spiritsCategory.withCondition(introReadCondition); - storageCategory.withCondition(introReadCondition); ritualsCategory.withCondition(introReadCondition); - summoningRitualsCategory.withCondition(introReadCondition); - possessionRitualsCategory.withCondition(introReadCondition); - craftingRitualsCategory.withCondition(introReadCondition); - familiarRitualsCategory.withCondition(introReadCondition); + + pentaclesCategory.withCondition(introReadCondition); } @@ -435,7 +434,7 @@ private BookEntryModel makeWildHuntEntry(CategoryEntryMap entryMap, char icon) { this.lang().add(this.context().pageTitle(), "Wither Skeleton Skulls"); this.lang().add(this.context().pageText(), """ - While it is incredibly dangerous to call on the Wild Hunt, some summoners have been known to do so for quick access to the rare wither skeleton skulls they are known to leave behind. Summoning the wild hunt is described in detail on the page on obtaining [Wither Skeleton Skulls](entry://summoning_rituals/wither_skull). + While it is incredibly dangerous to call on the Wild Hunt, some summoners have been known to do so for quick access to the rare wither skeleton skulls they are known to leave behind. Summoning the wild hunt is described in detail on the page on obtaining [Wither Skeleton Skulls](entry://possession_rituals/wither_skull). """.formatted(COLOR_PURPLE)); return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) @@ -447,639 +446,6 @@ private BookEntryModel makeWildHuntEntry(CategoryEntryMap entryMap, char icon) { witherSkull ); } - - //endregion - - private BookCategoryModel makePentaclesCategory() { - this.context().category("pentacles"); - - var entryMap = ModonomiconAPI.get().getEntryMap(); - entryMap.setMap( - "____________________", - "__p_a_b_c_d_e_f_____", //paraphernalia, summon foliot, summon djinni, summon wild afrit, summon afrit, summon marid, summon wild greater spirit - "____________________", - "__o___g_h_i_________", //overview, possess foliot, possess djinni, possess afrit - "____________________", - "__u_j_k_l_m_________", //uses of chalks, craft foliot, craft djinni, craft afrit, craft marid - "____________________" - ); - - var overview = this.makePentaclesOverviewEntry(entryMap, 'o'); - var paraphernalia = this.makeParaphernaliaEntry(entryMap, 'p'); - paraphernalia.withParent(BookEntryParentModel.create(overview.getId())); - var chalkUses = this.makeChalkUsesEntry(entryMap, 'u'); - chalkUses.withParent(BookEntryParentModel.create(overview.getId())); - - var summonFoliot = this.makeSummonFoliotEntry(entryMap, 'a'); - summonFoliot.withParent(BookEntryParentModel.create(overview.getId())); - var summonDjinni = this.makeSummonDjinniEntry(entryMap, 'b'); - summonDjinni.withParent(BookEntryParentModel.create(summonFoliot.getId())); - var summonWildAfrit = this.makeSummonWildAfritEntry(entryMap, 'c'); - summonWildAfrit.withParent(BookEntryParentModel.create(summonDjinni.getId())); - var summonAfrit = this.makeSummonAfritEntry(entryMap, 'd'); - summonAfrit.withParent(BookEntryParentModel.create(summonWildAfrit.getId())); - var summonMarid = this.makeSummonMaridEntry(entryMap, 'e'); - summonMarid.withParent(BookEntryParentModel.create(summonAfrit.getId())); - var summonWildGreaterSpirit = this.makeSummonWildGreaterSpiritEntry(entryMap, 'f'); - summonWildGreaterSpirit.withParent(BookEntryParentModel.create(summonMarid.getId())); - - var possessFoliot = this.makePossessFoliotEntry(entryMap, 'g'); - possessFoliot.withParent(BookEntryParentModel.create(overview.getId())); - var possessDjinni = this.makePossessDjinniEntry(entryMap, 'h'); - possessDjinni.withParent(BookEntryParentModel.create(possessFoliot.getId())); - var possessAfrit = this.makePossessAfritEntry(entryMap, 'i'); - possessAfrit.withParent(BookEntryParentModel.create(possessDjinni.getId())); - - var craftFoliot = this.makeCraftFoliotEntry(entryMap, 'j'); - craftFoliot.withParent(BookEntryParentModel.create(overview.getId())); - var craftDjinni = this.makeCraftDjinniEntry(entryMap, 'k'); - craftDjinni.withParent(BookEntryParentModel.create(craftFoliot.getId())); - var craftAfrit = this.makeCraftAfritEntry(entryMap, 'l'); - craftAfrit.withParent(BookEntryParentModel.create(craftDjinni.getId())); - var craftMarid = this.makeCraftMaridEntry(entryMap, 'm'); - craftMarid.withParent(BookEntryParentModel.create(craftAfrit.getId())); - - //add true condition to all entries to enable them by default - overview.withCondition(BookTrueConditionModel.create()); - paraphernalia.withCondition(BookTrueConditionModel.create()); - chalkUses.withCondition(BookTrueConditionModel.create()); - summonFoliot.withCondition(BookTrueConditionModel.create()); - summonDjinni.withCondition(BookTrueConditionModel.create()); - summonWildAfrit.withCondition(BookTrueConditionModel.create()); - summonAfrit.withCondition(BookTrueConditionModel.create()); - summonMarid.withCondition(BookTrueConditionModel.create()); - summonWildGreaterSpirit.withCondition(BookTrueConditionModel.create()); - possessFoliot.withCondition(BookTrueConditionModel.create()); - possessDjinni.withCondition(BookTrueConditionModel.create()); - possessAfrit.withCondition(BookTrueConditionModel.create()); - craftFoliot.withCondition(BookTrueConditionModel.create()); - craftDjinni.withCondition(BookTrueConditionModel.create()); - craftAfrit.withCondition(BookTrueConditionModel.create()); - craftMarid.withCondition(BookTrueConditionModel.create()); - - return BookCategoryModel.create(this.modLoc(this.context().categoryId()), this.context().categoryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withEntries( - overview, - paraphernalia, - chalkUses, - - summonFoliot, - summonDjinni, - summonWildAfrit, - summonAfrit, - summonMarid, - summonWildGreaterSpirit, - - possessFoliot, - possessDjinni, - possessAfrit, - - craftFoliot, - craftDjinni, - craftAfrit, - craftMarid - ); - } - - private BookEntryModel makePentaclesOverviewEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("pentacles_overview"); - - this.context().page("intro1"); - var intro1 = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("intro2"); - var intro2 = BookTextPageModel.create() - .withText(this.context().pageText()); - - this.context().page("intro3"); - var intro3 = BookTextPageModel.create() - .withText(this.context().pageText()); - - this.context().page("intro4"); - var intro4 = BookTextPageModel.create() - .withText(this.context().pageText()); - - //exact copy found in first ritual entry - this.context().page("bowl_placement"); - var bowlPlacementImage = BookImagePageModel.create() - .withImages(this.modLoc("textures/gui/book/bowl_placement.png")) - .withBorder(true); - - //exact copy found in first ritual entry - this.context().page("bowl_text"); - var bowlText = BookTextPageModel.create() - .withText(this.context().pageText()); - - this.context().page("summoning_pentacles"); - var summoningPentacles = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("infusion_pentacles"); - var infusionPentacles = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("possession_pentacles"); - var possessionPentacles = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismBlocks.SPIRIT_ATTUNED_CRYSTAL.get()) - .withLocation(entryMap.get(icon)) - .withEntryBackground(0, 1) - .withPages( - intro1, - intro2, - intro3, - intro4, - bowlPlacementImage, - bowlText, - summoningPentacles, - infusionPentacles, - possessionPentacles - ); - } - - private BookEntryModel makeParaphernaliaEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("paraphernalia"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("candle"); - var candle = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(OccultismBlocks.LARGE_CANDLE.get())); - - this.context().page("crystal"); - var crystal = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(OccultismBlocks.SPIRIT_ATTUNED_CRYSTAL.get())); - - this.context().page("gem_recipe"); - var gemRecipe = BookSpiritFireRecipePageModel.create() - .withRecipeId1(this.modLoc("spirit_fire/spirit_attuned_gem")); - - this.context().page("crystal_recipe"); - var crystalRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/spirit_attuned_crystal")); - - this.context().page("skeleton_skull"); - var skeletonSkull = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(Blocks.SKELETON_SKULL)); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(Blocks.SKELETON_SKULL) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - candle, - crystal, - gemRecipe, - crystalRecipe, - skeletonSkull - ); - } - - private BookEntryModel makeChalkUsesEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("chalk_uses"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("intro2"); - var intro2 = BookTextPageModel.create() - .withText(this.context().pageText()); - - this.context().page("white_chalk"); - var whiteChalk = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(OccultismItems.CHALK_WHITE.get())); - - this.context().page("white_chalk_uses"); - var whiteChalkUses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("white_chalk_uses2"); - var whiteChalkUses2 = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("golden_chalk"); - var goldChalk = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(OccultismItems.CHALK_GOLD.get())); - - this.context().page("golden_chalk_uses"); - var goldChalkUses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("purple_chalk"); - var purpleChalk = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(OccultismItems.CHALK_PURPLE.get())); - - this.context().page("purple_chalk_uses"); - var purpleChalkUses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("red_chalk"); - var redChalk = BookSpotlightPageModel.create() - .withText(this.context().pageText()) - .withItem(Ingredient.of(OccultismItems.CHALK_RED.get())); - - this.context().page("red_chalk_uses"); - var redChalkUses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.CHALK_PURPLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - intro2, - whiteChalk, - whiteChalkUses, - whiteChalkUses2, - goldChalk, - goldChalkUses, - purpleChalk, - purpleChalkUses, - redChalk, - redChalkUses - ); - } - - private BookEntryModel makeSummonFoliotEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_foliot"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("summon_foliot")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makePossessFoliotEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("possess_foliot"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("possess_foliot")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeCraftFoliotEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("craft_foliot"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("craft_foliot")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeSummonDjinniEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_djinni"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("summon_djinni")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makePossessDjinniEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("possess_djinni"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("possess_djinni")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("uses2"); - var uses2 = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses, - uses2 - ); - } - - private BookEntryModel makeCraftDjinniEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("craft_djinni"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("craft_djinni")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeSummonAfritEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_afrit"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("summon_afrit")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeSummonWildAfritEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_wild_afrit"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("summon_wild_afrit")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makePossessAfritEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("possess_afrit"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("possess_afrit")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeCraftAfritEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("craft_afrit"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("craft_afrit")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeSummonMaridEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_marid"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("summon_marid")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeCraftMaridEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("craft_marid"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("craft_marid")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } - - private BookEntryModel makeSummonWildGreaterSpiritEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_wild_greater_spirit"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("multiblock"); - var multiblock = BookMultiblockPageModel.create() - .withMultiblockId(this.modLoc("summon_wild_greater_spirit")); - - this.context().page("uses"); - var uses = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(OccultismItems.PENTACLE.get()) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - multiblock, - uses - ); - } //endregion private BookCategoryModel makeRitualsCategory() { @@ -1103,21 +469,21 @@ private BookCategoryModel makeRitualsCategory() { sacrifice.withParent(BookEntryParentModel.create(itemUse.getId())); var summoning = this.makeSummoningRitualsSubcategoryEntry(entryMap, 's'); - summoning.withParent(BookEntryParentModel.create(sacrifice.getId())); + summoning.withParent(BookEntryParentModel.create(sacrifice.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/white")); var possession = this.makePossessionRitualsSubcategoryEntry(entryMap, 'p'); - possession.withParent(BookEntryParentModel.create(sacrifice.getId())); + possession.withParent(BookEntryParentModel.create(sacrifice.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); var crafting = this.makeCraftingRitualsSubcategoryEntry(entryMap, 'c'); - crafting.withParent(BookEntryParentModel.create(sacrifice.getId())); + crafting.withParent(BookEntryParentModel.create(sacrifice.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); var familiars = this.makeFamiliarRitualsSubcategoryEntry(entryMap, 'f'); - familiars.withParent(BookEntryParentModel.create(sacrifice.getId())); + familiars.withParent(BookEntryParentModel.create(sacrifice.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); //enable all entries by default itemUse.withCondition(BookTrueConditionModel.create()); sacrifice.withCondition(BookTrueConditionModel.create()); - summoning.withCondition(BookTrueConditionModel.create()); - possession.withCondition(BookTrueConditionModel.create()); - crafting.withCondition(BookTrueConditionModel.create()); - familiars.withCondition(BookTrueConditionModel.create()); return BookCategoryModel.create(this.modLoc(this.context().categoryId()), this.context().categoryName()) .withIcon(this.modLoc("textures/gui/book/robe.png")) @@ -1227,7 +593,7 @@ private BookEntryModel makeFamiliarRitualsSubcategoryEntry(CategoryEntryMap entr this.context().entry("familiar_rituals"); return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(this.modLoc("textures/gui/book/parrot.png")) + .withIcon(this.modLoc("textures/gui/book/familiar.png")) .withCategoryToOpen(this.modLoc("familiar_rituals")) .withEntryBackground(1, 1) //silver background and wavey entry shape .withLocation(entryMap.get(icon)); @@ -1242,91 +608,83 @@ private BookCategoryModel makeSummoningRitualsSubcategory() { var entryMap = ModonomiconAPI.get().getEntryMap(); entryMap.setMap( - "___________b___l______", "______________________", - "_________c_d_h_k______", + "__________h___________", + "_______c_d_b_k_l______", "______________________", - "___r_o________________", + "__r_o_________________", "______________________", - "_________1_e_i_a_m___", + "_______1__e____a______", "______________________", - "_________2_f___I______", + "_______2___f___m______", "______________________", - "_________3_g_j________", + "_______3___g__________", "______________________", - "_________4____________" + "_______4______________" ); + String summonFoliotID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonFoliotEntry.ENTRY_ID; + String summonDjinniID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonDjinniEntry.ENTRY_ID; + String summonUnboundAfritID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonUnboundAfritEntry.ENTRY_ID; + String summonAfritID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonAfritEntry.ENTRY_ID; + String summonUnboundsMaridID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonUnboundMaridEntry.ENTRY_ID; + String summonMaridID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonMaridEntry.ENTRY_ID; + var overview = this.makeSummoningRitualsOverviewEntry(entryMap, 'o'); + overview.withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var returnToRituals = this.makeReturnToRitualsEntry(entryMap, 'r'); - returnToRituals.withParent(BookEntryParentModel.create(overview.getId())); - returnToRituals.withCondition(BookTrueConditionModel.create()); + returnToRituals.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var summonT1Crusher = this.makeSummonCrusherT1Entry(entryMap, '1'); - summonT1Crusher.withParent(BookEntryParentModel.create(overview.getId())); + summonT1Crusher.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var summonT2Crusher = this.makeSummonCrusherT2Entry(entryMap, '2'); - summonT2Crusher.withParent(BookEntryParentModel.create(summonT1Crusher.getId())); + summonT2Crusher.withParent(BookEntryParentModel.create(summonT1Crusher.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonDjinniID)); var summonT3Crusher = this.makeSummonCrusherT3Entry(entryMap, '3'); - summonT3Crusher.withParent(BookEntryParentModel.create(summonT2Crusher.getId())); + summonT3Crusher.withParent(BookEntryParentModel.create(summonT2Crusher.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonAfritID)); var summonT4Crusher = this.makeSummonCrusherT4Entry(entryMap, '4'); - summonT4Crusher.withParent(BookEntryParentModel.create(summonT3Crusher.getId())); + summonT4Crusher.withParent(BookEntryParentModel.create(summonT3Crusher.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonMaridID)); var summonLumberjack = this.makeSummonLumberjackEntry(entryMap, 'c'); - summonLumberjack.withParent(BookEntryParentModel.create(overview.getId())); + summonLumberjack.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var summonTransportItems = this.makeSummonTransportItemsEntry(entryMap, 'd'); - summonTransportItems.withParent(BookEntryParentModel.create(overview.getId())); + summonTransportItems.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var summonCleaner = this.makeSummonCleanerEntry(entryMap, 'b'); - summonCleaner.withParent(BookEntryParentModel.create(summonTransportItems.getId())); + summonCleaner.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var summonManageMachine = this.makeSummonManageMachineEntry(entryMap, 'h'); - summonManageMachine.withParent(BookEntryParentModel.create(summonTransportItems.getId())); + summonManageMachine.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonDjinniID)); var tradeSpirits = this.makeTradeSpiritsEntry(entryMap, 'e'); - tradeSpirits.withParent(BookEntryParentModel.create(overview.getId())); + tradeSpirits.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliotID)); var summonOtherworldSaplingTrader = this.makeSummonOtherworldSaplingTraderEntry(entryMap, 'f'); - summonOtherworldSaplingTrader.withParent(BookEntryParentModel.create(tradeSpirits.getId())); + summonOtherworldSaplingTrader.withParent(BookEntryParentModel.create(tradeSpirits.getId()).withLineReversed(true)); var summonOtherstoneTrader = this.makeSummonOtherstoneTraderEntry(entryMap, 'g'); - summonOtherstoneTrader.withParent(BookEntryParentModel.create(summonOtherworldSaplingTrader.getId())); - - var summonWildParrot = this.makeSummonWildParrotEntry(entryMap, 'i'); - summonWildParrot.withParent(BookEntryParentModel.create(overview.getId())); - var summonWildOtherworldBird = this.makeSummonWildOtherworldBirdEntry(entryMap, 'j'); - summonWildOtherworldBird.withParent(BookEntryParentModel.create(summonWildParrot.getId())); - - var summonRandomAnimal = this.makeSummonRandomAnimalEntry(entryMap, 'I'); - summonRandomAnimal.withParent(BookEntryParentModel.create(summonWildParrot.getId()).withLineReversed(true)); + summonOtherstoneTrader.withParent(BookEntryParentModel.create(tradeSpirits.getId()).withLineReversed(true)); var weatherMagic = this.makeWeatherMagicEntry(entryMap, 'k'); - weatherMagic.withParent(BookEntryParentModel.create(overview.getId())); + weatherMagic.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonDjinniID)); var timeMagic = this.makeTimeMagicEntry(entryMap, 'l'); - timeMagic.withParent(BookEntryParentModel.create(weatherMagic.getId())); + timeMagic.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonDjinniID)); var afritEssence = this.makeAfritEssenceEntry(entryMap, 'a'); - afritEssence.withParent(BookEntryParentModel.create(overview.getId())); - - var witherSkull = this.makeWitherSkullEntry(entryMap, 'm'); - witherSkull.withParent(BookEntryParentModel.create(overview.getId())); - - //add true condition to all entries to enable them by default - overview.withCondition(BookTrueConditionModel.create()); - summonT1Crusher.withCondition(BookTrueConditionModel.create()); - summonT2Crusher.withCondition(BookTrueConditionModel.create()); - summonT3Crusher.withCondition(BookTrueConditionModel.create()); - summonT4Crusher.withCondition(BookTrueConditionModel.create()); - summonLumberjack.withCondition(BookTrueConditionModel.create()); - summonTransportItems.withCondition(BookTrueConditionModel.create()); - summonCleaner.withCondition(BookTrueConditionModel.create()); - summonManageMachine.withCondition(BookTrueConditionModel.create()); - tradeSpirits.withCondition(BookTrueConditionModel.create()); - summonOtherworldSaplingTrader.withCondition(BookTrueConditionModel.create()); - summonOtherstoneTrader.withCondition(BookTrueConditionModel.create()); - summonWildParrot.withCondition(BookTrueConditionModel.create()); - summonRandomAnimal.withCondition(BookTrueConditionModel.create()); - summonWildOtherworldBird.withCondition(BookTrueConditionModel.create()); - weatherMagic.withCondition(BookTrueConditionModel.create()); - timeMagic.withCondition(BookTrueConditionModel.create()); - afritEssence.withCondition(BookTrueConditionModel.create()); - witherSkull.withCondition(BookTrueConditionModel.create()); + afritEssence.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonUnboundAfritID)); + + var maridEssence = this.makeMaridEssenceEntry(entryMap, 'm'); + maridEssence.withParent(BookEntryParentModel.create(afritEssence.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonUnboundsMaridID)); return BookCategoryModel.create(this.modLoc(this.context().categoryId()), this.context().categoryName()) .withIcon(this.modLoc("textures/gui/book/summoning.png")) @@ -1346,13 +704,9 @@ private BookCategoryModel makeSummoningRitualsSubcategory() { tradeSpirits, summonOtherstoneTrader, summonOtherworldSaplingTrader, - summonWildOtherworldBird, - summonWildParrot, - summonRandomAnimal, timeMagic, weatherMagic, - witherSkull, - afritEssence + maridEssence ); } @@ -1383,7 +737,7 @@ private BookEntryModel makeAfritEssenceEntry(CategoryEntryMap entryMap, char ico this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_afrit")); + .withRecipeId1(this.modLoc("ritual/summon_unbound_afrit")); return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) .withIcon(OccultismItems.AFRIT_ESSENCE.get()) @@ -1394,6 +748,27 @@ private BookEntryModel makeAfritEssenceEntry(CategoryEntryMap entryMap, char ico ); } + private BookEntryModel makeMaridEssenceEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("marid_essence"); + + this.context().page("intro"); + var intro = BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/summon_unbound_marid")); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(OccultismItems.MARID_ESSENCE.get()) + .withLocation(entryMap.get(icon)) + .withPages( + intro, + ritual + ); + } + private BookEntryModel makeSummonCrusherT1Entry(CategoryEntryMap entryMap, char icon) { this.context().entry("summon_crusher_t1"); this.lang().add(this.context().entryName(), "Summon Foliot Crusher"); @@ -1844,108 +1219,6 @@ private BookEntryModel makeSummonOtherworldSaplingTraderEntry(CategoryEntryMap e ); } - private BookEntryModel makeSummonWildParrotEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_wild_parrot"); - - this.context().page("entity"); - var entity = BookEntityPageModel.create() - .withEntityId("minecraft:parrot") - .withText(this.context().pageText()); - - this.context().page("ritual"); - var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_parrot")); - - this.context().page("description"); - var description = BookTextPageModel.create() - .withText(this.context().pageText()); - - this.context().page("description2"); - var description2 = BookTextPageModel.create() - .withText(this.context().pageText()); - - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(this.modLoc("textures/gui/book/parrot.png")) - .withLocation(entryMap.get(icon)) - .withPages( - entity, - ritual, - description, - description2 - ); - } - - private BookEntryModel makeSummonRandomAnimalEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_random_animal"); - this.add(this.context().entryName(), "Summon Random Animal"); - - this.context().page("entity"); - var entity = BookEntityPageModel.create() - .withEntityId("minecraft:cow") - .withEntityName(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.add(this.context().pageTitle(), "Summon Random Animal"); - this.add(this.context().pageText(), - """ - **Provides**: A random animal - """ - ); - - this.context().page("ritual"); - var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_random_animal")); - //no text - - this.context().page("description"); - var description = BookTextPageModel.create() - .withText(this.context().pageText()); - this.add(this.context().pageText(), - """ - In this ritual a [#](%1$s)Foliot[#]() is summoned **as an untamed spirit** to take the shape of a random animal. - \\ - \\ - The animal can be interacted with as it's natural counterpart, including taming, breeding and loot. - """.formatted(COLOR_PURPLE)); - - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(Items.COW_SPAWN_EGG) - .withLocation(entryMap.get(icon)) - .withPages( - entity, - ritual, - description - ); - } - - private BookEntryModel makeSummonWildOtherworldBirdEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_wild_otherworld_bird"); - - this.context().page("entity"); - var entity = BookEntityPageModel.create() - .withEntityId("occultism:otherworld_bird") - .withText(this.context().pageText()); - - this.context().page("ritual"); - var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_otherworld_bird")); - - this.context().page("description"); - var description = BookTextPageModel.create() - .withText(this.context().pageText()); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(this.modLoc("textures/gui/book/otherworld_bird.png")) - .withLocation(entryMap.get(icon)) - .withPages( - entity, - ritual, - description - ); - } - private BookEntryModel makeWeatherMagicEntry(CategoryEntryMap entryMap, char icon) { this.context().entry("weather_magic"); @@ -1993,41 +1266,21 @@ private BookEntryModel makeTimeMagicEntry(CategoryEntryMap entryMap, char icon) .withRecipeId1(this.modLoc("ritual/summon_djinni_day_time")) .withAnchor("day"); - this.context().page("ritual_night"); - var ritualNight = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_djinni_night_time")) - .withAnchor("night"); - - return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(Items.CLOCK) - .withLocation(entryMap.get(icon)) - .withPages( - intro, - ritualDay, - ritualNight - ); - } - - private BookEntryModel makeWitherSkullEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("wither_skull"); - - this.context().page("intro"); - var intro = BookTextPageModel.create() - .withTitle(this.context().pageTitle()) - .withText(this.context().pageText()); - - this.context().page("ritual"); - var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_hunt")); + this.context().page("ritual_night"); + var ritualNight = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/summon_djinni_night_time")) + .withAnchor("night"); return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(Items.WITHER_SKELETON_SKULL) + .withIcon(Items.CLOCK) .withLocation(entryMap.get(icon)) .withPages( intro, - ritual + ritualDay, + ritualNight ); } + //endregion //region Possession Rituals @@ -2036,86 +1289,115 @@ private BookCategoryModel makePossessionRitualsSubcategory() { var entryMap = ModonomiconAPI.get().getEntryMap(); entryMap.setMap( - "_________H____F_J_K_N______", - "________A__________________", - "_______D_G___I_E_L_M_______", + "________I_A_B_J_P_N_C______", //The Places follow the tier progression + "___________________________", + "_______D_G_E_F_M_L_K_______", "___________________________", "___r_o_____________________", "___________________________", - "_______V_W_Y____S__________", + "_______H_W_Y__S___p_a______", //Down part is wild "___________________________", - "__________X_Z___T__________", + "________V_X_Z_T___d________", "___________________________", - "________________U__________" + "______________U____________" ); + String possessFoliotID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessFoliotEntry.ENTRY_ID; + String possessDjinniID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessDjinniEntry.ENTRY_ID; + String possessUnboundAfritID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessUnboundAfritEntry.ENTRY_ID; + String possessAfritID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessAfritEntry.ENTRY_ID; + String possessMaridID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessMaridEntry.ENTRY_ID; + String possessWildID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + ContactWildSpiritEntry.ENTRY_ID; + var overview = this.makePossessionRitualsOverviewEntry(entryMap, 'o'); + overview.withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var returnToRituals = this.makeReturnToRitualsEntry(entryMap, 'r'); - returnToRituals.withParent(BookEntryParentModel.create(overview.getId())); - returnToRituals.withCondition(BookTrueConditionModel.create()); + returnToRituals.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var possessEndermite = this.makePossessEndermiteEntry(entryMap, 'D'); - possessEndermite.withParent(BookEntryParentModel.create(overview.getId())); + possessEndermite.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); + var possessPhantom = this.makePossessPhantomEntry(entryMap, 'I'); + possessPhantom.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); + var possessSkeleton = this.makePossessSkeletonEntry(entryMap, 'G'); + possessSkeleton.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); + var possessWitch = this.makePossessWitchEntry(entryMap, 'A'); + possessWitch.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var possessEnderman = this.makePossessEndermanEntry(entryMap, 'E'); - possessEnderman.withParent(BookEntryParentModel.create(overview.getId())); + possessEnderman.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); + var possessBee = this.makePossessBeeEntry(entryMap, 'B'); + possessBee.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var possessGhast = this.makePossessGhastEntry(entryMap, 'F'); - possessGhast.withParent(BookEntryParentModel.create(overview.getId())); - var possessSkeleton = this.makePossessSkeletonEntry(entryMap, 'G'); - possessSkeleton.withParent(BookEntryParentModel.create(overview.getId())); - var possessPhantom = this.makePossessPhantomEntry(entryMap, 'I'); - possessPhantom.withParent(BookEntryParentModel.create(overview.getId())); + possessGhast.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var possessWeakShulker = this.makePossessWeakShulkerEntry(entryMap, 'J'); - possessWeakShulker.withParent(BookEntryParentModel.create(overview.getId())); - var possessShulker = this.makePossessShulkerEntry(entryMap, 'K'); - possessShulker.withParent(BookEntryParentModel.create(overview.getId())); - var possessElderGuardian = this.makePossessElderGuardianEntry(entryMap, 'L'); - possessElderGuardian.withParent(BookEntryParentModel.create(overview.getId())); + possessWeakShulker.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var possessWarden = this.makePossessWardenEntry(entryMap, 'M'); - possessWarden.withParent(BookEntryParentModel.create(overview.getId())); + possessWarden.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); + var possessZombiePiglin = this.makePossessZombiePiglinEntry(entryMap, 'P'); + possessZombiePiglin.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessUnboundAfritID)); + var possessElderGuardian = this.makePossessElderGuardianEntry(entryMap, 'L'); + possessElderGuardian.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessAfritID)); var possessHoglin = this.makePossessHoglinEntry(entryMap, 'N'); - possessHoglin.withParent(BookEntryParentModel.create(overview.getId())); + possessHoglin.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessAfritID)); + var possessShulker = this.makePossessShulkerEntry(entryMap, 'K'); + possessShulker.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessAfritID)); + var mercyGoat = this.makeMercyGoatEntry(entryMap, 'C'); + mercyGoat.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessMaridID)); + + var possessWitherSkeleton = this.makeWitherSkullEntry(entryMap, 'H'); + possessWitherSkeleton.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); + var hordeIllager = this.makeHordeIllagerEntry(entryMap, 'V'); + hordeIllager.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); var hordeHusk = this.makeHordeHuskEntry(entryMap, 'W'); - hordeHusk.withParent(BookEntryParentModel.create(overview.getId())); + hordeHusk.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); var hordeDrowned = this.makeHordeDrownedEntry(entryMap, 'X'); - hordeDrowned.withParent(BookEntryParentModel.create(overview.getId())); + hordeDrowned.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); var hordeCreeper = this.makeHordeCreeperEntry(entryMap, 'Y'); - hordeCreeper.withParent(BookEntryParentModel.create(overview.getId())); + hordeCreeper.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); var hordeSilverfish = this.makeHordeSilverfishEntry(entryMap, 'Z'); - hordeSilverfish.withParent(BookEntryParentModel.create(overview.getId())); - var hordeIllager = this.makeHordeIllagerEntry(entryMap, 'V'); - hordeIllager.withParent(BookEntryParentModel.create(overview.getId())); + hordeSilverfish.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); var possessWeakBreeze = this.makePossessWeakBreezeEntry(entryMap, 'S'); - possessWeakBreeze.withParent(BookEntryParentModel.create(overview.getId())); + possessWeakBreeze.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWildID)); var possessBreeze = this.makePossessBreezeEntry(entryMap, 'T'); - possessBreeze.withParent(BookEntryParentModel.create(possessWeakBreeze.getId())); + possessBreeze.withParent(BookEntryParentModel.create(possessWeakBreeze.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessWeakBreeze.getId())); var possessStrongBreeze = this.makePossessStrongBreezeEntry(entryMap, 'U'); - possessStrongBreeze.withParent(BookEntryParentModel.create(possessBreeze.getId())); + possessStrongBreeze.withParent(BookEntryParentModel.create(possessBreeze.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessBreeze.getId())); - this.context().category("summoning_rituals"); //re-use the entries from the summoning rituals category - var possessWitherSkeleton = this.makeWitherSkullEntry(entryMap, 'H'); - possessWitherSkeleton.withParent(BookEntryParentModel.create(possessSkeleton.getId())); - var afritEssence = this.makeAfritEssenceEntry(entryMap, 'A'); - afritEssence.withParent(BookEntryParentModel.create(overview.getId())); - this.context().category("possession_rituals"); + var possessUnboundParrot = this.makePossessUnboundParrotEntry(entryMap, 'p'); + possessUnboundParrot.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); + var possessUnboundOtherworldBird = this.makePossessUnboundOtherworldBirdEntry(entryMap, 'd'); + possessUnboundOtherworldBird.withParent(BookEntryParentModel.create(possessUnboundParrot.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); - //add true condition to all entries to enable them by default - overview.withCondition(BookTrueConditionModel.create()); - possessEnderman.withCondition(BookTrueConditionModel.create()); - possessEndermite.withCondition(BookTrueConditionModel.create()); - possessGhast.withCondition(BookTrueConditionModel.create()); - possessSkeleton.withCondition(BookTrueConditionModel.create()); - possessPhantom.withCondition(BookTrueConditionModel.create()); - possessWeakShulker.withCondition(BookTrueConditionModel.create()); - possessShulker.withCondition(BookTrueConditionModel.create()); - possessElderGuardian.withCondition(BookTrueConditionModel.create()); - possessWarden.withCondition(BookTrueConditionModel.create()); - possessHoglin.withCondition(BookTrueConditionModel.create()); - possessWitherSkeleton.withCondition(BookTrueConditionModel.create()); - afritEssence.withCondition(BookTrueConditionModel.create()); - hordeHusk.withCondition(BookTrueConditionModel.create()); - hordeDrowned.withCondition(BookTrueConditionModel.create()); - hordeCreeper.withCondition(BookTrueConditionModel.create()); - hordeSilverfish.withCondition(BookTrueConditionModel.create()); + var possessRandomAnimal = this.makePossessRandomAnimalEntry(entryMap, 'a'); + possessRandomAnimal.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); + + this.context().category("possession_rituals"); return BookCategoryModel.create(this.modLoc(this.context().categoryId()), this.context().categoryName()) .withIcon(this.modLoc("textures/gui/book/possession.png")) @@ -2133,8 +1415,8 @@ private BookCategoryModel makePossessionRitualsSubcategory() { possessElderGuardian, possessWarden, possessHoglin, + possessWitch, possessWitherSkeleton, - afritEssence, hordeHusk, hordeDrowned, hordeCreeper, @@ -2142,7 +1424,13 @@ private BookCategoryModel makePossessionRitualsSubcategory() { hordeIllager, possessWeakBreeze, possessBreeze, - possessStrongBreeze + possessStrongBreeze, + mercyGoat, + possessZombiePiglin, + possessBee, + possessUnboundOtherworldBird, + possessUnboundParrot, + possessRandomAnimal ); } @@ -2163,6 +1451,27 @@ private BookEntryModel makePossessionRitualsOverviewEntry(CategoryEntryMap entry ); } + private BookEntryModel makeWitherSkullEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("wither_skull"); + + this.context().page("intro"); + var intro = BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/wild_hunt")); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(Items.WITHER_SKELETON_SKULL) + .withLocation(entryMap.get(icon)) + .withPages( + intro, + ritual + ); + } + private BookEntryModel makePossessEndermanEntry(CategoryEntryMap entryMap, char icon) { this.context().entry("possess_enderman"); @@ -2400,7 +1709,7 @@ private BookEntryModel makePossessElderGuardianEntry(CategoryEntryMap entryMap, """ **Drops**: 2-4x [](item://minecraft:nautilus_shell) and as 40% to drop a [](item://minecraft:heart_of_the_sea) - Also commom Elder Guardian loot; + Also common Elder Guardian loot; """); this.context().page("ritual"); @@ -2498,6 +1807,158 @@ private BookEntryModel makePossessHoglinEntry(CategoryEntryMap entryMap, char ic description ); } + private BookEntryModel makePossessWitchEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_witch"); + this.lang().add(this.context().entryName(), "Possessed Witch"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("occultism:possessed_witch") + .withScale(0.4f).withOffset(0.8f) + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + **Drops**: Can drop: [](item://minecraft:experience_bottle) or other bottles (See next page); + """); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_witch")); + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + In this ritual a [#](%1$s)Witch[#]() is spawned using the rage energy from the [#](%1$s)Cat[#]() death. The [#](%1$s)Possessed Witch[#]() can drop a [](item://minecraft:experience_bottle), [](item://minecraft:honey_bottle), [](item://minecraft:ominous_bottle) or a useless uncraftable potion. + """.formatted(COLOR_PURPLE)); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(Items.EXPERIENCE_BOTTLE) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description + ); + } + + private BookEntryModel makeMercyGoatEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_goat"); + this.lang().add(this.context().entryName(), "Goat of Mery"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("occultism:mercy_goat") + .withScale(0.7f) + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + **Drops**: [](item://occultism:cruelty_essence); + """); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_goat")); + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + In this ritual, a [#](%1$s)Goat of Mercy[#]() is summoned to be sacrificed. This is the only way to obtain the [](item://occultism:cruelty_essence). + Be sure of your actions, because they will forever mark your history. + """.formatted(COLOR_PURPLE)); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(OccultismItems.CRUELTY_ESSENCE) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description + ); + } + + private BookEntryModel makePossessZombiePiglinEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_zombie_piglin"); + this.lang().add(this.context().entryName(), "Possessed Zombified Piglin"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("occultism:possessed_zombie_piglin") + .withScale(0.7f) + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + **Drops**: [](item://occultism:demonic_meat); + """); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_zombie_piglin")); + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + In this ritual an [#](%1$s)afrit[#]() will possess an [#](%1$s)Old Zombified Piglin[#](), + unifying the energies of the [#](%1$s)nether[#](), the power of the [#](%1$s)afrit[#](), + the material [#](%1$s)pork[#]() and the concept of the color [#](%1$s)pink[#](). + This is the only known method to obtain [](item://occultism:demonic_meat), its properties + prevent cooking but grant fire resistance to whoever consumes it. + """.formatted(COLOR_PURPLE)); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(OccultismItems.DEMONIC_MEAT) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description + ); + } + + private BookEntryModel makePossessBeeEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_bee"); + this.lang().add(this.context().entryName(), "Possessed Bee"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("occultism:possessed_bee") + .withScale(1.0f) + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + **Drops**: [](item://occultism:cursed_honey); + """); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_bee")); + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + In this ritual an [#](%1$s)djinni[#]() will possess an [#](%1$s)Bee[#](), Be careful, + a bee invoked by this way does not lose its stinger, always poison the target, + attacks faster and can summon other bees when it takes damage. + This is the only known method to obtain [](item://occultism:cursed_honey), eating will grants + a short regeneration buff. + """.formatted(COLOR_PURPLE)); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(OccultismItems.CURSED_HONEY) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description + ); + } private BookEntryModel makeHordeHuskEntry(CategoryEntryMap entryMap, char icon) { this.context().entry("horde_husk"); @@ -2515,7 +1976,7 @@ private BookEntryModel makeHordeHuskEntry(CategoryEntryMap entryMap, char icon) this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_husk")); + .withRecipeId1(this.modLoc("ritual/wild_husk")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2551,7 +2012,7 @@ private BookEntryModel makeHordeDrownedEntry(CategoryEntryMap entryMap, char ico this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_drowned")); + .withRecipeId1(this.modLoc("ritual/wild_drowned")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2587,7 +2048,7 @@ private BookEntryModel makeHordeCreeperEntry(CategoryEntryMap entryMap, char ico this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_creeper")); + .withRecipeId1(this.modLoc("ritual/wild_creeper")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2623,7 +2084,7 @@ private BookEntryModel makeHordeSilverfishEntry(CategoryEntryMap entryMap, char this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_wild_silverfish")); + .withRecipeId1(this.modLoc("ritual/wild_silverfish")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2659,7 +2120,7 @@ private BookEntryModel makeHordeIllagerEntry(CategoryEntryMap entryMap, char ico this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_horde_illager")); + .withRecipeId1(this.modLoc("ritual/wild_horde_illager")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2695,7 +2156,7 @@ private BookEntryModel makePossessWeakBreezeEntry(CategoryEntryMap entryMap, cha this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/possess_weak_breeze")); + .withRecipeId1(this.modLoc("ritual/wild_weak_breeze")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2731,7 +2192,7 @@ private BookEntryModel makePossessBreezeEntry(CategoryEntryMap entryMap, char ic this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/possess_breeze")); + .withRecipeId1(this.modLoc("ritual/wild_breeze")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2767,7 +2228,7 @@ private BookEntryModel makePossessStrongBreezeEntry(CategoryEntryMap entryMap, c this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/possess_strong_breeze")); + .withRecipeId1(this.modLoc("ritual/wild_strong_breeze")); this.context().page("description"); var description = BookTextPageModel.create() @@ -2786,6 +2247,108 @@ private BookEntryModel makePossessStrongBreezeEntry(CategoryEntryMap entryMap, c description ); } + + private BookEntryModel makePossessUnboundParrotEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_unbound_parrot"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("minecraft:parrot") + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_unbound_parrot")); + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + + this.context().page("description2"); + var description2 = BookTextPageModel.create() + .withText(this.context().pageText()); + + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(this.modLoc("textures/gui/book/parrot.png")) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description, + description2 + ); + } + + private BookEntryModel makePossessRandomAnimalEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_random_animal"); + this.add(this.context().entryName(), "Possessed Random Animal"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("minecraft:cow") + .withEntityName(this.context().pageTitle()) + .withText(this.context().pageText()); + + this.add(this.context().pageTitle(), "Summon Random Animal"); + this.add(this.context().pageText(), + """ + **Provides**: A random animal + """ + ); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_random_animal")); + //no text + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + this.add(this.context().pageText(), + """ + In this ritual a [#](%1$s)Foliot[#]() is summoned **as an untamed spirit** to take the shape of a random animal. + \\ + \\ + The animal can be interacted with as it's natural counterpart, including taming, breeding and loot. + """.formatted(COLOR_PURPLE)); + + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(Items.COW_SPAWN_EGG) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description + ); + } + + private BookEntryModel makePossessUnboundOtherworldBirdEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("possess_unbound_otherworld_bird"); + + this.context().page("entity"); + var entity = BookEntityPageModel.create() + .withEntityId("occultism:otherworld_bird") + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/possess_unbound_otherworld_bird")); + + this.context().page("description"); + var description = BookTextPageModel.create() + .withText(this.context().pageText()); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(this.modLoc("textures/gui/book/otherworld_bird.png")) + .withLocation(entryMap.get(icon)) + .withPages( + entity, + ritual, + description + ); + } //endregion private BookCategoryModel makeStorageCategory() { @@ -2795,11 +2358,11 @@ private BookCategoryModel makeStorageCategory() { entryMap.setMap( "_______ṡ___________________", "___________________________", - "_______ș_w_r_______________", + "_______ș_w_________________", "___________________________", - "_____0_c___s_1_2_3_4________", + "_____0_c___s_1_2_3_4_______", "___________________________", - "_________d_________________", + "_______d_r_________________", "___________________________" ); @@ -2838,24 +2401,19 @@ private BookCategoryModel makeStorageCategory() { craftStabilizerTier2.getId().getNamespace(), "storage/" + craftStabilizerTier2.getId().getPath() ) - )); + )).withCondition(BookEntryReadConditionModel.create().withEntry(this.modLoc("pentacles/craft_afrit"))); var craftStabilizerTier4 = bindingRitualsCategory.makeCraftStabilizerTier4Entry(entryMap, '4'); craftStabilizerTier4.withParent(BookEntryParentModel.create( ResourceLocation.fromNamespaceAndPath( craftStabilizerTier3.getId().getNamespace(), "storage/" + craftStabilizerTier3.getId().getPath() ) - )); + )).withCondition(BookEntryReadConditionModel.create().withEntry(this.modLoc("pentacles/craft_marid"))); var craftStableWormhole = bindingRitualsCategory.makeCraftStableWormholeEntry(entryMap, 'w'); craftStableWormhole.withParent(BookEntryParentModel.create(storageController.getId())); var craftStorageRemote = bindingRitualsCategory.makeCraftStorageRemoteEntry(entryMap, 'r'); - craftStorageRemote.withParent(BookEntryParentModel.create( - ResourceLocation.fromNamespaceAndPath( - craftStableWormhole.getId().getNamespace(), - "storage/" + craftStableWormhole.getId().getPath() - ) - )); + craftStorageRemote.withParent(BookEntryParentModel.create(storageController.getId())); this.context().category("summoning_rituals"); //re-use existing entries var summonManageMachine = this.makeSummonManageMachineEntry(entryMap, 'd'); diff --git a/src/main/java/com/klikli_dev/occultism/datagen/PentacleProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/PentacleProvider.java index 8ddd0f828..8776b264d 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/PentacleProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/PentacleProvider.java @@ -37,6 +37,7 @@ import net.minecraft.tags.TagKey; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.neoforged.neoforge.common.Tags; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -61,192 +62,350 @@ public PentacleProvider(DataGenerator generator) { } private void start() { - this.addPentacle("craft_afrit", + //Summon + this.addPentacle("summon_foliot", this.createPattern( - " N ", - " GGG ", - " GCPCG ", - " G WCW G ", - " GCWW WWCG ", - "ZGPC 0 CPGZ", - " GCWW WWCG ", - " G WCW G ", - " GCPCG ", - " GGG ", - " Z "), - new MappingBuilder().bowl().whiteChalk().goldChalk().purpleChalk().redChalk().candle().crystal().skeleton().wither().ground().build()); - this.addPentacle("craft_djinni", + "_________", + "___WWW___", + "__W_W_W__", + "_W_1W1_W_", + "_WWW0WWW_", + "_W_1W1_W_", + "__W_W_W__", + "___WWW___", + "_________"), + new MappingBuilder().bowl().whiteChalk().candle().ground().build()); + this.addPentacle("summon_djinni", this.createPattern( - " ", - " C WGW C ", - " P W P ", - " W SWS W ", - " GWW0WWG ", - " W SWS W ", - " P W P ", - " C WGW C ", - " "), - new MappingBuilder().bowl().whiteChalk().goldChalk().purpleChalk().candle().crystal().ground().build()); - this.addPentacle("craft_foliot", + "_____________", + "____LLLLL____", + "___L_L1L_L___", + "__L2_WWW_2L__", + "_L__W_S_W__L_", + "_LLW_1S1_WLL_", + "_L1WSS0SSW1L_", + "_LLW_1S1_WLL_", + "_L__W_S_W__L_", + "__L2_WWW_2L__", + "___L_L1L_L___", + "____LLLLL____", + "_____________"), + new MappingBuilder().bowl().whiteChalk().lightGrayChalk().limeChalk().candle().skeleton().ground().build()); + this.addPentacle("summon_unbound_afrit", this.createPattern( - " WSW ", - " G G ", - "W W W", - "C W0W C", - "W W W", - " G G ", - " WSW "), - new MappingBuilder().bowl().whiteChalk().goldChalk().candle().crystal().ground().build()); - this.addPentacle("craft_marid", + "_________________", + "______OOOOO______", + "____OO__2__OO____", + "___O__LLLLL__O___", + "__O__L_L1L_L__O__", + "__O_L2_WWW_2L_O__", + "_O_L__W_G_W__L_O_", + "_O_LLW_1G1_WLL_O_", + "_O2L1WGG0GGW1L2O_", + "_O_LLW_1G1_WLL_O_", + "_O_L__W_G_W__L_O_", + "__O_L2_WWW_2L_O__", + "__O__L_L1L_L__O__", + "___O__LLLLL__O___", + "____OO__2__OO____", + "______OOOOO______", + "_________________"), + new MappingBuilder().bowl().whiteChalk().grayChalk().limeChalk().orangeChalk().candle().skeleton().crystal().ground().build()); + this.addPentacle("summon_afrit", this.createPattern( - " Z ", - " RRR ", - " RCWCR ", - " R W R ", - " RGSWNWSGR ", - " R SGW WGS R ", - " RC WW WW CR ", - "ZRWWN 0 NWWRZ", - " RC WW WW CR ", - " R SGW WGS R ", - " RGSWNWSGR ", - " R W R ", - " RCWCR ", - " RRR ", - " Z "), - new MappingBuilder().bowl().whiteChalk().goldChalk().redChalk().candle().crystal().skeleton().wither().ground().build()); - this.addPentacle("debug", + "_________________", + "______OOOOO______", + "____OOR_2_ROO____", + "___OR_LLLLL_RO___", + "__OR3L_L1L_L3RO__", + "__O_L2_WWW_2L_O__", + "_ORL__W_G_W__LRO_", + "_O_LLW_1G1_WLL_O_", + "_O2L1WGG0GGW1L2O_", + "_O_LLW_1G1_WLL_O_", + "_ORL__W_G_W__LRO_", + "__O_L2_WWW_2L_O__", + "__OR3L_L1L_L3RO__", + "___OR_LLLLL_RO___", + "____OOR_2_ROO____", + "______OOOOO______", + "_________________"), + new MappingBuilder().bowl().whiteChalk().grayChalk().limeChalk().orangeChalk().redChalk().candle().skeleton().crystal().ground().build()); + this.addPentacle("summon_unbound_marid", this.createPattern( - " GCG ", - " G P G ", - "G P G", - "CPP0PPC", - "G P G", - " G P G ", - " GCG "), - new MappingBuilder().bowl().goldChalk().purpleChalk().candle().skeleton().ground().build()); - this.addPentacle("possess_afrit", + "_________________", + "______OOOOO______", + "__4_OOR_2_ROO_4__", + "___OR_LLLLL_RO___", + "__OR3L_L1L_L3RO__", + "__O_L2_WWW_2L_O__", + "_ORL__W_K_W__LRO_", + "_O_LLW_1K1_WLL_O_", + "_O2L1WKK0KKW1L2O_", + "_O_LLW_1K1_WLL_O_", + "_ORL__W_K_W__LRO_", + "__O_L2_WWW_2L_O__", + "__OR3L_L1L_L3RO__", + "___OR_LLLLL_RO___", + "__4_OOR_2_ROO_4__", + "______OOOOO______", + "_________________"), + new MappingBuilder().bowl().whiteChalk().blackChalk().limeChalk().orangeChalk().redChalk().candle().skeleton().crystal().wither().ground().build()); + this.addPentacle("summon_marid", + this.createPattern( + "_____________________", + "_______UUUUUUU_______", + "_____UU__U3U__UU_____", + "____U___OOOOO___U____", + "___U4_OOR_2_ROO_4U___", + "__U__OR_LLLLL_RO__U__", + "__U_OR3L_L1L_L3RO_U__", + "_U__O_L2_WWW_2L_O__U_", + "_U_ORL__W_K_W__LRO_U_", + "_UUO_LLW_1K1_WLL_OUU_", + "_U3O2L1WKK0KKW1L2O3U_", + "_UUO_LLW_1K1_WLL_OUU_", + "_U_ORL__W_K_W__LRO_U_", + "_U__O_L2_WWW_2L_O__U_", + "__U_OR3L_L1L_L3RO_U__", + "__U__OR_LLLLL_RO__U__", + "___U4_OOR_2_ROO_4U___", + "____U___OOOOO___U____", + "_____UU__U3U__UU_____", + "_______UUUUUUU_______", + "_____________________"), + new MappingBuilder().bowl().whiteChalk().blackChalk().limeChalk().orangeChalk().redChalk().blueChalk().candle().skeleton().crystal().wither().ground().build()); + //Possess + this.addPentacle("possess_foliot", this.createPattern( - " ", - " PRP ", - " GCWCG ", - " G WNW G ", - " PCWP PWCP ", - " RWZ 0 ZWR ", - " PCWP PWCP ", - " G WNW G ", - " GCWCG ", - " PRP ", - " "), - new MappingBuilder().bowl().whiteChalk().goldChalk().purpleChalk().redChalk().candle().skeleton().wither().ground().build()); + "_________", + "____W____", + "___W1W___", + "__W_Y_W__", + "_W1Y0Y1W_", + "__W_Y_W__", + "___W1W___", + "____W____", + "_________"), + new MappingBuilder().bowl().whiteChalk().yellowChalk().candle().ground().build()); this.addPentacle("possess_djinni", this.createPattern( - " GPG ", - " GC CG ", - " GZW WZG ", - "GCWP PWCG", - "P 0 P", - "GCWP PWCG", - " GZW WZG ", - " GC CG ", - " GPG "), - new MappingBuilder().bowl().whiteChalk().goldChalk().purpleChalk().candle().skeleton().ground().build()); - this.addPentacle("possess_foliot", + "_____________", + "______L______", + "_____L2L_____", + "____Y_W_Y____", + "___Y1S1S1Y___", + "__L_S_Y_S_L__", + "_L2W1Y0Y1W2L_", + "__L_S_Y_S_L__", + "___Y1S1S1Y___", + "____Y_W_Y____", + "_____L2L_____", + "______L______", + "_____________"), + new MappingBuilder().bowl().whiteChalk().lightGrayChalk().yellowChalk().limeChalk().candle().skeleton().ground().build()); + this.addPentacle("possess_unbound_afrit", this.createPattern( - " GGG ", - " GC CG ", - " GW WG ", - "GC W W CG", - "G 0 G", - "GC W W CG", - " GW WG ", - " GC CG ", - " GGG "), - new MappingBuilder().bowl().whiteChalk().goldChalk().candle().ground().build()); - this.addPentacle("summon_afrit", + "_________________", + "________Y________", + "_______Y3Y_______", + "________L________", + "_____O_L2L_O_____", + "____O2Y_W_Y2O____", + "_____Y1G1G1Y_____", + "__Y_L_G_Y_G_L_Y__", + "_Y3L2W1Y0Y1W2L3Y_", + "__Y_L_G_Y_G_L_Y__", + "_____Y1G1G1Y_____", + "____O2Y_W_Y2O____", + "_____O_L2L_O_____", + "________L________", + "_______Y3Y_______", + "________Y________", + "_________________"), + new MappingBuilder().bowl().whiteChalk().grayChalk().yellowChalk().limeChalk().orangeChalk().candle().skeleton().crystal().ground().build()); + this.addPentacle("possess_afrit", this.createPattern( - " ", - " PRP ", - " WCWCW ", - " W WNW W ", - " PCWP PWCP ", - " RWZ 0 ZWR ", - " PCWP PWCP ", - " W WNW W ", - " WCWCW ", - " PRP ", - " "), - new MappingBuilder().bowl().whiteChalk().purpleChalk().redChalk().candle().skeleton().wither().ground().build()); - this.addPentacle("summon_djinni", + "_________________", + "________Y________", + "_______Y3Y_______", + "______R_L_R______", + "_____O_L2L_O_____", + "____O2Y_W_Y2O____", + "___R_Y1G1G1Y_R___", + "__Y_L_G_Y_G_L_Y__", + "_Y3L2W1Y0Y1W2L3Y_", + "__Y_L_G_Y_G_L_Y__", + "___R_Y1G1G1Y_R___", + "____O2Y_W_Y2O____", + "_____O_L2L_O_____", + "______R_L_R______", + "_______Y3Y_______", + "________Y________", + "_________________"), + new MappingBuilder().bowl().whiteChalk().grayChalk().yellowChalk().limeChalk().orangeChalk().redChalk().candle().skeleton().crystal().ground().build()); + this.addPentacle("possess_marid", this.createPattern( - " C C ", - " PPP ", - " W Z W ", - "CP W W PC", - " PZ 0 ZP ", - "CP W W PC", - " W Z W ", - " PPP ", - " C C "), - new MappingBuilder().bowl().whiteChalk().purpleChalk().candle().skeleton().ground().build()); - this.addPentacle("summon_marid", + "_____________________", + "__________U__________", + "_________Y4Y_________", + "________U_Y_U________", + "_______Y_Y3Y_Y_______", + "______U_R_L_R_U______", + "_____U3O_L2L_O3U_____", + "____Y_O2Y_W_Y2O_Y____", + "___U_R_Y1K1K1Y_R_U___", + "__Y_Y_L_K_Y_K_L_Y_Y__", + "_U4Y3L2W1Y0Y1W2L3Y4U_", + "__Y_Y_L_K_Y_K_L_Y_Y__", + "___U_R_Y1K1K1Y_R_U___", + "____Y_O2Y_W_Y2O_Y____", + "_____U3O_L2L_O3U_____", + "______U_R_L_R_U______", + "_______Y_Y3Y_Y_______", + "________U_Y_U________", + "_________Y4Y_________", + "__________U__________", + "_____________________"), + new MappingBuilder().bowl().whiteChalk().blackChalk().yellowChalk().limeChalk().orangeChalk().redChalk().blueChalk().candle().skeleton().crystal().wither().ground().build()); + //Craft + this.addPentacle("craft_foliot", this.createPattern( - " Z ", - " RRR ", - " RCWCR ", - " R W R ", - " RG WNW GR ", - " R GW WG R ", - " RC WW WW CR ", - "ZRWWN 0 NWWRZ", - " RC WW WW CR ", - " R GW WG R ", - " RG WNW GR ", - " R W R ", - " RCWCR ", - " RRR ", - " Z "), - new MappingBuilder().bowl().whiteChalk().goldChalk().redChalk().candle().skeleton().wither().ground().build()); - this.addPentacle("summon_foliot", + "_________", + "__WXXXW__", + "_WW1_1WW_", + "_X1W_W1X_", + "_X__0__X_", + "_X1W_W1X_", + "_WW1_1WW_", + "__WXXXW__", + "_________"), + new MappingBuilder().bowl().whiteChalk().purpleChalk().candle().ground().build()); + this.addPentacle("craft_djinni", this.createPattern( - " ", - " WCW ", - " W W W ", - " W W W ", - " CWW0WWC ", - " W W W ", - " W W W ", - " WCW ", - " "), - new MappingBuilder().bowl().whiteChalk().candle().ground().build()); - this.addPentacle("summon_wild_afrit", + "_____________", + "__XLXLXLXLX__", + "_XL_2___2_LX_", + "_L__WXXXW__L_", + "_X2WS1_1SW2X_", + "_L_X1S_S1X_L_", + "_X_X__0__X_X_", + "_L_X1S_S1X_L_", + "_X2WS1_1SW2X_", + "_L__WXXXW__L_", + "_XL_2___2_LX_", + "__XLXLXLXLX__", + "_____________"), + new MappingBuilder().bowl().whiteChalk().lightGrayChalk().purpleChalk().limeChalk().candle().skeleton().ground().build()); + this.addPentacle("craft_afrit", + this.createPattern( + "_________________", + "__RXOXOXRXOXOXR__", + "_RX____3_3____XR_", + "_X__XLXLXLXLX__X_", + "_O_XL_2___2_LX_O_", + "_X_L__WXXXW__L_X_", + "_O_X2WG1_1GW2X_O_", + "_X3L_X1G_G1X_L3X_", + "_R_X_X__0__X_X_R_", + "_X3L_X1G_G1X_L3X_", + "_O_X2WG1_1GW2X_O_", + "_X_L__WXXXW__L_X_", + "_O_XL_2___2_LX_O_", + "_X__XLXLXLXLX__X_", + "_RX____3_3____XR_", + "__RXOXOXRXOXOXR__", + "_________________"), + new MappingBuilder().bowl().whiteChalk().grayChalk().purpleChalk().limeChalk().orangeChalk().redChalk().candle().skeleton().crystal().ground().build()); + this.addPentacle("craft_marid", this.createPattern( - " ", - " PPP ", - " WCWCW ", - " W WNW W ", - " PCWP PWCP ", - " PWZ 0 ZWP ", - " PCWP PWCP ", - " W WNW W ", - " WCWCW ", - " PPP ", - " "), - new MappingBuilder().bowl().whiteChalk().purpleChalk().candle().skeleton().wither().ground().build()); - this.addPentacle("summon_wild_greater_spirit", + "_____________________", + "__XXUUUXUUUUUXUUUXX__", + "_XX_______4_______XX_", + "_X__RXOXOXRXOXOXR__X_", + "_U_RX____3_3____XR_U_", + "_U_X__XLXLXLXLX__X_U_", + "_U_O_XL_2___2_LX_O_U_", + "_X_X_L__WXXXW__L_X_X_", + "_U_O_X2WK1_1KW2X_O_U_", + "_U_X3L_X1K_K1X_L3X_U_", + "_U4R_X_X__0__X_X_R4U_", + "_U_X3L_X1K_K1X_L3X_U_", + "_U_O_X2WK1_1KW2X_O_U_", + "_X_X_L__WXXXW__L_X_X_", + "_U_O_XL_2___2_LX_O_U_", + "_U_X__XLXLXLXLX__X_U_", + "_U_RX____3_3____XR_U_", + "_X__RXOXOXRXOXOXR__X_", + "_XX_______4_______XX_", + "__XXUUUXUUUUUXUUUXX__", + "_____________________"), + new MappingBuilder().bowl().whiteChalk().blackChalk().purpleChalk().limeChalk().orangeChalk().redChalk().blueChalk().candle().skeleton().crystal().wither().ground().build()); + //Others + this.addPentacle("resurrect_spirit", this.createPattern( - " ", - " PPP ", - " W W W ", - " W WZW W ", - " P WP PW P ", - " PWZ 0 ZWP ", - " P WP PW P ", - " W WZW W ", - " W W W ", - " PPP ", - " "), - new MappingBuilder().bowl().whiteChalk().purpleChalk().skeleton().ground().build()); + "___________", + "_____W_____", + "__W_____W__", + "___________", + "____WWW____", + "_W__W0W__W_", + "____WWW____", + "___________", + "__W_____W__", + "_____W_____", + "___________"), + new MappingBuilder().bowl().onlyWhiteChalk().ground().build()); + this.addPentacle("contact_wild_spirit", + this.createPattern( + "_____________", + "______P______", + "__A_AE_EA_A__", + "____PE_EP____", + "__APA_P_APA__", + "__EE_____EE__", + "_P__P_0_P__P_", + "__EE_____EE__", + "__APA_P_APA__", + "____PE_EP____", + "__A_AE_EA_A__", + "______P______", + "_____________"), + new MappingBuilder().bowl().pinkChalk().greenChalk().lightBlueChalk().ground().build()); + this.addPentacle("contact_eldritch_spirit", + this.createPattern( + "_____________________", + "__________C__________", + "_________CeC_________", + "_________CMC_________", + "____BB__CMMMC__BB____", + "____BlBBCM_MCBBfB____", + "_____B_B_____B_B_____", + "_____BB_______BB_____", + "____CC_________CC____", + "__CCMM_________MMCC__", + "_CkMM_____0_____MMgC_", + "__CCMM_________MMCC__", + "____CC_________CC____", + "_____BB_______BB_____", + "_____B_B_____B_B_____", + "____BjBBCM_MCBBhB____", + "____BB__CMMMC__BB____", + "_________CMC_________", + "_________CiC_________", + "__________C__________", + "_____________________"), + new MappingBuilder().bowl().magentaChalk().brownChalk().cyanChalk().eldritch().ground().build()); + this.addPentacle("debug", + this.createPattern( + " Y1Y ", + " Y X Y ", + "Y X Y", + "1XX0XX1", + "Y X Y", + " Y X Y ", + " Y1Y "), + new MappingBuilder().bowl().yellowChalk().purpleChalk().candle().skeleton().eldritch().ground().build()); } private List createPattern(String... rows) { @@ -340,6 +499,13 @@ private MappingBuilder block(char c, Supplier b) { json.addProperty("block", BuiltInRegistries.BLOCK.getKey(b.get()).toString()); return this.element(c, json); } + private MappingBuilder block(char c, Block b) { + + JsonObject json = new JsonObject(); + json.addProperty("type", "modonomicon:block"); + json.addProperty("block", b.toString()); + return this.element(c, json); + } private MappingBuilder blockDisplay(char c, Supplier b, Supplier display) { JsonObject json = new JsonObject(); @@ -366,42 +532,87 @@ private MappingBuilder tag(char c, TagKey tag) { private MappingBuilder bowl() { return this.block('0', OccultismBlocks.GOLDEN_SACRIFICIAL_BOWL); } - private MappingBuilder candle() { - return this.tag('C', OccultismTags.Blocks.CANDLES); + return this.tag('1', OccultismTags.Blocks.CANDLES); + } + private MappingBuilder skeleton() { + return this.block('2', () -> Blocks.SKELETON_SKULL); + } + private MappingBuilder crystal() { + return this.block('3', OccultismBlocks.SPIRIT_ATTUNED_CRYSTAL); + } + private MappingBuilder wither() { + return this.block('4', () -> Blocks.WITHER_SKELETON_SKULL); } private MappingBuilder whiteChalk() { - return this.block('W', OccultismBlocks.CHALK_GLYPH_WHITE); + return this.tag('W', OccultismTags.Blocks.FOUNDATION_GLYPHS_ANY); } - - private MappingBuilder goldChalk() { - return this.block('G', OccultismBlocks.CHALK_GLYPH_GOLD); + private MappingBuilder lightGrayChalk() { + return this.tag('S', OccultismTags.Blocks.FOUNDATION_GLYPHS_NO_WHITE); } - - private MappingBuilder purpleChalk() { - return this.block('P', OccultismBlocks.CHALK_GLYPH_PURPLE); + private MappingBuilder grayChalk() { + return this.tag('G', OccultismTags.Blocks.FOUNDATION_GLYPHS_DARK); + } + private MappingBuilder blackChalk() { + return this.block('K', OccultismBlocks.CHALK_GLYPH_BLACK); + } + private MappingBuilder brownChalk() { + return this.block('B', OccultismBlocks.CHALK_GLYPH_BROWN); } - private MappingBuilder redChalk() { return this.block('R', OccultismBlocks.CHALK_GLYPH_RED); } - - private MappingBuilder crystal() { - return this.block('S', OccultismBlocks.SPIRIT_ATTUNED_CRYSTAL); + private MappingBuilder orangeChalk() { + return this.block('O', OccultismBlocks.CHALK_GLYPH_ORANGE); + } + private MappingBuilder yellowChalk() { + return this.block('Y', OccultismBlocks.CHALK_GLYPH_YELLOW); + } + private MappingBuilder limeChalk() { + return this.block('L', OccultismBlocks.CHALK_GLYPH_LIME); + } + private MappingBuilder greenChalk() { + return this.block('E', OccultismBlocks.CHALK_GLYPH_GREEN); + } + private MappingBuilder cyanChalk() { + return this.block('C', OccultismBlocks.CHALK_GLYPH_CYAN); + } + private MappingBuilder lightBlueChalk() { + return this.block('A', OccultismBlocks.CHALK_GLYPH_LIGHT_BLUE); + } + private MappingBuilder blueChalk() { + return this.block('U', OccultismBlocks.CHALK_GLYPH_BLUE); + } + private MappingBuilder purpleChalk() { + return this.block('X', OccultismBlocks.CHALK_GLYPH_PURPLE); + } + private MappingBuilder magentaChalk() { + return this.block('M', OccultismBlocks.CHALK_GLYPH_MAGENTA); + } + private MappingBuilder pinkChalk() { + return this.block('P', OccultismBlocks.CHALK_GLYPH_PINK); + } + private MappingBuilder onlyWhiteChalk() { + return this.block('W', OccultismBlocks.CHALK_GLYPH_WHITE); } - private MappingBuilder skeleton() { - return this.block('Z', () -> Blocks.SKELETON_SKULL); + private MappingBuilder eldritch(){ + return this.block('e', () -> Blocks.LODESTONE) + .block('f', () -> Blocks.END_ROD) + .block('g', () ->Blocks.AMETHYST_CLUSTER) + .tag('h', Tags.Blocks.GLASS_PANES) + .block('i', () -> Blocks.BEACON) + .block('j', () -> Blocks.LIGHTNING_ROD) + .block('k', () -> Blocks.ENCHANTING_TABLE) + .block('l', () -> Blocks.IRON_BARS); } private MappingBuilder ground() { return this.display('*', OccultismBlocks.OTHERSTONE).display('+', () -> Blocks.STONE); } - private MappingBuilder wither() { - return this.block('N', () -> Blocks.WITHER_SKELETON_SKULL); - } + } } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/BindingRitualsCategory.java b/src/main/java/com/klikli_dev/occultism/datagen/book/BindingRitualsCategory.java index b2a5daa02..941367636 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/book/BindingRitualsCategory.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/BindingRitualsCategory.java @@ -5,13 +5,14 @@ import com.klikli_dev.modonomicon.api.datagen.book.BookEntryModel; import com.klikli_dev.modonomicon.api.datagen.book.BookEntryParentModel; import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; -import com.klikli_dev.modonomicon.api.datagen.book.condition.BookTrueConditionModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.BookEntryReadConditionModel; import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; import com.klikli_dev.occultism.datagen.OccultismBookProvider; import com.klikli_dev.occultism.datagen.book.binding_rituals.ApprenticeRitualSatchelEntry; import com.klikli_dev.occultism.datagen.book.binding_rituals.ArtisanalRitualSatchelEntry; +import com.klikli_dev.occultism.datagen.book.pentacles.*; import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; import com.klikli_dev.occultism.registry.OccultismBlocks; import com.klikli_dev.occultism.registry.OccultismItems; @@ -29,15 +30,15 @@ public BindingRitualsCategory(OccultismBookProvider parent) { protected String[] generateEntryMap() { return new String[]{ "___________________________", - "_______b_e_x_p_q___________", + "_______b_e_x_p_q_r_________", "___________________________", - "_______d_h_c__w____________", + "_______d_h_c__w_v_s________", "___________________________", - "___9_0_____________________", + "___9_0______________y______", "___________________________", "_______f_z_a__g_ĝ_ğ________", "___________________________", - "___________n_m_o___________", + "_________o_n_m_____________", "___________________________", "___________i_j_k_l_________", "___________________________" @@ -46,12 +47,22 @@ protected String[] generateEntryMap() { @Override protected void generateEntries() { + String craftFoliotID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + CraftFoliotEntry.ENTRY_ID; + String craftDjinniID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + CraftDjinniEntry.ENTRY_ID; + String craftAfritID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + CraftAfritEntry.ENTRY_ID; + String craftMaridID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + CraftMaridEntry.ENTRY_ID; + String contactWildID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + ContactWildSpiritEntry.ENTRY_ID; + String contactEldritchID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + ContactEldritchSpiritEntry.ENTRY_ID; + var overview = this.add(this.makeCraftingRitualsOverviewEntry(this.entryMap, '0')); + overview.withCondition(BookEntryReadConditionModel.create().withEntry(craftFoliotID)); var returnToRituals = this.add(this.makeReturnToRitualsEntry(this.entryMap, '9')); - returnToRituals.withParent(BookEntryParentModel.create(overview.getId())); + returnToRituals.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftFoliotID)); var craftInfusedPickaxe = this.add(this.makeCraftInfusedPickaxeEntry(this.entryMap, 'd')); - craftInfusedPickaxe.withParent(BookEntryParentModel.create(overview.getId())); + craftInfusedPickaxe.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftDjinniID)); var craftDimensionalMineshaft = this.add(this.makeCraftDimensionalMineshaftEntry(this.entryMap, 'b')); craftDimensionalMineshaft.withParent(BookEntryParentModel.create(craftInfusedPickaxe.getId())); var craftFoliotMiner = this.add(this.makeCraftFoliotMinerEntry(this.entryMap, 'e')); @@ -59,12 +70,18 @@ protected void generateEntries() { var craftDjinniMiner = this.add(this.makeCraftDjinniMinerEntry(this.entryMap, 'x')); craftDjinniMiner.withParent(BookEntryParentModel.create(craftFoliotMiner.getId())); var craftAfritMiner = this.add(this.makeCraftAfritMinerEntry(this.entryMap, 'p')); - craftAfritMiner.withParent(BookEntryParentModel.create(craftDjinniMiner.getId())); + craftAfritMiner.withParent(BookEntryParentModel.create(craftDjinniMiner.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftAfritID)); var craftMaridMiner = this.add(this.makeCraftMaridMinerEntry(this.entryMap, 'q')); - craftMaridMiner.withParent(BookEntryParentModel.create(craftAfritMiner.getId())); + craftMaridMiner.withParent(BookEntryParentModel.create(craftAfritMiner.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftMaridID)); + var craftAncientMiner = this.add(this.makeCraftAncientMinerEntry(this.entryMap, 'r')); + craftAncientMiner.withParent(BookEntryParentModel.create(craftAfritMiner.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(contactEldritchID)); var craftStorageSystem = this.add(this.makeCraftStorageSystemEntry(this.entryMap, 'z')); - craftStorageSystem.withParent(BookEntryParentModel.create(overview.getId())); + craftStorageSystem.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftDjinniID)); var craftDimensionalMatrix = this.add(this.makeCraftDimensionalMatrixEntry(this.entryMap, 'a')); craftDimensionalMatrix.withParent(BookEntryParentModel.create(craftStorageSystem.getId())); @@ -75,37 +92,53 @@ protected void generateEntries() { var craftStabilizerTier2 = this.add(this.makeCraftStabilizerTier2Entry(this.entryMap, 'j')); craftStabilizerTier2.withParent(BookEntryParentModel.create(craftStabilizerTier1.getId())); var craftStabilizerTier3 = this.add(this.makeCraftStabilizerTier3Entry(this.entryMap, 'k')); - craftStabilizerTier3.withParent(BookEntryParentModel.create(craftStabilizerTier2.getId())); + craftStabilizerTier3.withParent(BookEntryParentModel.create(craftStabilizerTier2.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftAfritID)); var craftStabilizerTier4 = this.add(this.makeCraftStabilizerTier4Entry(this.entryMap, 'l')); - craftStabilizerTier4.withParent(BookEntryParentModel.create(craftStabilizerTier3.getId())); + craftStabilizerTier4.withParent(BookEntryParentModel.create(craftStabilizerTier3.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftMaridID)); var craftStableWormhole = this.add(this.makeCraftStableWormholeEntry(this.entryMap, 'm')); craftStableWormhole.withParent(BookEntryParentModel.create(craftStorageControllerBase.getId())); var craftStorageRemote = this.add(this.makeCraftStorageRemoteEntry(this.entryMap, 'o')); - craftStorageRemote.withParent(BookEntryParentModel.create(craftStableWormhole.getId())); + craftStorageRemote.withParent(BookEntryParentModel.create(craftStorageControllerBase.getId())); var craftOtherworldGoggles = this.add(this.makeCraftOtherworldGogglesEntry(this.entryMap, 'f')); - craftOtherworldGoggles.withParent(BookEntryParentModel.create(overview.getId())); + craftOtherworldGoggles.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftFoliotID)); var craftSatchel = this.add(this.makeCraftSatchelEntry(this.entryMap, 'g')); - craftSatchel.withParent(BookEntryParentModel.create(overview.getId())); + craftSatchel.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftFoliotID)); var apprenticeRitualSatchel = this.add(new ApprenticeRitualSatchelEntry(this).generate('ĝ')); - apprenticeRitualSatchel.withParent(craftSatchel); + apprenticeRitualSatchel.withParent(craftSatchel) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftDjinniID)); var artisanalRitualSatchel = this.add(new ArtisanalRitualSatchelEntry(this).generate('ğ')); - artisanalRitualSatchel.withParent(apprenticeRitualSatchel); + artisanalRitualSatchel.withParent(apprenticeRitualSatchel) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftAfritID)); var craftSoulGem = this.add(this.makeCraftSoulGemEntry(this.entryMap, 'h')); - craftSoulGem.withParent(BookEntryParentModel.create(overview.getId())); + craftSoulGem.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftDjinniID)); var craftFamiliarRing = this.add(this.makeCraftFamiliarRingEntry(this.entryMap, 'c')); craftFamiliarRing.withParent(BookEntryParentModel.create(craftSoulGem.getId())); var craftWildTrim = this.add(this.makeCraftWildTrimEntry(this.entryMap, 'w')); - craftWildTrim.withParent(BookEntryParentModel.create(overview.getId())); - - //Note: by default entries get an "entry read" condition for their parent entry, but we want to show all of these right away - this.category.getEntries().forEach(entry -> entry.withCondition(BookTrueConditionModel.create())); + craftWildTrim.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(contactWildID)); + var craftAmethyst = this.add(this.makeCraftAmethystEntry(this.entryMap, 'v')); + craftAmethyst.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(contactWildID)); + var craftDeepslate = this.add(this.makeCraftDeepslateEntry(this.entryMap, 's')); + craftDeepslate.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(contactEldritchID)) + .hideWhileLocked(true); + + var repairRituals = this.add(this.makeRepairEntry(this.entryMap, 'y')); + repairRituals.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftDjinniID)); } @Override @@ -483,6 +516,27 @@ private BookEntryModel makeCraftMaridMinerEntry(CategoryEntryMap entryMap, char ); } + private BookEntryModel makeCraftAncientMinerEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("craft_ancient_miner"); + + this.context().page("spotlight"); + var spotlight = BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.MINER_ANCIENT_ELDRITCH.get())) + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_miner_ancient_eldritch")); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(OccultismItems.MINER_ANCIENT_ELDRITCH.get()) + .withLocation(entryMap.get(icon)) + .withPages( + spotlight, + ritual + ); + } + private BookEntryModel makeCraftSatchelEntry(CategoryEntryMap entryMap, char icon) { this.context().entry("craft_satchel"); @@ -626,4 +680,83 @@ private BookEntryModel makeCraftWildTrimEntry(CategoryEntryMap entryMap, char ic ritual ); } + + private BookEntryModel makeCraftAmethystEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("craft_budding_amethyst"); + + this.context().page("spotlight"); + var spotlight = BookSpotlightPageModel.create() + .withItem(Ingredient.of(Items.BUDDING_AMETHYST)) + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_budding_amethyst")); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(Items.BUDDING_AMETHYST) + .withLocation(entryMap.get(icon)) + .withPages( + spotlight, + ritual + ); + } + + private BookEntryModel makeCraftDeepslateEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("craft_reinforced_deepslate"); + + this.context().page("spotlight"); + var spotlight = BookSpotlightPageModel.create() + .withItem(Ingredient.of(Items.REINFORCED_DEEPSLATE)) + .withText(this.context().pageText()); + + this.context().page("ritual"); + var ritual = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_reinforced_deepslate")); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(Items.REINFORCED_DEEPSLATE) + .withLocation(entryMap.get(icon)) + .withPages( + spotlight, + ritual + ); + } + + private BookEntryModel makeRepairEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("repair"); + + this.context().page("spotlight"); + var spotlight = BookSpotlightPageModel.create() + .withItem(Ingredient.of(Items.ANVIL)) + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()); + + this.context().page("ritual_chalks"); + var ritualChalks = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/repair_chalks")); + + this.context().page("ritual_chalks"); + var ritualMiners = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/repair_miners")); + + this.context().page("ritual_chalks"); + var ritualTools = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/repair_tools")); + + this.context().page("ritual_chalks"); + var ritualArmors = BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/repair_armors")); + + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) + .withIcon(OccultismItems.REPAIR_ICON) + .withLocation(entryMap.get(icon)) + .withPages( + spotlight, + ritualChalks, + ritualMiners, + ritualTools, + ritualArmors + ); + } } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/FamiliarRitualsCategory.java b/src/main/java/com/klikli_dev/occultism/datagen/book/FamiliarRitualsCategory.java index 3bf622f7b..b7c2e0694 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/book/FamiliarRitualsCategory.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/FamiliarRitualsCategory.java @@ -5,12 +5,14 @@ import com.klikli_dev.modonomicon.api.datagen.book.BookEntryModel; import com.klikli_dev.modonomicon.api.datagen.book.BookEntryParentModel; import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.BookEntryReadConditionModel; import com.klikli_dev.modonomicon.api.datagen.book.condition.BookTrueConditionModel; import com.klikli_dev.modonomicon.api.datagen.book.page.BookEntityPageModel; import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; import com.klikli_dev.occultism.datagen.OccultismBookProvider; import com.klikli_dev.occultism.datagen.book.familiar_rituals.DemonicPartnerEntry; import com.klikli_dev.occultism.datagen.book.familiar_rituals.ResurrectionEntry; +import com.klikli_dev.occultism.datagen.book.pentacles.*; import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; public class FamiliarRitualsCategory extends CategoryProvider { @@ -24,89 +26,93 @@ public FamiliarRitualsCategory(OccultismBookProvider parent) { @Override public String[] generateEntryMap() { return new String[]{ - "________R_T_V_X____________", + "________J_O__Y_____________", "___________________________", - "_____a_Q_S_U_W_Z___________", + "_____a_X_S_L_M_T___________", "___________________________", - "___r_o___________H_________", + "___r_o___________Z_________", "___________________________", - "_______I_K_M_O_Y___________", + "_____H_W_K_N_Q_P___________", "___________________________", - "________J_L_N_P____________" + "________R_U_V_I____________" }; } @Override protected void generateEntries() { + String possessFoliotID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessFoliotEntry.ENTRY_ID; + String possessDjinniID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessDjinniEntry.ENTRY_ID; + String summonDjinniID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + SummonDjinniEntry.ENTRY_ID; + String possessAfritID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + PossessAfritEntry.ENTRY_ID; + String resurrectionID = this.modId() + ":" + PentaclesCategory.CATEGORY_ID + "/" + ResurrectSpiritEntry.ENTRY_ID; + var overview = this.add(this.makeFamiliarsRitualsOverviewEntry(this.entryMap, 'o')); + overview.withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var returnToRituals = this.add(this.makeReturnToRitualsEntry(this.entryMap, 'r')); - returnToRituals.withParent(BookEntryParentModel.create(overview.getId())); - returnToRituals.withCondition(BookTrueConditionModel.create()); + returnToRituals.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var resurrection = new ResurrectionEntry(this).generate('a'); - resurrection.withParent(BookEntryParentModel.create(overview.getId())); + resurrection.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(resurrectionID)); + var resurrectAllay = this.add(this.makeResurrectAllayEntry(this.entryMap, 'H')); + resurrectAllay.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(resurrectionID)); var familiarBat = this.add(this.makeFamiliarBatEntry(this.entryMap, 'I')); - familiarBat.withParent(BookEntryParentModel.create(overview.getId())); + familiarBat.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarBeaver = this.add(this.makeFamiliarBeaverEntry(this.entryMap, 'J')); - familiarBeaver.withParent(BookEntryParentModel.create(overview.getId())); + familiarBeaver.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var familiarBeholder = this.add(this.makeFamiliarBeholderEntry(this.entryMap, 'K')); - familiarBeholder.withParent(BookEntryParentModel.create(overview.getId())); + familiarBeholder.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarBlacksmith = this.add(this.makeFamiliarBlacksmithEntry(this.entryMap, 'L')); - familiarBlacksmith.withParent(BookEntryParentModel.create(overview.getId())); + familiarBlacksmith.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var familiarChimera = this.add(this.makeFamiliarChimeraEntry(this.entryMap, 'M')); - familiarChimera.withParent(BookEntryParentModel.create(overview.getId())); + familiarChimera.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarCthulhu = this.add(this.makeFamiliarCthulhuEntry(this.entryMap, 'N')); - familiarCthulhu.withParent(BookEntryParentModel.create(overview.getId())); + familiarCthulhu.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarDeer = this.add(this.makeFamiliarDeerEntry(this.entryMap, 'O')); - familiarDeer.withParent(BookEntryParentModel.create(overview.getId())); + familiarDeer.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var familiarDevil = this.add(this.makeFamiliarDevilEntry(this.entryMap, 'P')); - familiarDevil.withParent(BookEntryParentModel.create(overview.getId())); + familiarDevil.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarDragon = this.add(this.makeFamiliarDragonEntry(this.entryMap, 'Q')); - familiarDragon.withParent(BookEntryParentModel.create(overview.getId())); + familiarDragon.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarFairy = this.add(this.makeFamiliarFairyEntry(this.entryMap, 'R')); - familiarFairy.withParent(BookEntryParentModel.create(overview.getId())); + familiarFairy.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarGreedy = this.add(this.makeFamiliarGreedyEntry(this.entryMap, 'S')); - familiarGreedy.withParent(BookEntryParentModel.create(overview.getId())); + familiarGreedy.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var familiarGuardian = this.add(this.makeFamiliarGuardianEntry(this.entryMap, 'T')); - familiarGuardian.withParent(BookEntryParentModel.create(overview.getId())); + familiarGuardian.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessAfritID)); var familiarHeadlessRatman = this.add(this.makeFamiliarHeadlessRatmanEntry(this.entryMap, 'U')); - familiarHeadlessRatman.withParent(BookEntryParentModel.create(overview.getId())); + familiarHeadlessRatman.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarMummy = this.add(this.makeFamiliarMummyEntry(this.entryMap, 'V')); - familiarMummy.withParent(BookEntryParentModel.create(overview.getId())); + familiarMummy.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarOtherworldBird = this.add(this.makeFamiliarOtherworldBirdEntry(this.entryMap, 'W')); - familiarOtherworldBird.withParent(BookEntryParentModel.create(overview.getId())); + familiarOtherworldBird.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinniID)); var familiarParrot = this.add(this.makeFamiliarParrotEntry(this.entryMap, 'X')); - familiarParrot.withParent(BookEntryParentModel.create(overview.getId())); + familiarParrot.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliotID)); var familiarShubNiggurath = this.add(this.makeFamiliarShubNiggurathEntry(this.entryMap, 'Y')); - familiarShubNiggurath.withParent(BookEntryParentModel.create(overview.getId())); - var summonAllay = this.add(this.makeSummonAllayEntry(this.entryMap, 'H')); - summonAllay.withParent(BookEntryParentModel.create(overview.getId())); - - //add true condition to all entries to enable them by default - overview.withCondition(BookTrueConditionModel.create()); - familiarBat.withCondition(BookTrueConditionModel.create()); - familiarBeaver.withCondition(BookTrueConditionModel.create()); - familiarBeholder.withCondition(BookTrueConditionModel.create()); - familiarBlacksmith.withCondition(BookTrueConditionModel.create()); - familiarChimera.withCondition(BookTrueConditionModel.create()); - familiarCthulhu.withCondition(BookTrueConditionModel.create()); - familiarDeer.withCondition(BookTrueConditionModel.create()); - familiarDevil.withCondition(BookTrueConditionModel.create()); - familiarDragon.withCondition(BookTrueConditionModel.create()); - familiarFairy.withCondition(BookTrueConditionModel.create()); - familiarGreedy.withCondition(BookTrueConditionModel.create()); - familiarGuardian.withCondition(BookTrueConditionModel.create()); - familiarHeadlessRatman.withCondition(BookTrueConditionModel.create()); - familiarMummy.withCondition(BookTrueConditionModel.create()); - familiarOtherworldBird.withCondition(BookTrueConditionModel.create()); - familiarParrot.withCondition(BookTrueConditionModel.create()); - familiarShubNiggurath.withCondition(BookTrueConditionModel.create()); - summonAllay.withCondition(BookTrueConditionModel.create()); + familiarShubNiggurath.withParent(BookEntryParentModel.create(familiarChimera.getId())); var demonicPartner = new DemonicPartnerEntry(this).generate('Z'); - demonicPartner.withParent(BookEntryParentModel.create(overview.getId())); - demonicPartner.withCondition(BookTrueConditionModel.create()); + demonicPartner.withParent(BookEntryParentModel.create(overview.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonDjinniID)); } @Override @@ -116,7 +122,7 @@ protected String categoryName() { @Override protected BookIconModel categoryIcon() { - return BookIconModel.create(this.modLoc("textures/gui/book/parrot.png")); + return BookIconModel.create(this.modLoc("textures/gui/book/familiar.png")); } @Override @@ -143,7 +149,7 @@ private BookEntryModel makeFamiliarsRitualsOverviewEntry(CategoryEntryMap entryM .withText(this.context().pageText()); return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) - .withIcon(this.modLoc("textures/gui/book/parrot.png")) + .withIcon(this.modLoc("textures/gui/book/familiar.png")) .withLocation(entryMap.get(icon)) .withEntryBackground(0, 1) .withPages( @@ -656,8 +662,8 @@ private BookEntryModel makeFamiliarShubNiggurathEntry(CategoryEntryMap entryMap, ); } - private BookEntryModel makeSummonAllayEntry(CategoryEntryMap entryMap, char icon) { - this.context().entry("summon_allay"); + private BookEntryModel makeResurrectAllayEntry(CategoryEntryMap entryMap, char icon) { + this.context().entry("resurrect_allay"); this.context().page("entity"); var entity = BookEntityPageModel.create() @@ -666,7 +672,7 @@ private BookEntryModel makeSummonAllayEntry(CategoryEntryMap entryMap, char icon this.context().page("ritual"); var ritual = BookRitualRecipePageModel.create() - .withRecipeId1(this.modLoc("ritual/summon_allay")); + .withRecipeId1(this.modLoc("ritual/resurrect_allay")); this.context().page("description"); var description = BookTextPageModel.create() diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/GettingStartedCategory.java b/src/main/java/com/klikli_dev/occultism/datagen/book/GettingStartedCategory.java index 0c8c9f3cc..bd0df8a81 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/book/GettingStartedCategory.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/GettingStartedCategory.java @@ -6,6 +6,7 @@ import com.klikli_dev.modonomicon.api.datagen.book.BookEntryModel; import com.klikli_dev.modonomicon.api.datagen.book.BookEntryParentModel; import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.BookAdvancementConditionModel; import com.klikli_dev.modonomicon.api.datagen.book.condition.BookAndConditionModel; import com.klikli_dev.modonomicon.api.datagen.book.condition.BookEntryReadConditionModel; import com.klikli_dev.modonomicon.api.datagen.book.condition.BookModLoadedConditionModel; @@ -119,7 +120,8 @@ protected void generateEntries() { advancedChalksEntry.withParent(BookEntryParentModel.create(ritualEntry.getId())); var ritualSatchelsEntry = this.add(new RitualSatchelsEntry(this).generate('ĝ')); - ritualSatchelsEntry.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())); + ritualSatchelsEntry.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); var moreRitualsEntry = this.add(this.makeMoreRitualsEntry(this.entryMap, 'm')); moreRitualsEntry.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())); @@ -131,7 +133,8 @@ protected void generateEntries() { spiritsSubcategory.withParent(BookEntryParentModel.create(greyParticlesEntry.getId())); var otherworldGoggles = this.add(this.makeOtherworldGogglesEntry(this.entryMap, 'g')); - otherworldGoggles.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())); + otherworldGoggles.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); var infusedPickaxe = this.add(this.makeInfusedPickaxeEntry(this.entryMap, 'I')); infusedPickaxe.withParent(BookEntryParentModel.create(otherworldGoggles.getId())); @@ -152,19 +155,24 @@ protected void generateEntries() { mineshaftEntry.withParent(BookEntryParentModel.create(spiritMinersEntry.getId())); var storageEntry = this.add(this.makeStorageEntry(this.entryMap, 's')); - storageEntry.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())); + storageEntry.withParent(BookEntryParentModel.create(advancedChalksEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); var possessionRitualsEntry = this.add(this.makePossessionRitualsEntry(this.entryMap, 'w')); - possessionRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())); + possessionRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); var familiarRitualsEntry = this.add(this.makeFamiliarRitualsEntry(this.entryMap, 'x')); - familiarRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())); + familiarRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); var summoningRitualsEntry = this.add(this.makeSummoningRitualsEntry(this.entryMap, 'y')); - summoningRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())); + summoningRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/white")); var craftingRitualsEntry = this.add(this.makeCraftingRitualsEntry(this.entryMap, 'z')); - craftingRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())); + craftingRitualsEntry.withParent(BookEntryParentModel.create(moreRitualsEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); } @Override @@ -1326,13 +1334,35 @@ Now it is time to place the ingredients you see on the next page in the (regular - **0** if no ritual is active - **1** if the ritual is active, but waiting for a sacrifice - **2** if the ritual is active, but waiting for an item to be used - - **4** if the ritual is active and running + - **8** if the ritual is active and running """.formatted(COLOR_PURPLE)); + this.context().page("clone_redstone"); + var cloneRedstoneText = BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()); + this.lang().add(this.context().pageTitle(), "All sides blocked?"); + this.lang().add(this.context().pageText(), + """ + You can place another [](item://occultism:golden_sacrificial_bowl) in the third block below the + original [](item://occultism:golden_sacrificial_bowl). Every time this new bowl receives an + block update, it clones the actual signal strength of the original bowl. + """.formatted(COLOR_PURPLE)); + + this.context().page("clone_placement"); + var clonePlacementImage = BookImagePageModel.create() + .withImages(this.modLoc("textures/gui/book/redstone_clone.png")) + .withBorder(true) + .withText(this.context().pageText()); + this.lang().add(this.context().pageText(), + """ + One suggestion is to use any block that interacts with redstone and an observer. + """.formatted(COLOR_PURPLE)); + return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) .withDescription(this.context().entryDescription()) - .withIcon(OccultismItems.PENTACLE.get()) + .withIcon(OccultismItems.PENTACLE_SUMMON.get()) .withLocation(entryMap.get(icon)) .withPages( intro, @@ -1344,7 +1374,9 @@ Now it is time to place the ingredients you see on the next page in the (regular pentacleLinkHint, startRitualText, automationText, - redstoneText + redstoneText, + cloneRedstoneText, + clonePlacementImage ); } @@ -1443,136 +1475,24 @@ private BookEntryModel makeChalksEntry(CategoryEntryMap entryMap, char icon) { For more advanced rituals the basic [White Chalk](entry://occultism:dictionary_of_spirits/getting_started/ritual_prep_chalk) is not sufficient. Instead chalks made from more arcane materials are required. """); - this.context().page("impure_gold_chalk_recipe"); - var impureGoldChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_gold_impure")); - //no text - - this.context().page("gold_chalk_recipe"); - var goldChalkRecipe = BookSpiritFireRecipePageModel.create() - .withRecipeId1(this.modLoc("spirit_fire/chalk_gold")); - //no text - - this.context().page("impure_purple_chalk_recipe"); - var impurePurpleChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_purple_impure")) - .withText(this.context().pageText()); - this.lang().add(this.context().pageText(), - """ - You do not need to visit the [#](%1$s)The End[#]() to obtain Endstone. You can summon a [Possessed Endermite](entry://possession_rituals/possess_endermite) which has a high chance to drop it. - """.formatted(COLOR_PURPLE)); - - this.context().page("purple_chalk_recipe"); - var purpleChalkRecipe = BookSpiritFireRecipePageModel.create() - .withRecipeId1(this.modLoc("spirit_fire/chalk_purple")); - //no text - - this.context().page("impure_red_chalk_recipe"); - var impureRedChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_red_impure")); - //no text - - this.context().page("red_chalk_recipe"); - var redChalkRecipe = BookSpiritFireRecipePageModel.create() - .withRecipeId1(this.modLoc("spirit_fire/chalk_red")); - //no text - - this.context().page("afrit_essence"); - var afritEssenceSpotlight = BookSpotlightPageModel.create() - .withItem(Ingredient.of(OccultismItems.AFRIT_ESSENCE.get())) - .withText(this.context().pageText()); - this.lang().add(this.context().pageText(), - """ - To obtain the essence of an [#](%1$s)Afrit[#]() for [](item://occultism:chalk_red) you need to [summon and kill an Unbound Afrit](entry://summoning_rituals/afrit_essence). - """.formatted(COLOR_PURPLE)); - - this.context().page("decoColors"); - var decoColors = BookTextPageModel.create() + this.context().page("more"); + var more = BookTextPageModel.create() .withTitle(this.context().pageTitle()) .withText(this.context().pageText()); - this.lang().add(this.context().pageTitle(), "Decorative Chalks"); + this.lang().add(this.context().pageTitle(), "Pentacle Category"); this.lang().add(this.context().pageText(), """ - Other colored chalks (for now) only have decorative purposes, you can check the recipes in next pages. All needs to be purified in spirit fire. - """); + Follow the progression in [Pentacle page](category://pentacles) to get the 16 chalks and do all pentacles, + """); - this.context().page("impure_light_gray_chalk_recipe"); - var impureLightGrayChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_light_gray_impure")); - //no text - - this.context().page("impure_gray_chalk_recipe"); - var impureGrayChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_gray_impure")); - //no text - - this.context().page("impure_Black_chalk_recipe"); - var impureBlackChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_black_impure")); - //no text - - this.context().page("impure_brown_chalk_recipe"); - var impureBrownChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_brown_impure")); - //no text - this.context().page("impure_orange_chalk_recipe"); - var impureOrangeChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_orange_impure")); - //no text - this.context().page("impure_lime_chalk_recipe"); - var impureLimeChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_lime_impure")); - //no text - this.context().page("impure_green_chalk_recipe"); - var impureGreenChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_green_impure")); - //no text - this.context().page("impure_cyan_chalk_recipe"); - var impureCyanChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_cyan_impure")); - //no text - this.context().page("impure_blue_chalk_recipe"); - var impureBlueChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_blue_impure")); - //no text - this.context().page("impure_light_blue_chalk_recipe"); - var impureLightBlueChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_light_blue_impure")); - //no text - this.context().page("impure_pink_chalk_recipe"); - var impurePinkChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_pink_impure")); - //no text - this.context().page("impure_magenta_chalk_recipe"); - var impureMagentaChalkRecipe = BookCraftingRecipePageModel.create() - .withRecipeId1(this.modLoc("crafting/chalk_magenta_impure")); //no text return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) .withDescription(this.context().entryDescription()) - .withIcon(OccultismItems.CHALK_GOLD.get()) + .withIcon(OccultismItems.CHALK_YELLOW.get()) .withLocation(entryMap.get(icon)) .withPages( intro, - impureGoldChalkRecipe, - goldChalkRecipe, - impurePurpleChalkRecipe, - purpleChalkRecipe, - impureRedChalkRecipe, - redChalkRecipe, - afritEssenceSpotlight, - decoColors, - impureLightGrayChalkRecipe, - impureGrayChalkRecipe, - impureBlackChalkRecipe, - impureBrownChalkRecipe, - impureOrangeChalkRecipe, - impureLimeChalkRecipe, - impureGreenChalkRecipe, - impureCyanChalkRecipe, - impureBlueChalkRecipe, - impureLightBlueChalkRecipe, - impurePinkChalkRecipe, - impureMagentaChalkRecipe + more ); } @@ -1957,7 +1877,7 @@ private BookEntryModel makeFamiliarRitualsEntry(CategoryEntryMap entryMap, char return BookEntryModel.create(this.modLoc(this.context().categoryId() + "/" + this.context().entryId()), this.context().entryName()) .withDescription(this.context().entryDescription()) - .withIcon(this.modLoc("textures/gui/book/parrot.png")) + .withIcon(this.modLoc("textures/gui/book/familiar.png")) .withLocation(entryMap.get(icon)) .withEntryBackground(1, 1) //silver background and wavey entry shape .withPages( diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/PentaclesCategory.java b/src/main/java/com/klikli_dev/occultism/datagen/book/PentaclesCategory.java new file mode 100644 index 000000000..dd40705ac --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/PentaclesCategory.java @@ -0,0 +1,225 @@ +package com.klikli_dev.occultism.datagen.book; + +import com.klikli_dev.modonomicon.api.datagen.book.BookEntryParentModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.BookAdvancementConditionModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.BookAndConditionModel; +import com.klikli_dev.modonomicon.api.datagen.book.condition.BookEntryReadConditionModel; +import com.klikli_dev.occultism.datagen.OccultismBookProvider; +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.occultism.datagen.book.pentacles.*; + +public class PentaclesCategory extends CategoryProvider { + public static final String CATEGORY_ID = "pentacles"; + public PentaclesCategory(OccultismBookProvider parent) { + super(parent); + } + @Override + protected String categoryName() { + return "Pentacles"; + } + @Override + protected BookIconModel categoryIcon() { + return BookIconModel.create(this.modLoc("textures/gui/book/pentacle.png")); + } + @Override + public String categoryId() { + return CATEGORY_ID; + } + + @Override + public String[] generateEntryMap() { + return new String[]{ + "_______W__S__G_____K_____", + "_________________________", + "____t__a__b__c__d__u__e__", + "_r_______________________", + "____Y__f__g__h__i_____j__", + "_s_______________________", + "____X__l__m_____n_____o__", + "_________________________", + "__________L__O__R_____U__", + "_________________________", + "____________EAP______MBC_", + "_________________________", + "_______k_____p________q__" + }; + } + + @Override + protected void generateEntries(){ + //Introduction + var overviewEntry = this.add(new PentaclesOverviewEntry(this).generate( 'r')); + + var paraphernaliaEntry = this.add(new ParaphernaliaEntry(this).generate('s')); + paraphernaliaEntry.withParent(BookEntryParentModel.create(overviewEntry.getId()).withLineReversed(true)); + + var didacticsEntry = this.add(new DidacticsEntry(this).generate('t')); + didacticsEntry.withParent(BookEntryParentModel.create(overviewEntry.getId()).withLineReversed(true)); + + //Tier Foliot + var whiteChalkEntry = this.add(new WhiteChalkEntry(this).generate('W')); + whiteChalkEntry.withParent(BookEntryParentModel.create(didacticsEntry.getId()).withLineReversed(true)) + .withCondition(BookEntryReadConditionModel.create().withEntry(didacticsEntry.getId())); + + var summonFoliot = this.add(new SummonFoliotEntry(this).generate('a')); + summonFoliot.withParent(BookEntryParentModel.create(didacticsEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/white")); + + var lightGrayChalkEntry = this.add(new LightGrayChalkEntry(this).generate('S')); + lightGrayChalkEntry.withParent(BookEntryParentModel.create(whiteChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliot.getId())); + + var yellowChalkEntry = this.add(new YellowChalkEntry(this).generate('Y')); + yellowChalkEntry + .withParents( + BookEntryParentModel.create(didacticsEntry.getId()), + BookEntryParentModel.create(whiteChalkEntry.getId()).withLineEnabled(false)) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonFoliot.getId())); + + var possessFoliot = this.add(new PossessFoliotEntry(this).generate('f')); + possessFoliot.withParent(BookEntryParentModel.create(yellowChalkEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/yellow")); + + var purpleChalkEntry = this.add(new PurpleChalkEntry(this).generate('X')); + purpleChalkEntry.withParent(BookEntryParentModel.create(yellowChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliot.getId())); + + var craftFoliot = this.add(new CraftFoliotEntry(this).generate('l')); + craftFoliot.withParent(BookEntryParentModel.create(purpleChalkEntry.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/purple")); + + var limeChalkEntry = this.add(new LimeChalkEntry(this).generate('L')); + limeChalkEntry.withParent(BookEntryParentModel.create(purpleChalkEntry.getId()).withLineReversed(true)) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftFoliot.getId())); + + var greenChalkEntry = this.add(new GreenChalkEntry(this).generate('E')); + greenChalkEntry.withParent(BookEntryParentModel.create(craftFoliot.getId()).withLineEnabled(false)); + + var resurrectSpirit = this.add(new ResurrectSpiritEntry(this).generate('k')); + resurrectSpirit + .withParent(BookEntryParentModel.create(possessFoliot.getId()).withLineEnabled(false)) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessFoliot.getId())); + + //Tier Djinni + var summonDjinni = this.add(new SummonDjinniEntry(this).generate('b')); + summonDjinni.withParent(BookEntryParentModel.create(summonFoliot.getId())) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/light_gray"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/lime"))); + + var lightBlueChalkEntry = this.add(new LightBlueChalkEntry(this).generate('A')); + lightBlueChalkEntry.withParent(BookEntryParentModel.create(summonDjinni.getId()).withLineEnabled(false)) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonDjinni.getId())); + + var possessDjinni = this.add(new PossessDjinniEntry(this).generate('g')); + possessDjinni.withParent(BookEntryParentModel.create(possessFoliot.getId())) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/light_gray"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/lime"))); + + var orangeChalkEntry = this.add(new OrangeChalkEntry(this).generate('O')); + orangeChalkEntry.withParent(BookEntryParentModel.create(limeChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(possessDjinni.getId())); + + var craftDjinni = this.add(new CraftDjinniEntry(this).generate('m')); + craftDjinni.withParent(BookEntryParentModel.create(craftFoliot.getId())) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/light_gray"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/lime"))); + + var grayChalkEntry = this.add(new GrayChalkEntry(this).generate('G')); + grayChalkEntry.withParent(BookEntryParentModel.create(lightGrayChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftDjinni.getId())); + + //Tier Unbound Afrit + var summonUnboundAfrit = this.add(new SummonUnboundAfritEntry(this).generate('c')); + summonUnboundAfrit.withParent(BookEntryParentModel.create(summonDjinni.getId())) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/gray"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/orange"))); + + var redChalkEntry = this.add(new RedChalkEntry(this).generate('R')); + redChalkEntry.withParent(BookEntryParentModel.create(orangeChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonUnboundAfrit.getId())); + + var possessUnboundAfrit = this.add(new PossessUnboundAfritEntry(this).generate('h')); + possessUnboundAfrit.withParent(BookEntryParentModel.create(possessDjinni.getId())) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/gray"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/orange"))); + + var pinkChalkEntry = this.add(new PinkChalkEntry(this).generate('P')); + pinkChalkEntry.withParent(BookEntryParentModel.create(possessUnboundAfrit.getId()).withLineEnabled(false)); + + var contactWildSpirit = this.add(new ContactWildSpiritEntry(this).generate('p')); + contactWildSpirit + .withParents( + BookEntryParentModel.create(pinkChalkEntry.getId()).withLineReversed(true), + BookEntryParentModel.create(greenChalkEntry.getId()).withLineReversed(true), + BookEntryParentModel.create(lightBlueChalkEntry.getId())) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/pink"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/green"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/light_blue"))); + + //Tier Afrit + var summonAfrit = this.add(new SummonAfritEntry(this).generate('d')); + summonAfrit.withParent(BookEntryParentModel.create(summonUnboundAfrit.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/red")); + + var possessAfrit = this.add(new PossessAfritEntry(this).generate('i')); + possessAfrit.withParent(BookEntryParentModel.create(possessUnboundAfrit.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/red")); + + var craftAfrit = this.add(new CraftAfritEntry(this).generate('n')); + craftAfrit.withParent(BookEntryParentModel.create(craftDjinni.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/red")); + + var blackChalkEntry = this.add(new BlackChalkEntry(this).generate('K')); + blackChalkEntry.withParent(BookEntryParentModel.create(grayChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(craftAfrit.getId())); + + //Tier Marid + var summonUnboundMarid = this.add(new SummonUnboundMaridEntry(this).generate('u')); + summonUnboundMarid.withParent(BookEntryParentModel.create(summonAfrit.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/black")); + + var blueChalkEntry = this.add(new BlueChalkEntry(this).generate('U')); + blueChalkEntry.withParent(BookEntryParentModel.create(redChalkEntry.getId())) + .withCondition(BookEntryReadConditionModel.create().withEntry(summonUnboundMarid.getId())); + + var summonMarid = this.add(new SummonMaridEntry(this).generate('e')); + summonMarid.withParent(BookEntryParentModel.create(summonUnboundMarid.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/blue")); + + var cyanChalkEntry = this.add(new CyanChalkEntry(this).generate('C')); + cyanChalkEntry.withParent(BookEntryParentModel.create(summonMarid.getId()).withLineEnabled(false)); + + var possessMarid = this.add(new PossessMaridEntry(this).generate('j')); + possessMarid.withParent(BookEntryParentModel.create(possessAfrit.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/blue")); + + var brownChalkEntry = this.add(new BrownChalkEntry(this).generate('B')); + brownChalkEntry.withParent(BookEntryParentModel.create(possessMarid.getId()).withLineEnabled(false)); + + var craftMarid = this.add(new CraftMaridEntry(this).generate('o')); + craftMarid.withParent(BookEntryParentModel.create(craftAfrit.getId())) + .withCondition(BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/blue")); + + var magentaChalkEntry = this.add(new MagentaChalkEntry(this).generate('M')); + magentaChalkEntry.withParent(BookEntryParentModel.create(craftMarid.getId()).withLineEnabled(false)); + + var contactEldritch = this.add(new ContactEldritchSpiritEntry(this).generate('q')); + contactEldritch + .withParents( + BookEntryParentModel.create(magentaChalkEntry.getId()).withLineReversed(true), + BookEntryParentModel.create(brownChalkEntry.getId()), + BookEntryParentModel.create(cyanChalkEntry.getId()).withLineReversed(true)) + .withCondition(BookAndConditionModel.create().withChildren( + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/magenta"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/brown"), + BookAdvancementConditionModel.create().withAdvancementId("occultism:chalks/cyan"))) + .hideWhileLocked(true); + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BlackChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BlackChalkEntry.java new file mode 100644 index 000000000..11f2aaf5b --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BlackChalkEntry.java @@ -0,0 +1,86 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class BlackChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "black_chalk"; + + + public BlackChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Powerful"); + this.pageText(""" + The black chalk has a composition as rigid as it is supernatural. Mixing the essence of + Wither with netherite turns this chalk into an extremely valuable tool. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_BLACK.get())) + .withText(this.context().pageText())); + this.pageText(""" + Perfect for the foundation of any pentacle, the power of the black chalk is sufficient + to replace any other "colorless" chalk. + """ + ); + + this.page("ritual", () -> BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_witherite_dust")) + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_black_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_black")) + ); + + } + + @Override + protected String entryName() { + return "Perfect Foundation Chalk"; + } + + @Override + protected String entryDescription() { + return "Black Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_BLACK.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BlueChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BlueChalkEntry.java new file mode 100644 index 000000000..490adeb58 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BlueChalkEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class BlueChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "blue_chalk"; + + + public BlueChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Marid Lure"); + this.pageText(""" + Just as the red chalk is made from the essence of Afrit, the blue chalk is made + from the essence of Marid, allowing for control over these powerful spirits. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_BLUE.get())) + .withText(this.context().pageText())); + this.pageText(""" + The purpose of the blue chalk is to overcome the willpower of a Marid; its sometimes + excessive use serves as a guarantee that any Marid will be controlled. + Should the control fail, it would generate extreme fury in the invoked Marid. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_blue_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_blue")) + ); + + } + + @Override + protected String entryName() { + return "The Chalk of The Seven Seas"; + } + + @Override + protected String entryDescription() { + return "Blue Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_BLUE.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BrownChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BrownChalkEntry.java new file mode 100644 index 000000000..28317ed70 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/BrownChalkEntry.java @@ -0,0 +1,81 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class BrownChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "brown_chalk"; + + + public BrownChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Very Evil"); + this.pageText(""" + The brown chalk is made with the essence of cruelty, and obtaining it certainly lives up + to its name. Do the ends justify the means? Does morality truly exist? What is your morality? + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_BROWN.get())) + .withText(this.context().pageText())); + this.pageText(""" + This chalk is known to be part of an "Alignment Test." Anyone who possesses it is + automatically classified as "Evil." What kind of spirits will these glyphs attract? + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_brown_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_brown")) + ); + + } + + @Override + protected String entryName() { + return "The Cruelty Chalk"; + } + + @Override + protected String entryDescription() { + return "Brown Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_BROWN.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ContactEldritchSpiritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ContactEldritchSpiritEntry.java new file mode 100644 index 000000000..4b3da0617 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ContactEldritchSpiritEntry.java @@ -0,0 +1,75 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class ContactEldritchSpiritEntry extends EntryProvider { + + public static final String ENTRY_ID = "contact_eldritch_spirit"; + + public ContactEldritchSpiritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Ronazas Contact"); + this.pageText(""" + **Purpose:** Contact {0}\\ + \\ + This is a very strange pentacle that you dont understand for now. + """, + this.color("Eldritch", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Eldritch Ancient Miner](entry://crafting_rituals/craft_ancient_miner) + """ + ); + + } + + @Override + protected String entryName() { + return "Ronaza's Contact"; + } + + @Override + protected String entryDescription() { + return "Contact Eldritch"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_MISC.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ContactWildSpiritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ContactWildSpiritEntry.java new file mode 100644 index 000000000..d8f37aa47 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ContactWildSpiritEntry.java @@ -0,0 +1,88 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class ContactWildSpiritEntry extends EntryProvider { + + public static final String ENTRY_ID = "contact_wild_spirit"; + + + public ContactWildSpiritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Osorins Unbound Calling"); + this.pageText(""" + **Purpose:** Contact {0}\\ + \\ + **Osorins Unbound Calling** has a unique form, mixing different aspects obtained in each chalk + and none of the common stabilizing paraphernalia. Therefore, the pentacle offers no protection + to the occultist, but acts as an irresistible contact with the {1}. + """, + this.color("Wild Spirits", ChatFormatting.DARK_PURPLE), + this.color("Wild Spirits", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Wither Skeleton Skull](entry://possession_rituals/wither_skull) + - [Horde Husk](entry://possession_rituals/horde_husk) + - [Horde Drowned](entry://possession_rituals/horde_drowned) + - [Horde Creeper](entry://possession_rituals/horde_creeper) + - [Horde Silverfish](entry://possession_rituals/horde_silverfish) + - [Trial Key](entry://possession_rituals/possess_weak_breeze) + - [Ominous Trial Key](entry://possession_rituals/possess_breeze) + - [Heavy Core](entry://possession_rituals/possess_strong_breeze) + - [Small Illager Invasion](entry://possession_rituals/horde_illager) + - [Wild Armor Trim Smithing Template](entry://crafting_rituals/craft_wild_trim) + """ + ); + + } + + @Override + protected String entryName() { + return "Osorin's Unbound Calling"; + } + + @Override + protected String entryDescription() { + return "Contact Wild Spirits"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_MISC.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftAfritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftAfritEntry.java new file mode 100644 index 000000000..e8418d12c --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftAfritEntry.java @@ -0,0 +1,81 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class CraftAfritEntry extends EntryProvider { + + public static final String ENTRY_ID = "craft_afrit"; + + + public CraftAfritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Seviras Permanent Confinement"); + this.pageText(""" + **Purpose:** Bind {0}\\ + \\ + First discovered by Grandmistress Sevira of Emberwoods, **Seviras Permanent Confinement** is used for + binding {1} into objects. Due to the power of the spirits involved, this should be performed only by advanced summoners. + + """, + this.color("Afrit", ChatFormatting.DARK_PURPLE), + this.color("Afrit", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Storage Stabilizer Tier 3](entry://crafting_rituals/craft_stabilizer_tier3) + - [Afrit Deep Ore Miner](entry://crafting_rituals/craft_afrit_miner) + - [Artisanal Ritual Satchel](entry://crafting_rituals/artisanal_ritual_satchel) + """ + ); + + } + + @Override + protected String entryName() { + return "Sevira's Permanent Confinement"; + } + + @Override + protected String entryDescription() { + return "Afrit Infusing"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_CRAFT.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftDjinniEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftDjinniEntry.java new file mode 100644 index 000000000..0d6a55a83 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftDjinniEntry.java @@ -0,0 +1,87 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class CraftDjinniEntry extends EntryProvider { + + public static final String ENTRY_ID = "craft_djinni"; + + + public CraftDjinniEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Strigeors Higher Binding"); + this.pageText(""" + **Purpose:** Bind {0}\\ + \\ + **Strigeors Higher Binding** is a pentacle for binding {1} into objects, should not be attempted by the + novice summoner. Supported by skeleton skulls and stabilized by candles it is highly suitable for + permanent infusions of objects with spirits. + """, + this.color("Djinni", ChatFormatting.DARK_PURPLE), + this.color("Djinni", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Infused Pickaxe](entry://crafting_rituals/craft_infused_pickaxe) + - [Soul Gem](entry://crafting_rituals/craft_soul_gem) + - [Familiar Ring](entry://crafting_rituals/craft_familiar_ring) + - [Dimensional Matrix](entry://crafting_rituals/craft_dimensional_matrix) + - [Storage Accessor](entry://crafting_rituals/craft_storage_remote) + - [Storage Stabilizer Tier 2](entry://crafting_rituals/craft_stabilizer_tier2) + - [Dimensional Mineshaft](entry://crafting_rituals/craft_dimensional_mineshaft) + - [Djinni Ore Miner](entry://crafting_rituals/craft_djinni_miner) + - [Apprentice Ritual Satchel](entry://crafting_rituals/apprentice_ritual_satchel) + """ + ); + + } + + @Override + protected String entryName() { + return "Strigeor's Higher Binding"; + } + + @Override + protected String entryDescription() { + return "Djinni Infusing"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_CRAFT.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftFoliotEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftFoliotEntry.java new file mode 100644 index 000000000..1c24d4636 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftFoliotEntry.java @@ -0,0 +1,84 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class CraftFoliotEntry extends EntryProvider { + + public static final String ENTRY_ID = "craft_foliot"; + + + public CraftFoliotEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Eziveus Spectral Compulsion"); + this.pageText(""" + **Purpose:** Bind {0}\\ + \\ + As a simple binding pentacle, **Eziveus Spectral Compulsion** is a common starting point for object + infusion with lower spirits. The enchantment is made permanent by stabilizing candles. + """, + this.color("Foliot", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Infused Lenses](entry://crafting_rituals/craft_otherworld_goggles) + - [Surprisingsly Substantial Satchel](entry://crafting_rituals/craft_satchel) + - [Storage Actuator Base](entry://crafting_rituals/craft_storage_controller_base) + - [Stable Wormhole](entry://crafting_rituals/craft_stable_wormhole) + - [Storage Stabilizer Tier 1](entry://crafting_rituals/craft_stabilizer_tier1) + - [Foliot Miner](entry://crafting_rituals/craft_foliot_miner) + """ + ); + + } + + @Override + protected String entryName() { + return "Eziveus' Spectral Compulsion"; + } + + @Override + protected String entryDescription() { + return "Foliot Infusing"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_CRAFT.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftMaridEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftMaridEntry.java new file mode 100644 index 000000000..f78d4e4d3 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CraftMaridEntry.java @@ -0,0 +1,80 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class CraftMaridEntry extends EntryProvider { + + public static final String ENTRY_ID = "craft_marid"; + + + public CraftMaridEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uphyxes Inverted Tower"); + this.pageText(""" + **Purpose:** Bind {0}\\ + \\ + **Uphyxes Inverted Tower** is one of the few pentacles capable of binding {1} into objects. + Any rituals involving {2} should be performed only by the most experienced summoners. + """, + this.color("Marid", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Storage Stabilizer Tier 4](entry://crafting_rituals/craft_stabilizer_tier4) + - [Marid Master Miner](entry://crafting_rituals/craft_marid_miner) + """ + ); + + } + + @Override + protected String entryName() { + return "Uphyxes Inverted Tower"; + } + + @Override + protected String entryDescription() { + return "Marid Infusing"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_CRAFT.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CyanChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CyanChalkEntry.java new file mode 100644 index 000000000..694e65028 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/CyanChalkEntry.java @@ -0,0 +1,87 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; +import net.minecraft.world.item.crafting.Ingredient; + +public class CyanChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "cyan_chalk"; + + + public CyanChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("In the Past"); + this.pageText(""" + Almost lost to time, the cyan chalk brings ancient knowledge, often even forbidden. + But who cares? After all, knowledge is knowledge, and the more, the better, right? + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_CYAN.get())) + .withText(this.context().pageText())); + this.pageText(""" + Despite the complexity of its manufacture, this chalk is dated as one of the oldest, + perhaps even the oldest chalk ever recorded. And even after all this time, + its uses are little known, but you can see just how stable it is. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_cyan_impure")) + .withText(this.context().pageText())); + this.pageText(""" + Pulverize the {0} keeping their properties is a job that only the best crusher can do. + """, + this.color("Echo Shard", ChatFormatting.LIGHT_PURPLE)); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_cyan")) + ); + + } + + @Override + protected String entryName() { + return "The Chalk From Ancients"; + } + + @Override + protected String entryDescription() { + return "Cyan Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_CYAN.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/DidacticsEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/DidacticsEntry.java new file mode 100644 index 000000000..e662697ae --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/DidacticsEntry.java @@ -0,0 +1,73 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; + +public class DidacticsEntry extends EntryProvider { + + public static final String ENTRY_ID = "didactics"; + + + public DidacticsEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle("About"); + this.pageText(""" + This category is a roadmap that guides you step by step, follow the unlocked entries.\\ + \\ + **Tip:** By default, to set up all pentacles, you need four 19x19 areas. + """ + ); + + this.page("table", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle("Types and Tier"); + this.pageText(""" + This category is organized as a table.\\ + Each line refers to a type of ritual.\\ + And each column represents a tier.\\ + By following the line you can just upgrade the pentacle you drew before, + working like the previous and the new one. + """ + ); + + } + + @Override + protected String entryName() { + return "Reading this category"; + } + + @Override + protected String entryDescription() { + return "Basic learning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.BRUSH.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/GrayChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/GrayChalkEntry.java new file mode 100644 index 000000000..184eeadf2 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/GrayChalkEntry.java @@ -0,0 +1,86 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class GrayChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "gray_chalk"; + + + public GrayChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Getting Power"); + this.pageText(""" + The gray chalk is made with one of the magical pastes, making it an intermediate-level + foundation chalk. Its magical properties can react in curious ways with the world around it. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_GRAY.get())) + .withText(this.context().pageText())); + this.pageText(""" + As an enhanced foundation chalk, it further strengthens the core of the pentacle and + (almost always) can replace white glyphs or light gray glyphs. + """ + ); + + this.page("ritual", () -> BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_gray_paste")) + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_gray_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_gray")) + ); + + } + + @Override + protected String entryName() { + return "Improved Foundation Chalk"; + } + + @Override + protected String entryDescription() { + return "Gray Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_GRAY.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/GreenChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/GreenChalkEntry.java new file mode 100644 index 000000000..fdceb5b8e --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/GreenChalkEntry.java @@ -0,0 +1,84 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class GreenChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "green_chalk"; + + + public GreenChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Wildness"); + this.pageText(""" + The green chalk uses herbal concentrate to bring the energies of flora into the pentacles. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_GREEN.get())) + .withText(this.context().pageText())); + this.pageText(""" + This connection with nature makes the green chalk ideal for attracting wild spirits. + """ + ); + + this.page("ritual", () -> BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_nature_paste")) + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_green_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_green")) + ); + + } + + @Override + protected String entryName() { + return "The Nature Chalk, specifically The Flora Chalk"; + } + + @Override + protected String entryDescription() { + return "Green Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_GREEN.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LightBlueChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LightBlueChalkEntry.java new file mode 100644 index 000000000..009ea8eed --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LightBlueChalkEntry.java @@ -0,0 +1,83 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class LightBlueChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "light_blue_chalk"; + + + public LightBlueChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Never Melt"); + this.pageText(""" + The light blue chalk is made with such icy materials that its glyphs + are inert and impart a natural stability to the pentacles. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_LIGHT_BLUE.get())) + .withText(this.context().pageText())); + this.pageText(""" + Although it is basically made of ice, the magic present prevents it from melting. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_light_blue_impure")) + .withText(this.context().pageText())); + this.pageText(""" + Crushing ice without melting it is a job a Foliot can't do, so you need a better crusher. + """); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_light_blue")) + ); + + } + + @Override + protected String entryName() { + return "The Glaced Chalk"; + } + + @Override + protected String entryDescription() { + return "Light Blue Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_LIGHT_BLUE.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LightGrayChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LightGrayChalkEntry.java new file mode 100644 index 000000000..6579b36d5 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LightGrayChalkEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class LightGrayChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "light_gray_chalk"; + + + public LightGrayChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Most Common Foundation"); + this.pageText(""" + The light gray chalk uses mineral compounds to enhance the foundation of a pentacle. + The foundation is an important property, often considered the stabilization of the "core." + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_LIGHT_GRAY.get())) + .withText(this.context().pageText())); + this.pageText(""" + Due to its relatively low cost and inherent magical properties, it is the most common + foundation option among practitioners of occultism, capable of replacing white chalk + in almost all pentacles. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_light_gray_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_light_gray")) + ); + + } + + @Override + protected String entryName() { + return "Decent Foundation Chalk"; + } + + @Override + protected String entryDescription() { + return "Light Gray Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_LIGHT_GRAY.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LimeChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LimeChalkEntry.java new file mode 100644 index 000000000..a3797ae29 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/LimeChalkEntry.java @@ -0,0 +1,86 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class LimeChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "lime_chalk"; + + + public LimeChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Getting Experience"); + this.pageText(""" + The lime chalk attracts spirits beyond Folio. + Anyone wishing to elevate the level of their rituals will need this chalk. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_LIME.get())) + .withText(this.context().pageText())); + this.pageText(""" + Made with valuable gems infused with experiences, lime glyphs become especially + interesting to demonstrate that yours skills have surpassed the basic level. + """ + ); + + this.page("ritual", () -> BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_research_fragment_dust")) + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_lime_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_lime")) + ); + } + + @Override + protected String entryName() { + return "First Tier Increase Chalk"; + } + + @Override + protected String entryDescription() { + return "Lime Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_LIME.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/MagentaChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/MagentaChalkEntry.java new file mode 100644 index 000000000..939dc5c69 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/MagentaChalkEntry.java @@ -0,0 +1,86 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookRitualRecipePageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class MagentaChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "magenta_chalk"; + + + public MagentaChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Ender Energy"); + this.pageText(""" + All the power of a dragon in a single chalk: this is the marvel of the purple chalk. + The relationship between spirits and dragons is unclear, but there may definitely be connections. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_MAGENTA.get())) + .withText(this.context().pageText())); + this.pageText(""" + Ah, the energy of the end. But what end? Does an end truly exist? + What concludes at the end? Will the end ever come to an end? + """ + ); + + this.page("ritual", () -> BookRitualRecipePageModel.create() + .withRecipeId1(this.modLoc("ritual/craft_dragonyst_dust")) + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_magenta_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_magenta")) + ); + + } + + @Override + protected String entryName() { + return "The Dragon Chalk"; + } + + @Override + protected String entryDescription() { + return "Magenta Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_MAGENTA.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/OrangeChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/OrangeChalkEntry.java new file mode 100644 index 000000000..f8e4ed219 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/OrangeChalkEntry.java @@ -0,0 +1,83 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class OrangeChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "orange_chalk"; + + + public OrangeChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Afrit Attractive"); + this.pageText(""" + The orange chalk is a perfect bait for spirits of the Afrit class, who, + although impressed by the lime chalk, can resist its call. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_ORANGE.get())) + .withText(this.context().pageText())); + this.pageText(""" + Being a sweet and slightly warm chalk, it does not guarantee control over the invoked Afrit. + Commanding an Afrit requires power directly related to its class of spirits and + extreme stability in the pentacle. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_orange_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_orange")) + ); + + } + + @Override + protected String entryName() { + return "The Little Hot Chalk"; + } + + @Override + protected String entryDescription() { + return "Orange Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_ORANGE.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ParaphernaliaEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ParaphernaliaEntry.java new file mode 100644 index 000000000..e4ff9524d --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ParaphernaliaEntry.java @@ -0,0 +1,112 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismBlocks; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Blocks; + +public class ParaphernaliaEntry extends EntryProvider { + + public static final String ENTRY_ID = "paraphernalia"; + + + public ParaphernaliaEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle("Paraphernalia"); + this.pageText(""" + In addition to runes various occult paraphernalia are used to improve the intended effect of the pentacle. + """ + ); + + this.page("candle", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismBlocks.LARGE_CANDLE.asItem())) + .withText(this.context().pageText())); + this.pageText(""" + Candles increase the stability of the pentacle, thus allowing a slowed essence decay of the summoned + spirit, leading to a longer lifetime of the spirit, or possessed object or being. + """ + ); + + this.page("skull", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(Items.SKELETON_SKULL)) + .withText(this.context().pageText())); + this.pageText(""" + Skulls increase the calling power of the pentacle, allowing to summon more dangerous spirits.\\ + \\ + Occultists can find an easy way to obtain these skulls using basic possession rituals. + """ + ); + + this.page("crystal", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismBlocks.SPIRIT_ATTUNED_CRYSTAL.asItem())) + .withText(this.context().pageText())); + this.pageText(""" + Crystals increase the stability of the pentacle, at levels that candles would not reach, allowing a performing more unstable rituals.\\ + \\ + Check the recipes in next page. + """ + ); + + this.page("recipe_gem", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/spirit_attuned_gem")) + ); + + this.page("recipe_crystal", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/spirit_attuned_crystal")) + ); + + this.page("wither_skull", () -> BookSpotlightPageModel.create() + .withItem(Items.WITHER_SKELETON_SKULL) + .withText(this.context().pageText())); + this.pageText(""" + Whiter Skulls are stronger than regular Skull, and increase a lot the calling power of the pentacle, + allowing to summon more powerful class of spirits.\\ + \\ + Occultists can find an easy way to obtain these skulls using wild rituals. + """ + ); + + } + + @Override + protected String entryName() { + return "Occult Paraphernalia"; + } + + @Override + protected String entryDescription() { + return "Stability and Power"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(Blocks.SKELETON_SKULL); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PentaclesOverviewEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PentaclesOverviewEntry.java new file mode 100644 index 000000000..9d139765e --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PentaclesOverviewEntry.java @@ -0,0 +1,98 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismBlocks; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class PentaclesOverviewEntry extends EntryProvider { + + public static final String ENTRY_ID = "pentacle_overview"; + + + public PentaclesOverviewEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro1", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle("Overview"); + this.pageText(""" + The name {0} in this context refers to ritual drawings of any shape, not just five-pointed stars. \\ + \\ + Pentacles are used to summon and bind spirits from {1}. + """, + this.color("Pentacle", ChatFormatting.DARK_PURPLE), + this.color("The Other Place", ChatFormatting.DARK_PURPLE) + ); + + this.page("intro2", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle(""); + this.pageText(""" + Each pentacle consists of a central golden sacrificial bowl, surrounding runes of various colors + and occult paraphernalia that improve the intended effect in various ways.\\ + \\ + They act both as a device to call on the entity, an amplifier for the summoner's commanding power + and as a protecting circle preventing attacks from within against the summoner. + """ + ); + + this.page("intro3", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle(""); + this.pageText(""" + The combination of chosen runes and supporting items as well as their exact spatial positioning + determines the use and effectiveness of the pentacle. + """ + ); + + this.page("intro4", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText())); + this.pageTitle(""); + this.pageText(""" + Ingredients are placed in [Sacrificial Bowls](item://occultism:sacrificial_bowl) + near the pentacle. Specifically, must be placed **anywhere** within + 8 blocks horizontally of the central [](item://occultism:golden_sacrificial_bowl). + The exact location does not matter. + """ + ); + + } + + @Override + protected String entryName() { + return "On Pentacles"; + } + + @Override + protected String entryDescription() { + return "Lets Draw"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.CATEGORY_START; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(this.modLoc("textures/gui/book/pentacle.png")); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PinkChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PinkChalkEntry.java new file mode 100644 index 000000000..a929935e2 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PinkChalkEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class PinkChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "pink_chalk"; + + + public PinkChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("It's Alive"); + this.pageText(""" + Made from the flesh of a pig possessed by an Afrit, this chalk possesses + both animalistic properties and part of an Afrit's power. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_PINK.get())) + .withText(this.context().pageText())); + this.pageText(""" + Some occultists have reported that the demonic flesh keeps the chalk alive, + resulting in strange movements. However, this has never been officially + documented or proven, remaining merely rumors that may or may not be true. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_pink_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_pink")) + ); + + } + + @Override + protected String entryName() { + return "The Meat Chalk?"; + } + + @Override + protected String entryDescription() { + return "Pink Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_PINK.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessAfritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessAfritEntry.java new file mode 100644 index 000000000..90ce43c2a --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessAfritEntry.java @@ -0,0 +1,81 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class PossessAfritEntry extends EntryProvider { + + public static final String ENTRY_ID = "possess_afrit"; + + + public PossessAfritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Abras Commanding Conjure"); + this.pageText(""" + **Purpose:** {0} Possession\\ + \\ + **Abras Commanding Conjure** is a modified version in the possession geometry of {1} that allows + possessing entities, and thus summoning familiars. + """, + this.color("Afrit", ChatFormatting.DARK_PURPLE), + this.color("Abras Conjure", ChatFormatting.LIGHT_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Guardian Familiar](entry://familiar_rituals/familiar_guardian) + - [Possessed Shulker](entry://possession_rituals/possess_shulker) + - [Possessed Elder Guardian](entry://possession_rituals/possess_elder_guardian) + - [Possessed Hoglin](entry://possession_rituals/possess_hoglin) + """ + ); + + } + + @Override + protected String entryName() { + return "Abras' Commanding Conjure"; + } + + @Override + protected String entryDescription() { + return "Possessing Afrit"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_POSSESS.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessDjinniEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessDjinniEntry.java new file mode 100644 index 000000000..6801a3710 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessDjinniEntry.java @@ -0,0 +1,102 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class PossessDjinniEntry extends EntryProvider { + + public static final String ENTRY_ID = "possess_djinni"; + + + public PossessDjinniEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Ihagans Enthrallment"); + this.pageText(""" + **Purpose:** {0} Possession\\ + \\ + **Ihagans Enthrallment** forces {1} to possess a nearby creature. This pentacle is very versatile + for imprisonment, the spirit and creature possessed are diverse and have moderate power. + """, + this.color("Djinni", ChatFormatting.DARK_PURPLE), + this.color("Djinni", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Possessed Enderman](entry://possession_rituals/possess_enderman) + - [Possessed Ghast](entry://possession_rituals/possess_ghast) + - [Possessed Weak Shulker](entry://possession_rituals/possess_weak_shulker) + - [Possessed Warden](entry://possession_rituals/possess_warden) + - [Possessed Bee](entry://possession_rituals/possess_bee) + - [Unbound Drikwing](entry://possession_rituals/possess_unbound_otherworld_bird) + - [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird) + - [Bat Familiar](entry://familiar_rituals/familiar_bat) + - [Cthulhu Familiar](entry://familiar_rituals/familiar_cthulhu) + - [Devil Familiar](entry://familiar_rituals/familiar_devil) + - [Dragon Familiar](entry://familiar_rituals/familiar_dragon) + """ + ); + + this.page("uses2", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Headless Ratman Familiar](entry://familiar_rituals/familiar_headless) + - [Beholder Familiar](entry://familiar_rituals/familiar_beholder) + - [Fairy Familiar](entry://familiar_rituals/familiar_fairy) + - [Chimera Familiar](entry://familiar_rituals/familiar_chimera) + - [Mummy Familiar](entry://familiar_rituals/familiar_mummy) + """ + ); + + } + + @Override + protected String entryName() { + return "Ihagan's Enthrallment"; + } + + @Override + protected String entryDescription() { + return "Possessing Djinni"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_POSSESS.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessFoliotEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessFoliotEntry.java new file mode 100644 index 000000000..30c1ed404 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessFoliotEntry.java @@ -0,0 +1,88 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class PossessFoliotEntry extends EntryProvider { + + public static final String ENTRY_ID = "possess_foliot"; + + + public PossessFoliotEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Hedyrins Lure"); + this.pageText(""" + **Purpose:** {0} Possession\\ + \\ + **Hedyrins Lure** attracts {1} and forces them to possess a nearby creature. This pentacle can + perform basic possessions, bringing back only low-power spirits and possessed creatures. + """, + this.color("Foliot", ChatFormatting.DARK_PURPLE), + this.color("Foliot", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Possessed Endermite](entry://possession_rituals/possess_endermite) + - [Possessed Skeleton](entry://possession_rituals/possess_skeleton) + - [Possessed Witch](entry://possession_rituals/possess_witch) + - [Possessed Phantom](entry://possession_rituals/possess_phantom) + - [Unbound Parrot](entry://possession_rituals/possess_unbound_parrot) + - [Random Animal](entry://possession_rituals/possess_random_animal) + - [Parrot Familiar](entry://familiar_rituals/familiar_parrot) + - [Greedy Familiar](entry://familiar_rituals/familiar_greedy) + - [Deer Familiar](entry://familiar_rituals/familiar_deer) + - [Blacksmith Familiar](entry://familiar_rituals/familiar_blacksmith) + - [Beaver Familiar](entry://familiar_rituals/familiar_beaver) + """ + ); + + } + + @Override + protected String entryName() { + return "Hedyrin's Lure"; + } + + @Override + protected String entryDescription() { + return "Possessing Foliot"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_POSSESS.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessMaridEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessMaridEntry.java new file mode 100644 index 000000000..b1149d2c4 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessMaridEntry.java @@ -0,0 +1,77 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class PossessMaridEntry extends EntryProvider { + + public static final String ENTRY_ID = "possess_marid"; + + + public PossessMaridEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Xeovrenth Adjure"); + this.pageText(""" + **Purpose:** {0} Possession\\ + \\ + **Xeovrenth Adjure** is a powerful pentacle, allowing to possessing {1} in extremely dangerous rituals. + """, + this.color("Marid", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Cruelty Essence](entry://possession_rituals/possess_goat) + """ + ); + + } + + @Override + protected String entryName() { + return "Xeovrenth Adjure"; + } + + @Override + protected String entryDescription() { + return "Possessing Marid"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_POSSESS.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessUnboundAfritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessUnboundAfritEntry.java new file mode 100644 index 000000000..d3e68e30d --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PossessUnboundAfritEntry.java @@ -0,0 +1,79 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class PossessUnboundAfritEntry extends EntryProvider { + + public static final String ENTRY_ID = "possess_unbound_afrit"; + + + public PossessUnboundAfritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Abras Open Commanding Conjure"); + this.pageText(""" + **Purpose:** {0} Possession\\ + \\ + **Abras Open Commanding Conjure** is a simplified version of {1}, allowing to possess {2} without red chalk. + Due to the very reduced power of the pentacle, it has limitations in its use. + """, + this.color("Unbound Afrit", ChatFormatting.DARK_PURPLE), + this.color("Abras Commanding Conjure", ChatFormatting.DARK_PURPLE), + this.color("Afrit", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Possessed Pig](entry://possession_rituals/possess_zombie_piglin) + """ + ); + + } + + @Override + protected String entryName() { + return "Abras' Open Commanding Conjure"; + } + + @Override + protected String entryDescription() { + return "Possessing Unbound Afrit"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_POSSESS.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PurpleChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PurpleChalkEntry.java new file mode 100644 index 000000000..c4160a181 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/PurpleChalkEntry.java @@ -0,0 +1,88 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; +import net.minecraft.world.item.crafting.Ingredient; + +public class PurpleChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "purple_chalk"; + + + public PurpleChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Infusing"); + this.pageText(""" + The purple chalk is extremely important for those wishing to perform infusions, + serving as the main glyph in this type of ritual. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_PURPLE.get())) + .withText(this.context().pageText())); + this.pageText(""" + Infusions are an extremely different type of ritual, as while summoning and possession + bring living creatures into the world, infusion creates objects bound to spirits. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_purple_impure")) + .withText(this.context.pageText())); + this.pageText(""" + You do not need to visit the {0} to obtain Endstone. You can summon a + [Possessed Endermite](entry://possession_rituals/possess_endermite) which has a high chance to drop it. + """, + this.color("The End", ChatFormatting.LIGHT_PURPLE)); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_purple")) + ); + + } + + @Override + protected String entryName() { + return "The Chalk to Infusion"; + } + + @Override + protected String entryDescription() { + return "Purple Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_PURPLE.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/RedChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/RedChalkEntry.java new file mode 100644 index 000000000..1a4a8e796 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/RedChalkEntry.java @@ -0,0 +1,93 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; +import net.minecraft.world.item.crafting.Ingredient; + +public class RedChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "red_chalk"; + + + public RedChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Under Control"); + this.pageText(""" + The red chalk is made from the very essence of Afrit, making its glyphs directly + connected to these spirits. Additionally, it elevates the pentacles + capacity to the most demonic levels. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_RED.get())) + .withText(this.context().pageText())); + this.pageText(""" + These properties allow for an incredible achievement that has been sought + for ages before being attained: the summoning of an Afrit bound to the occultist. + """ + ); + + this.page("essence", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.AFRIT_ESSENCE.get())) + .withText(this.context().pageText())); + this.pageText(""" + To obtain the essence of an {0} for [](item://occultism:chalk_red) you need to + [summon and kill an Unbound Afrit](entry://summoning_rituals/afrit_essence). + """, + this.color("Afrit", ChatFormatting.DARK_PURPLE) + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_red_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_red")) + ); + + } + + @Override + protected String entryName() { + return "The Afrit Control Chalk"; + } + + @Override + protected String entryDescription() { + return "Red Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_RED.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ResurrectSpiritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ResurrectSpiritEntry.java new file mode 100644 index 000000000..a5de9a8c6 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/ResurrectSpiritEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class ResurrectSpiritEntry extends EntryProvider { + + public static final String ENTRY_ID = "resurrect_spirit"; + + + public ResurrectSpiritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Susjes Simple Circle"); + this.pageText(""" + **Purpose:** Resurrect a {0}\\ + \\ + **Susjes Simple Circle** is a simple pentacle that returns the physical form of a spirit that has + been slaughtered, not needing much to do so.\\ + \\ + **Note:** This is the only pentacle where the {1} cannot be replaced with another better {2}. + """, + this.color("Familiar", ChatFormatting.DARK_PURPLE), + this.color("White Chalk", ChatFormatting.LIGHT_PURPLE), + this.color("Foundation Chalk", ChatFormatting.LIGHT_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Resurrect Familiar](entry://familiar_rituals/resurrection) + - [Purify Vex to Allay](entry://familiar_rituals/resurrect_allay) + """ + ); + + } + + @Override + protected String entryName() { + return "Susje's Simple Circle"; + } + + @Override + protected String entryDescription() { + return "Spirit Resurrection"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_MISC.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonAfritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonAfritEntry.java new file mode 100644 index 000000000..25d619be6 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonAfritEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class SummonAfritEntry extends EntryProvider { + + public static final String ENTRY_ID = "summon_afrit"; + + + public SummonAfritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Abras Conjure"); + this.pageText(""" + **Purpose:** Summon a {0}\\ + \\ + **Abras Conjure** is one of the few pentacles capable of (mostly) safely summoning an {1}. + While the requirement of several {2} makes it comparatively expensive, + the additional calling potential is required to reach these high-power spirits. + """, + this.color("Afrit", ChatFormatting.DARK_PURPLE), + this.color("Afrit", ChatFormatting.DARK_PURPLE), + this.color("Spirit Attuned Gems", ChatFormatting.LIGHT_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Afrit Crusher](entry://summoning_rituals/summon_crusher_t3) + - [Thunderstorm](entry://summoning_rituals/weather_magic@thunder) + - [Rainy Weather](entry://summoning_rituals/weather_magic@rain) + """ + ); + + } + + @Override + protected String entryName() { + return "Abras' Conjure"; + } + + @Override + protected String entryDescription() { + return "Afrit Summoning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_SUMMON.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonDjinniEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonDjinniEntry.java new file mode 100644 index 000000000..ac82cf667 --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonDjinniEntry.java @@ -0,0 +1,87 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class SummonDjinniEntry extends EntryProvider { + + public static final String ENTRY_ID = "summon_djinni"; + + + public SummonDjinniEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Ophyx Calling"); + this.pageText(""" + **Purpose:** Summon a {0}\\ + \\ + Developed by {1} during the Third Era, the {2} is the go-to pentacle for {3} summonings ever since. + Skeleton skulls ([Obtain here](entry://possession_rituals/possess_skeleton)) + and {4} provide the calling power required to force Djinni into appearance and candles stabilize the ritual. + + """, + this.color("Djinni", ChatFormatting.DARK_PURPLE), + this.color("Ophyx", ChatFormatting.LIGHT_PURPLE), + this.color("Calling", ChatFormatting.LIGHT_PURPLE), + this.color("Djinni", ChatFormatting.DARK_PURPLE), + this.color("Lime Chalk", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Djinni Crusher](entry://summoning_rituals/summon_crusher_t2) + - [Djinni Machine Operator](entry://summoning_rituals/summon_manage_machine) + - [Clear Weather](entry://summoning_rituals/weather_magic@clear) + - [Time Magic](entry://summoning_rituals/time_magic) + - [Demonic Partner](entry://familiar_rituals/demonic_partner) + """ + ); + + } + + @Override + protected String entryName() { + return "Ophyx' Calling"; + } + + @Override + protected String entryDescription() { + return "Djinni Summoning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_SUMMON.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonFoliotEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonFoliotEntry.java new file mode 100644 index 000000000..27ded53bd --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonFoliotEntry.java @@ -0,0 +1,86 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class SummonFoliotEntry extends EntryProvider { + + public static final String ENTRY_ID = "summon_foliot"; + + + public SummonFoliotEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Aviars Circle"); + this.pageText(""" + **Purpose:** Summon a {0}\\ + \\ + Considered by most to be the simplest pentacle, {1} is easy to set up, + but provides only a minimum of binding power and protection for the summoner.\\ + \\ + Only the weakest {2} can be summoned in rituals using this pentacle. + """, + this.color("Foliot", ChatFormatting.DARK_PURPLE), + this.color("Aviars Circle", ChatFormatting.LIGHT_PURPLE), + this.color("Foliot", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Foliot Crusher](entry://summoning_rituals/summon_crusher_t1) + - [Foliot Lumberjack](entry://summoning_rituals/summon_lumberjack) + - [Foliot Transporter](entry://summoning_rituals/summon_transport_items) + - [Foliot Janitor](entry://summoning_rituals/summon_cleaner) + - [Otherstone Trader](entry://summoning_rituals/summon_otherstone_trader) + - [Otherworld Sapling Trader](entry://summoning_rituals/summon_otherworld_sapling_trader) + """ + ); + + } + + @Override + protected String entryName() { + return "Aviar's Circle"; + } + + @Override + protected String entryDescription() { + return "Foliot Summoning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_SUMMON.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonMaridEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonMaridEntry.java new file mode 100644 index 000000000..196b4541e --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonMaridEntry.java @@ -0,0 +1,78 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class SummonMaridEntry extends EntryProvider { + + public static final String ENTRY_ID = "summon_marid"; + + + public SummonMaridEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Fatmas Incentivized Attraction"); + this.pageText(""" + **Purpose:** Summon a {0}\\ + \\ + **Fatmas Incentivized Attraction** is a powerful pentacle, allowing to summon {1} + and bind them to the summoners will. + """, + this.color("Marid", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Marid Crusher](entry://summoning_rituals/summon_crusher_t4) + """ + ); + + } + + @Override + protected String entryName() { + return "Fatma's Incentivized Attraction"; + } + + @Override + protected String entryDescription() { + return "Marid Summoning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_SUMMON.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonUnboundAfritEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonUnboundAfritEntry.java new file mode 100644 index 000000000..cdb8067df --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonUnboundAfritEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class SummonUnboundAfritEntry extends EntryProvider { + + public static final String ENTRY_ID = "summon_unbound_afrit"; + + + public SummonUnboundAfritEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Abras Open Conjure"); + this.pageText(""" + **Purpose:** Summon an {0}\\ + \\ + **Abras Open Conjure** is a simplified version of {1}, allowing to summon {2} without red chalk. + Due to the much reduced power of the pentacle, it cannot be used to control {3}, + and it thus can only be used to fight and kill {4}. + """, + this.color("Unbound Afrit", ChatFormatting.DARK_PURPLE), + this.color("Abras Open Conjure", ChatFormatting.LIGHT_PURPLE), + this.color("Afrit", ChatFormatting.DARK_PURPLE), + this.color("Afrit", ChatFormatting.DARK_PURPLE), + this.color("Afrit", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Afrit Essence](entry://summoning_rituals/afrit_essence) + """ + ); + + } + + @Override + protected String entryName() { + return "Abras' Open Conjure"; + } + + @Override + protected String entryDescription() { + return "Unbound Afrit Summoning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_SUMMON.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonUnboundMaridEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonUnboundMaridEntry.java new file mode 100644 index 000000000..85f453ffa --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/SummonUnboundMaridEntry.java @@ -0,0 +1,81 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookMultiblockPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.ChatFormatting; + +public class SummonUnboundMaridEntry extends EntryProvider { + + public static final String ENTRY_ID = "summon_unbound_marid"; + + + public SummonUnboundMaridEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("intro", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Abras Fortified Conjure"); + this.pageText(""" + **Purpose:** Summon an {0}\\ + \\ + **Abras Fortified Conjure** is a improved version of {1}, allowing to summon {2}, + however without any control of the occultist. {3} summoned by this will become + aggressive due to the instability of the ritual + """, + this.color("Unbound Marid", ChatFormatting.DARK_PURPLE), + this.color("Abras Conjure", ChatFormatting.LIGHT_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE), + this.color("Marid", ChatFormatting.DARK_PURPLE) + ); + + this.page("multiblock", () -> BookMultiblockPageModel.create().withMultiblockId(this.modLoc(ENTRY_ID))); + + this.page("uses", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Uses"); + this.pageText(""" + - [Marid Essence](entry://summoning_rituals/marid_essence) + """ + ); + + } + + @Override + protected String entryName() { + return "Abras' Fortified Conjure"; + } + + @Override + protected String entryDescription() { + return "Unbound Marid Summoning"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.PENTACLE_SUMMON.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/WhiteChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/WhiteChalkEntry.java new file mode 100644 index 000000000..8a28d5f7b --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/WhiteChalkEntry.java @@ -0,0 +1,82 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class WhiteChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "white_chalk"; + + + public WhiteChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("First Foundation"); + this.pageText(""" + This is the first chalk in the journey of any occultist. Due to its simplicity, it serves as a + weak foundation. Pentacles drawn only with this chalk attract only the weakest spirits, + known as Folit. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_WHITE.get())) + .withText(this.context().pageText())); + this.pageText(""" + In almost any pentacle where you see a white glyph, it can be replaced with another + "colorless" chalk (light gray, gray, or black). + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_white_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_white")) + ); + + } + + @Override + protected String entryName() { + return "The Most Basic Chalk"; + } + + @Override + protected String entryDescription() { + return "White Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_WHITE.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/YellowChalkEntry.java b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/YellowChalkEntry.java new file mode 100644 index 000000000..f9f546e0f --- /dev/null +++ b/src/main/java/com/klikli_dev/occultism/datagen/book/pentacles/YellowChalkEntry.java @@ -0,0 +1,81 @@ +package com.klikli_dev.occultism.datagen.book.pentacles; + +import com.klikli_dev.modonomicon.api.datagen.CategoryProvider; +import com.klikli_dev.modonomicon.api.datagen.EntryBackground; +import com.klikli_dev.modonomicon.api.datagen.EntryProvider; +import com.klikli_dev.modonomicon.api.datagen.book.BookIconModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookCraftingRecipePageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookSpotlightPageModel; +import com.klikli_dev.modonomicon.api.datagen.book.page.BookTextPageModel; +import com.klikli_dev.occultism.integration.modonomicon.pages.BookSpiritFireRecipePageModel; +import com.klikli_dev.occultism.registry.OccultismItems; +import com.mojang.datafixers.util.Pair; +import net.minecraft.world.item.crafting.Ingredient; + +public class YellowChalkEntry extends EntryProvider { + + public static final String ENTRY_ID = "yellow_chalk"; + + + public YellowChalkEntry(CategoryProvider parent) { + super(parent); + } + + @Override + protected void generatePages() { + + this.page("lore", () -> BookTextPageModel.create() + .withTitle(this.context().pageTitle()) + .withText(this.context().pageText()) + ); + this.pageTitle("Possessing"); + this.pageText(""" + The yellow chalk, also known as golden chalk, brings a sparkle to the eyes of those who + engage in possessions, serving as the main glyph in this type of ritual. + """ + ); + + this.page("spotlight", () -> BookSpotlightPageModel.create() + .withItem(Ingredient.of(OccultismItems.CHALK_YELLOW.get())) + .withText(this.context().pageText())); + this.pageText(""" + Possessions are a variation of summoning, caused by a transformation in geometry and + the addition of yellow glyphs, allowing spirits to manifest in bodies (material prisons) + different from their usual ones. + """ + ); + + this.page("recipe_impure", () -> BookCraftingRecipePageModel.create() + .withRecipeId1(this.modLoc("crafting/chalk_yellow_impure")) + ); + + this.page("recipe", () -> BookSpiritFireRecipePageModel.create() + .withRecipeId1(this.modLoc("spirit_fire/chalk_yellow")) + ); + } + + @Override + protected String entryName() { + return "The Chalk to Possession"; + } + + @Override + protected String entryDescription() { + return "Yellow Chalk"; + } + + @Override + protected Pair entryBackground() { + return EntryBackground.DEFAULT; + } + + @Override + protected BookIconModel entryIcon() { + return BookIconModel.create(OccultismItems.CHALK_YELLOW.get()); + } + + @Override + protected String entryId() { + return ENTRY_ID; + } +} diff --git a/src/main/java/com/klikli_dev/occultism/datagen/lang/ENUSProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/lang/ENUSProvider.java index 9c98181b7..dcf8f2512 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/lang/ENUSProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/lang/ENUSProvider.java @@ -126,6 +126,7 @@ public void addItemTooltips() { this.add(OccultismItems.MINER_DEBUG_UNSPECIALIZED.get().getDescriptionId() + ".tooltip", "Debug Miner will mine random blocks in the mining dimension."); this.add(OccultismItems.MINER_AFRIT_DEEPS.get().getDescriptionId() + ".tooltip", "%s will mine random ores and deepslate ores in the mining dimension."); this.add(OccultismItems.MINER_MARID_MASTER.get().getDescriptionId() + ".tooltip", "%s will mine random ores, deepslate ores and rare ores in the mining dimension."); + this.add(OccultismItems.MINER_ANCIENT_ELDRITCH.get().getDescriptionId() + ".tooltip", "Something will mine random raw ores blocks, gems blocks and rare ores in the mining dimension."); this.add(OccultismItems.SOUL_GEM_ITEM.get().getDescriptionId() + ".tooltip_filled", "Contains a captured %s."); this.add(OccultismItems.SOUL_GEM_ITEM.get().getDescriptionId() + ".tooltip_empty", "Use on a creature to capture it."); this.add(OccultismItems.SATCHEL.get().getDescriptionId() + ".tooltip", "%s is bound to this satchel."); @@ -143,7 +144,12 @@ private void addItems() { this.add("itemGroup.occultism", "Occultism"); - this.addItem(OccultismItems.PENTACLE, "Pentacle"); + this.addItem(OccultismItems.PENTACLE_SUMMON, "Pentacle Summon"); + this.addItem(OccultismItems.PENTACLE_POSSESS, "Pentacle Possess"); + this.addItem(OccultismItems.PENTACLE_CRAFT, "Pentacle Craft"); + this.addItem(OccultismItems.PENTACLE_MISC, "Pentacle Misc"); + this.addItem(OccultismItems.REPAIR_ICON, "Repair Icon"); + this.addItem(OccultismItems.RESURRECT_ICON, "Resurrect Icon"); this.addItem(OccultismItems.DEBUG_WAND, "Debug Wand"); this.addItem(OccultismItems.DEBUG_FOLIOT_LUMBERJACK, "Summon Debug Foliot Lumberjack"); this.addItem(OccultismItems.DEBUG_FOLIOT_TRANSPORT_ITEMS, "Summon Debug Foliot Transporter"); @@ -174,7 +180,7 @@ private void addItems() { this.add(TranslationKeys.RITUAL_SATCHEL_NO_PREVIEW_BLOCK_TARGETED, "You need to aim the ritual satchel at a preview block."); this.add(TranslationKeys.RITUAL_SATCHEL_NO_VALID_ITEM_IN_SATCHEL, "There is no valid item in the satchel for this previewed block."); - this.addItem(OccultismItems.CHALK_GOLD, "Yellow Chalk"); + this.addItem(OccultismItems.CHALK_YELLOW, "Yellow Chalk"); this.addItem(OccultismItems.CHALK_PURPLE, "Purple Chalk"); this.addItem(OccultismItems.CHALK_RED, "Red Chalk"); this.addItem(OccultismItems.CHALK_WHITE, "White Chalk"); @@ -190,7 +196,7 @@ private void addItems() { this.addItem(OccultismItems.CHALK_BLUE, "Blue Chalk"); this.addItem(OccultismItems.CHALK_MAGENTA, "Magenta Chalk"); this.addItem(OccultismItems.CHALK_PINK, "Pink Chalk"); - this.addItem(OccultismItems.CHALK_GOLD_IMPURE, "Impure Yellow Chalk"); + this.addItem(OccultismItems.CHALK_YELLOW_IMPURE, "Impure Yellow Chalk"); this.addItem(OccultismItems.CHALK_PURPLE_IMPURE, "Impure Purple Chalk"); this.addItem(OccultismItems.CHALK_RED_IMPURE, "Impure Red Chalk"); this.addItem(OccultismItems.CHALK_WHITE_IMPURE, "Impure White Chalk"); @@ -273,6 +279,8 @@ private void addItems() { this.addItem(OccultismItems.MINER_DEBUG_UNSPECIALIZED, "Debug Miner"); this.addItem(OccultismItems.MINER_AFRIT_DEEPS, "Deep Ore Miner Afrit"); this.addItem(OccultismItems.MINER_MARID_MASTER, "Master Miner Marid"); + this.addItem(OccultismItems.MINER_ANCIENT_ELDRITCH, "Eldritch Ancient Miner"); + this.addItem(OccultismItems.MINING_DIMENSION_CORE_PIECE, "Mining Dimension Core Piece"); this.addItem(OccultismItems.SOUL_GEM_ITEM, "Soul Gem"); this.add(OccultismItems.SOUL_GEM_ITEM.get().getDescriptionId() + "_empty", "Empty Soul Gem"); this.addItem(OccultismItems.SOUL_SHARD_ITEM, "Soul Shard"); @@ -281,8 +289,9 @@ private void addItems() { this.addItem(OccultismItems.SPAWN_EGG_FOLIOT, "Foliot Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_DJINNI, "Djinni Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_AFRIT, "Afrit Spawn Egg"); - this.addItem(OccultismItems.SPAWN_EGG_AFRIT_WILD, "Unbound Afrit Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_AFRIT_UNBOUND, "Unbound Afrit Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_MARID, "Marid Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_MARID_UNBOUND, "Unbound Marid Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_ENDERMITE, "Possessed Endermite Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_SKELETON, "Possessed Skeleton Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_ENDERMAN, "Possessed Enderman Spawn Egg"); @@ -293,6 +302,10 @@ private void addItems() { this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_ELDER_GUARDIAN, "Possessed Elder Guardian Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_WARDEN, "Possessed Warden Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_HOGLIN, "Possessed Hoglin Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_WITCH, "Possessed Witch Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_ZOMBIE_PIGLIN, "Possessed Zombified Piglin Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_BEE, "Possessed Bee Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_GOAT_OF_MERCY, "Goat of Mercy Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_WILD_HUNT_SKELETON, "Wild Hunt Skeleton Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_WILD_HUNT_WITHER_SKELETON, "Wild Hunt Wither Skeleton Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_OTHERWORLD_BIRD, "Drikwing Spawn Egg"); @@ -319,10 +332,31 @@ private void addItems() { this.addItem(OccultismItems.SPAWN_EGG_WILD_HORDE_DROWNED, "Wild Horde Drowned Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_WILD_HORDE_CREEPER, "Wild Horde Creeper Spawn Egg"); this.addItem(OccultismItems.SPAWN_EGG_WILD_HORDE_SILVERFISH, "Wild Horde Silverfish Spawn Egg"); - this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_WEAK_BREEZE, "Possessed Weak Breeze Spawn Egg"); - this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_BREEZE, "Possessed Breeze Spawn Egg"); - this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_STRONG_BREEZE, "Possessed Strong Breeze Spawn Egg"); - this.addItem(OccultismItems.SPAWN_EGG_POSSESSED_EVOKER, "Possessed Evoker Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_WILD_WEAK_BREEZE, "Wild Weak Breeze Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_WILD_BREEZE, "Wild Breeze Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_WILD_STRONG_BREEZE, "Wild Strong Breeze Spawn Egg"); + this.addItem(OccultismItems.SPAWN_EGG_WILD_EVOKER, "Wild Evoker Spawn Egg"); + //Pentacle Rework Update + this.addItem(OccultismItems.AMETHYST_DUST,"Amethyst Dust"); + this.addItem(OccultismItems.CRUELTY_ESSENCE,"Cruelty Essence"); + this.addItem(OccultismItems.CRUSHED_BLACKSTONE,"Crushed Blackstone"); + this.addItem(OccultismItems.CRUSHED_BLUE_ICE,"Crushed Blue Ice"); + this.addItem(OccultismItems.CRUSHED_CALCITE,"Crushed Calcite"); + this.addItem(OccultismItems.CRUSHED_ICE,"Crushed Ice"); + this.addItem(OccultismItems.CRUSHED_PACKED_ICE,"Crushed Packed Ice"); + this.addItem(OccultismItems.CURSED_HONEY,"Cursed Honey"); + this.addItem(OccultismItems.DEMONIC_MEAT,"Demonic Meat"); + this.addItem(OccultismItems.DRAGONYST_DUST,"Dragonyst Dust"); + this.addItem(OccultismItems.ECHO_DUST,"Echo Dust"); + this.addItem(OccultismItems.EMERALD_DUST,"Emerald Dust"); + this.addItem(OccultismItems.GRAY_PASTE,"Gray Paste"); + this.addItem(OccultismItems.LAPIS_DUST,"Lapis Dust"); + this.addItem(OccultismItems.MARID_ESSENCE,"Marid Essence"); + this.addItem(OccultismItems.NATURE_PASTE,"Nature Paste"); + this.addItem(OccultismItems.NETHERITE_DUST,"Netherite Dust"); + this.addItem(OccultismItems.NETHERITE_SCRAP_DUST,"Netherite Scrap Dust"); + this.addItem(OccultismItems.RESEARCH_FRAGMENT_DUST,"Research Fragment Dust"); + this.addItem(OccultismItems.WITHERITE_DUST,"Witherite Dust"); } private void addBlocks() { @@ -353,7 +387,7 @@ private void addBlocks() { this.addBlock(OccultismBlocks.SACRIFICIAL_BOWL, "Sacrificial Bowl"); this.addBlock(OccultismBlocks.GOLDEN_SACRIFICIAL_BOWL, "Golden Sacrificial Bowl"); this.addBlock(OccultismBlocks.CHALK_GLYPH_WHITE, "White Chalk Glyph"); - this.addBlock(OccultismBlocks.CHALK_GLYPH_GOLD, "Yellow Chalk Glyph"); + this.addBlock(OccultismBlocks.CHALK_GLYPH_YELLOW, "Yellow Chalk Glyph"); this.addBlock(OccultismBlocks.CHALK_GLYPH_PURPLE, "Purple Chalk Glyph"); this.addBlock(OccultismBlocks.CHALK_GLYPH_RED, "Red Chalk Glyph"); this.addBlock(OccultismBlocks.CHALK_GLYPH_LIGHT_GRAY, "Light Gray Chalk Glyph"); @@ -439,6 +473,7 @@ private void addEntities() { this.addEntityType(OccultismEntities.AFRIT, "Afrit"); this.addEntityType(OccultismEntities.AFRIT_WILD, "Unbound Afrit"); this.addEntityType(OccultismEntities.MARID, "Marid"); + this.addEntityType(OccultismEntities.MARID_UNBOUND, "Unbound Marid"); this.addEntityType(OccultismEntities.POSSESSED_ENDERMITE, "Possessed Endermite"); this.addEntityType(OccultismEntities.POSSESSED_SKELETON, "Possessed Skeleton"); this.addEntityType(OccultismEntities.POSSESSED_ENDERMAN, "Possessed Enderman"); @@ -449,6 +484,10 @@ private void addEntities() { this.addEntityType(OccultismEntities.POSSESSED_ELDER_GUARDIAN, "Possessed Elder Guardian"); this.addEntityType(OccultismEntities.POSSESSED_WARDEN, "Possessed Warden"); this.addEntityType(OccultismEntities.POSSESSED_HOGLIN, "Possessed Hoglin"); + this.addEntityType(OccultismEntities.POSSESSED_WITCH, "Possessed Witch"); + this.addEntityType(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN, "Possessed Zombified Piglin"); + this.addEntityType(OccultismEntities.POSSESSED_BEE, "Possessed Bee"); + this.addEntityType(OccultismEntities.GOAT_OF_MERCY, "Goat of Mercy"); this.addEntityType(OccultismEntities.WILD_HUNT_SKELETON, "Wild Hunt Skeleton"); this.addEntityType(OccultismEntities.WILD_HUNT_WITHER_SKELETON, "Wild Hunt Wither Skeleton"); this.addEntityType(OccultismEntities.OTHERWORLD_BIRD, "Drikwing"); @@ -476,9 +515,9 @@ private void addEntities() { this.addEntityType(OccultismEntities.WILD_HORDE_DROWNED, "Wild Horde Drowned"); this.addEntityType(OccultismEntities.WILD_HORDE_CREEPER, "Wild Horde Creeper"); this.addEntityType(OccultismEntities.WILD_HORDE_SILVERFISH, "Wild Horde Silverfish"); - this.addEntityType(OccultismEntities.POSSESSED_WEAK_BREEZE, "Possessed Weak Breeze"); - this.addEntityType(OccultismEntities.POSSESSED_BREEZE, "Possessed Breeze"); - this.addEntityType(OccultismEntities.POSSESSED_STRONG_BREEZE, "Possessed Strong Breeze"); + this.addEntityType(OccultismEntities.POSSESSED_WEAK_BREEZE, "Wild Weak Breeze"); + this.addEntityType(OccultismEntities.POSSESSED_BREEZE, "Wild Breeze"); + this.addEntityType(OccultismEntities.POSSESSED_STRONG_BREEZE, "Wild Strong Breeze"); this.addEntityType(OccultismEntities.WILD_ZOMBIE, "Wild Zombie"); this.addEntityType(OccultismEntities.WILD_SKELETON, "Wild Skeleton"); this.addEntityType(OccultismEntities.WILD_SILVERFISH, "Wild Silverfish"); @@ -488,7 +527,7 @@ private void addEntities() { this.addEntityType(OccultismEntities.WILD_HUSK, "Wild Husk"); this.addEntityType(OccultismEntities.WILD_STRAY, "Wild Stray"); this.addEntityType(OccultismEntities.WILD_CAVE_SPIDER, "Wild Cave Spider"); - this.addEntityType(OccultismEntities.POSSESSED_EVOKER, "Possessed Evoker"); + this.addEntityType(OccultismEntities.POSSESSED_EVOKER, "Wild Evoker"); } private void addMiscTranslations() { @@ -566,7 +605,11 @@ private void addMiscTranslations() { this.add("ritual.occultism.sacrifice.dolphin", "Dolphin"); this.add("ritual.occultism.sacrifice.wolfs", "Wolf"); this.add("ritual.occultism.sacrifice.ocelot", "Ocelot"); + this.add("ritual.occultism.sacrifice.cats", "Cat"); this.add("ritual.occultism.sacrifice.vex", "Vex"); + this.add("ritual.occultism.sacrifice.tadpoles", "Tadpole"); + this.add("ritual.occultism.sacrifice.allay", "Allay"); + this.add("ritual.occultism.sacrifice.warden", "Warden"); //Network Message this.add("network.messages.occultism.request_order.order_received", "Order received!"); @@ -714,14 +757,18 @@ private void addRitualMessages() { this.add("ritual.occultism.summon_afrit_thunder_weather.started", "Started summoning afrit for a thunderstorm."); this.add("ritual.occultism.summon_afrit_thunder_weather.finished", "Summoned afrit successfully."); this.add("ritual.occultism.summon_afrit_thunder_weather.interrupted", "Summoning of afrit interrupted."); - this.add("ritual.occultism.summon_wild_afrit.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_afrit.started", "Started summoning unbound afrit."); - this.add("ritual.occultism.summon_wild_afrit.finished", "Summoned unbound afrit successfully."); - this.add("ritual.occultism.summon_wild_afrit.interrupted", "Summoning of unbound afrit interrupted."); - this.add("ritual.occultism.summon_wild_hunt.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_hunt.started", "Started summoning the wild hunt."); - this.add("ritual.occultism.summon_wild_hunt.finished", "Summoned the wild hunt successfully."); - this.add("ritual.occultism.summon_wild_hunt.interrupted", "Summoning of the wild hunt interrupted."); + this.add("ritual.occultism.summon_unbound_afrit.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.summon_unbound_afrit.started", "Started summoning unbound afrit."); + this.add("ritual.occultism.summon_unbound_afrit.finished", "Summoned unbound afrit successfully."); + this.add("ritual.occultism.summon_unbound_afrit.interrupted", "Summoning of unbound afrit interrupted."); + this.add("ritual.occultism.summon_unbound_marid.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.summon_unbound_marid.started", "Started summoning unbound marid."); + this.add("ritual.occultism.summon_unbound_marid.finished", "Summoned unbound marid successfully."); + this.add("ritual.occultism.summon_unbound_marid.interrupted", "Summoning of unbound marid interrupted."); + this.add("ritual.occultism.wild_hunt.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_hunt.started", "Started summoning the wild hunt."); + this.add("ritual.occultism.wild_hunt.finished", "Summoned the wild hunt successfully."); + this.add("ritual.occultism.wild_hunt.interrupted", "Summoning of the wild hunt interrupted."); this.add("ritual.occultism.craft_dimensional_matrix.conditions", "Not all requirements for this ritual are met."); this.add("ritual.occultism.craft_dimensional_matrix.started", "Started binding djinni into dimensional matrix."); this.add("ritual.occultism.craft_dimensional_matrix.finished", "Successfully bound djinni into dimensional matrix."); @@ -787,6 +834,11 @@ private void addRitualMessages() { this.add("ritual.occultism.craft_miner_marid_master.finished", "Successfully summoned marid into magic lamp."); this.add("ritual.occultism.craft_miner_marid_master.interrupted", "Summoning of marid interrupted."); + this.add("ritual.occultism.craft_miner_ancient_eldritch.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.craft_miner_ancient_eldritch.started", "Started summoning something into magic lamp."); + this.add("ritual.occultism.craft_miner_ancient_eldritch.finished", "Successfully summoned something into magic lamp."); + this.add("ritual.occultism.craft_miner_ancient_eldritch.interrupted", "Summoning of something interrupted."); + this.add("ritual.occultism.craft_satchel.conditions", "Not all requirements for this ritual are met."); this.add("ritual.occultism.craft_satchel.started", "Started binding foliot into satchel."); this.add("ritual.occultism.craft_satchel.finished", "Successfully bound foliot into satchel."); @@ -800,7 +852,7 @@ private void addRitualMessages() { this.add("ritual.occultism.craft_familiar_ring.finished", "Successfully bound djinni into familiar ring."); this.add("ritual.occultism.craft_familiar_ring.interrupted", "Binding of djinni interrupted."); this.add("ritual.occultism.craft_wild_trim.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.craft_wild_trim.started", "Marid has started to forge the Wild Armor Trim Smithing Template."); + this.add("ritual.occultism.craft_wild_trim.started", "Wild Spirits has started to forge the Wild Armor Trim Smithing Template."); this.add("ritual.occultism.craft_wild_trim.finished", "Successfully forged the Wild Armor Trim Smithing Template."); this.add("ritual.occultism.craft_wild_trim.interrupted", "Binding of djinni interrupted."); this.add("ritual.occultism.possess_endermite.conditions", "Not all requirements for this ritual are met."); @@ -843,6 +895,22 @@ private void addRitualMessages() { this.add("ritual.occultism.possess_hoglin.started", "Started summoning possessed hoglin."); this.add("ritual.occultism.possess_hoglin.finished", "Summoned possessed hoglin successfully."); this.add("ritual.occultism.possess_hoglin.interrupted", "Summoning of possessed hoglin interrupted."); + this.add("ritual.occultism.possess_witch.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_witch.started", "Started summoning possessed witch."); + this.add("ritual.occultism.possess_witch.finished", "Summoned possessed witch successfully."); + this.add("ritual.occultism.possess_witch.interrupted", "Summoning of possessed witch interrupted."); + this.add("ritual.occultism.possess_zombie_piglin.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_zombie_piglin.started", "Started summoning possessed zombie piglin."); + this.add("ritual.occultism.possess_zombie_piglin.finished", "Summoned possessed zombie piglin successfully."); + this.add("ritual.occultism.possess_zombie_piglin.interrupted", "Summoning of possessed zombie piglin interrupted."); + this.add("ritual.occultism.possess_bee.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_bee.started", "Started summoning possessed bee."); + this.add("ritual.occultism.possess_bee.finished", "Summoned possessed bee successfully."); + this.add("ritual.occultism.possess_bee.interrupted", "Summoning of possessed bee interrupted."); + this.add("ritual.occultism.possess_goat.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_goat.started", "Started summoning goat of mercy."); + this.add("ritual.occultism.possess_goat.finished", "Summoned goat of mercy successfully."); + this.add("ritual.occultism.possess_goat.interrupted", "Summoning of goat of mercy interrupted."); this.add("ritual.occultism.familiar_otherworld_bird.conditions", "Not all requirements for this ritual are met."); this.add("ritual.occultism.familiar_otherworld_bird.started", "Started summoning drikwing familiar."); this.add("ritual.occultism.familiar_otherworld_bird.finished", "Summoned drikwing familiar successfully."); @@ -867,28 +935,28 @@ private void addRitualMessages() { this.add("ritual.occultism.familiar_guardian.started", "Started summoning guardian familiar."); this.add("ritual.occultism.familiar_guardian.finished", "Summoned guardian familiar successfully."); this.add("ritual.occultism.familiar_guardian.interrupted", "Summoning of guardian familiar interrupted."); - this.add("ritual.occultism.summon_wild_otherworld_bird.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_otherworld_bird.started", "Started summoning wild drikwing."); - this.add("ritual.occultism.summon_wild_otherworld_bird.finished", "Summoned wild drikwing successfully."); - this.add("ritual.occultism.summon_wild_otherworld_bird.interrupted", "Summoning of wild drikwing interrupted."); - this.add("ritual.occultism.summon_wild_parrot.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_parrot.started", "Started summoning wild parrot."); - this.add("ritual.occultism.summon_wild_parrot.finished", "Summoned wild parrot successfully."); - this.add("ritual.occultism.summon_wild_parrot.interrupted", "Summoning of wild parrot interrupted."); - - this.add("ritual.occultism.summon_random_animal.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_random_animal.started", "Started summoning a random animal."); - this.add("ritual.occultism.summon_random_animal.finished", "Summoned successfully."); - this.add("ritual.occultism.summon_random_animal.interrupted", "Summoning of random animal interrupted."); + this.add("ritual.occultism.possess_unbound_otherworld_bird.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_unbound_otherworld_bird.started", "Started summoning unbound drikwing."); + this.add("ritual.occultism.possess_unbound_otherworld_bird.finished", "Summoned unbound drikwing successfully."); + this.add("ritual.occultism.possess_unbound_otherworld_bird.interrupted", "Summoning of unbound drikwing interrupted."); + this.add("ritual.occultism.possess_unbound_parrot.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_unbound_parrot.started", "Started summoning unbound parrot."); + this.add("ritual.occultism.possess_unbound_parrot.finished", "Summoned unbound parrot successfully."); + this.add("ritual.occultism.possess_unbound_parrot.interrupted", "Summoning of unbound parrot interrupted."); + + this.add("ritual.occultism.possess_random_animal.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.possess_random_animal.started", "Started summoning a random animal."); + this.add("ritual.occultism.possess_random_animal.finished", "Summoned successfully."); + this.add("ritual.occultism.possess_random_animal.interrupted", "Summoning of random animal interrupted."); this.add("ritual.occultism.familiar_parrot.conditions", "Not all requirements for this ritual are met."); this.add("ritual.occultism.familiar_parrot.started", "Started summoning parrot familiar."); this.add("ritual.occultism.familiar_parrot.finished", "Summoned parrot familiar successfully."); this.add("ritual.occultism.familiar_parrot.interrupted", "Summoning of parrot familiar interrupted."); - this.add("ritual.occultism.summon_allay.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_allay.started", "Started purifying Vex to Allay."); - this.add("ritual.occultism.summon_allay.finished", "Purified Vex to Allay successfully."); - this.add("ritual.occultism.summon_allay.interrupted", "Purifying Vex to allay interrupted."); + this.add("ritual.occultism.resurrect_allay.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.resurrect_allay.started", "Started purifying Vex to Allay."); + this.add("ritual.occultism.resurrect_allay.finished", "Purified Vex to Allay successfully."); + this.add("ritual.occultism.resurrect_allay.interrupted", "Purifying Vex to allay interrupted."); this.add("ritual.occultism.familiar_greedy.conditions", "Not all requirements for this ritual are met."); this.add("ritual.occultism.familiar_greedy.started", "Started summoning greedy familiar."); this.add("ritual.occultism.familiar_greedy.finished", "Summoned v familiar successfully."); @@ -936,39 +1004,72 @@ private void addRitualMessages() { this.add("ritual.occultism.summon_demonic_husband.finished", "Summoned successfully."); this.add("ritual.occultism.summon_demonic_husband.interrupted", "Summoning interrupted."); - this.add("ritual.occultism.summon_wild_husk.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_husk.started", "Started summoning the wild horde husk."); - this.add("ritual.occultism.summon_wild_husk.finished", "Summoned the wild horde husk successfully."); - this.add("ritual.occultism.summon_wild_husk.interrupted", "Summoning of the wild horde husk interrupted."); - this.add("ritual.occultism.summon_wild_drowned.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_drowned.started", "Started summoning the wild horde drowned."); - this.add("ritual.occultism.summon_wild_drowned.finished", "Summoned the wild horde drowned successfully."); - this.add("ritual.occultism.summon_wild_drowned.interrupted", "Summoning of the wild horde drowned interrupted."); - this.add("ritual.occultism.summon_wild_creeper.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_creeper.started", "Started summoning the wild horde creeper."); - this.add("ritual.occultism.summon_wild_creeper.finished", "Summoned the wild horde creeper successfully."); - this.add("ritual.occultism.summon_wild_creeper.interrupted", "Summoning of the wild horde creeper interrupted."); - this.add("ritual.occultism.summon_wild_silverfish.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.summon_wild_silverfish.started", "Started summoning the wild horde silverfish."); - this.add("ritual.occultism.summon_wild_silverfish.finished", "Summoned the wild horde silverfish successfully."); - this.add("ritual.occultism.summon_wild_silverfish.interrupted", "Summoning of the wild horde silverfish interrupted."); - this.add("ritual.occultism.possess_weak_breeze.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.possess_weak_breeze.started", "Started summoning possessed weak breeze."); - this.add("ritual.occultism.possess_weak_breeze.finished", "Summoned possessed weak breeze successfully."); - this.add("ritual.occultism.possess_weak_breeze.interrupted", "Summoning of possessed weak breeze interrupted."); - this.add("ritual.occultism.possess_breeze.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.possess_breeze.started", "Started summoning possessed breeze."); - this.add("ritual.occultism.possess_breeze.finished", "Summoned possessed breeze successfully."); - this.add("ritual.occultism.possess_breeze.interrupted", "Summoning of possessed breeze interrupted."); - this.add("ritual.occultism.possess_strong_breeze.conditions", "Not all requirements for this ritual are met."); - this.add("ritual.occultism.possess_strong_breeze.started", "Started summoning possessed strong breeze."); - this.add("ritual.occultism.possess_strong_breeze.finished", "Summoned possessed strong breeze successfully."); - this.add("ritual.occultism.possess_strong_breeze.interrupted", "Summoning of possessed strong breeze interrupted."); + this.add("ritual.occultism.wild_husk.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_husk.started", "Started summoning the wild horde husk."); + this.add("ritual.occultism.wild_husk.finished", "Summoned the wild horde husk successfully."); + this.add("ritual.occultism.wild_husk.interrupted", "Summoning of the wild horde husk interrupted."); + this.add("ritual.occultism.wild_drowned.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_drowned.started", "Started summoning the wild horde drowned."); + this.add("ritual.occultism.wild_drowned.finished", "Summoned the wild horde drowned successfully."); + this.add("ritual.occultism.wild_drowned.interrupted", "Summoning of the wild horde drowned interrupted."); + this.add("ritual.occultism.wild_creeper.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_creeper.started", "Started summoning the wild horde creeper."); + this.add("ritual.occultism.wild_creeper.finished", "Summoned the wild horde creeper successfully."); + this.add("ritual.occultism.wild_creeper.interrupted", "Summoning of the wild horde creeper interrupted."); + this.add("ritual.occultism.wild_silverfish.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_silverfish.started", "Started summoning the wild horde silverfish."); + this.add("ritual.occultism.wild_silverfish.finished", "Summoned the wild horde silverfish successfully."); + this.add("ritual.occultism.wild_silverfish.interrupted", "Summoning of the wild horde silverfish interrupted."); + this.add("ritual.occultism.wild_weak_breeze.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_weak_breeze.started", "Started summoning wild weak breeze."); + this.add("ritual.occultism.wild_weak_breeze.finished", "Summoned wild weak breeze successfully."); + this.add("ritual.occultism.wild_weak_breeze.interrupted", "Summoning of wild weak breeze interrupted."); + this.add("ritual.occultism.wild_breeze.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_breeze.started", "Started summoning wild breeze."); + this.add("ritual.occultism.wild_breeze.finished", "Summoned wild breeze successfully."); + this.add("ritual.occultism.wild_breeze.interrupted", "Summoning of wild breeze interrupted."); + this.add("ritual.occultism.wild_strong_breeze.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.wild_strong_breeze.started", "Started summoning wild strong breeze."); + this.add("ritual.occultism.wild_strong_breeze.finished", "Summoned wild strong breeze successfully."); + this.add("ritual.occultism.wild_strong_breeze.interrupted", "Summoning of wild strong breeze interrupted."); this.add("ritual.occultism.summon_horde_illager.conditions", "Not all requirements for this ritual are met."); this.add("ritual.occultism.summon_horde_illager.started", "Started summoning the small illager invasion."); this.add("ritual.occultism.summon_horde_illager.finished", "Summoned the small illager invasion successfully."); this.add("ritual.occultism.summon_horde_illager.interrupted", "Summoning of the small illager invasion interrupted."); + this.add("ritual.occultism.craft_nature_paste.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.craft_nature_paste.started", "Started infusing Nature Paste."); + this.add("ritual.occultism.craft_nature_paste.finished", "Successfully infused Nature Paste."); + this.add("ritual.occultism.craft_nature_paste.interrupted", "Craft of Nature Paste interrupted."); + this.add("ritual.occultism.craft_gray_paste.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.craft_gray_paste.started", "Started infusing Gray Paste."); + this.add("ritual.occultism.craft_gray_paste.finished", "Successfully infused Gray Paste."); + this.add("ritual.occultism.craft_gray_paste.interrupted", "Craft of Gray Paste interrupted."); + this.add("ritual.occultism.craft_research_fragment_dust.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.craft_research_fragment_dust.started", "Started infusing Research Fragment Dust."); + this.add("ritual.occultism.craft_research_fragment_dust.finished", "Successfully infused Research Fragment Dust."); + this.add("ritual.occultism.craft_research_fragment_dust.interrupted", "Craft of Research Fragment Dust interrupted."); + this.add("ritual.occultism.craft_witherite_dust.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.craft_witherite_dust.started", "Started infusing Witherite."); + this.add("ritual.occultism.craft_witherite_dust.finished", "Successfully infused Witherite."); + this.add("ritual.occultism.craft_witherite_dust.interrupted", "Craft of Witherite interrupted."); + this.add("ritual.occultism.repair_chalks.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.repair_chalks.started", "Started repairing chalk."); + this.add("ritual.occultism.repair_chalks.finished", "Successfully repaired chalk."); + this.add("ritual.occultism.repair_chalks.interrupted", "Chalk repair interrupted."); + this.add("ritual.occultism.repair_tools.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.repair_tools.started", "Started repairing tool."); + this.add("ritual.occultism.repair_tools.finished", "Successfully repaired tool."); + this.add("ritual.occultism.repair_tools.interrupted", "Tool repair interrupted."); + this.add("ritual.occultism.repair_armors.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.repair_armors.started", "Started repairing armor."); + this.add("ritual.occultism.repair_armors.finished", "Successfully repaired armor."); + this.add("ritual.occultism.repair_armors.interrupted", "Armor repair interrupted."); + this.add("ritual.occultism.repair_miners.conditions", "Not all requirements for this ritual are met."); + this.add("ritual.occultism.repair_miners.started", "Started repairing miner."); + this.add("ritual.occultism.repair_miners.finished", "Successfully repaired miner."); + this.add("ritual.occultism.repair_miners.interrupted", "Miner repair interrupted."); + this.addRitualMessage(OccultismRituals.RESURRECT_FAMILIAR, "conditions", "Not all requirements for this ritual are met."); this.addRitualMessage(OccultismRituals.RESURRECT_FAMILIAR, "started", "Started resurrecting familiar."); this.addRitualMessage(OccultismRituals.RESURRECT_FAMILIAR, "finished", "Successfully resurrected familiar."); @@ -984,6 +1085,16 @@ private void addRitualMessages() { this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2, "started", "Started binding an afrit into a ritual satchel."); this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2, "finished", "Successfully bound an afrit into a ritual satchel."); this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2, "interrupted", "Binding of afrit interrupted."); + + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST, "conditions", "Not all requirements for this ritual are met."); + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST, "started", "Started forging budding amethyst."); + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST, "finished", "Successfully forged budding amethyst."); + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST, "interrupted", "Forging budding amethyst interrupted."); + + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE, "conditions", "Not all requirements for this ritual are met."); + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE, "started", "Started forging reinforced deepslate."); + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE, "finished", "Successfully forged reinforced deepslate."); + this.addRitualMessage(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE, "interrupted", "Forging reinforced deepslate interrupted."); } public void addRitualMessage(DeferredHolder ritual, String key, String message) { @@ -1000,7 +1111,6 @@ private void addBook() { var helper = ModonomiconAPI.get().getContextHelper(Occultism.MODID); helper.book("dictionary_of_spirits"); - this.addPentaclesCategory(helper); this.addRitualsCategory(helper); this.addSummoningRitualsCategory(helper); this.addCraftingRitualsCategory(helper); @@ -1009,579 +1119,6 @@ private void addBook() { this.addStorageCategory(helper); } - private void addPentaclesCategory(BookContextHelper helper) { - helper.category("pentacles"); - this.add(helper.categoryName(), "Pentacles"); - - helper.entry("pentacles_overview"); - this.add(helper.entryName(), "On Pentacles"); - - helper.page("intro1"); - this.add(helper.pageTitle(), "On Pentacles"); - this.add(helper.pageText(), - """ - The name [#](%1$s)Pentacle[#]() in this context refers to ritual drawings of any shape, not just five-pointed stars. \\ - \\ - Pentacles are used to summon and bind spirits from [#](%1$s)The Other Place[#](). - """.formatted(COLOR_PURPLE)); - - helper.page("intro2"); - this.add(helper.pageText(), - """ - They act both as a device to call on the entity, an amplifier for the summoner's commanding power - and as a protecting circle preventing attacks from within against the summoner. - """.formatted(COLOR_PURPLE)); - - helper.page("intro3"); - this.add(helper.pageText(), - """ - Each pentacle consists of a central golden sacrificial bowl, surrounding runes of various colors and occult paraphernalia that improve the intended effect in various ways. - """.formatted(COLOR_PURPLE)); - - - helper.page("intro4"); - this.add(helper.pageText(), - """ - The combination of chosen runes and supporting items as well as their exact spatial positioning determines the use and effectiveness of the pentacle. - \\ - \\ - Ingredients are placed in [#](%1$s)Sacrifical Bowls[#]() near the pentacle. - """.formatted(COLOR_PURPLE)); - - //exact copy found in first ritual entry - helper.page("bowl_placement"); - //no text - - //exact copy found in first ritual entry - helper.page("bowl_text"); - this.add(helper.pageText(), - """ - [Sacrificial Bowls](item://occultism:sacrificial_bowl) must be placed **anywhere** within 8 blocks horizontally of the central [](item://occultism:golden_sacrificial_bowl). The exact location does not matter. - \\ - \\ - Now it is time to place the ingredients you see on the next page in the (regular, not golden) sacrificial bowls. - """); - - helper.page("summoning_pentacles"); - this.add(helper.pageTitle(), "Summoning Pentacles"); - this.add(helper.pageText(), - """ - The purpose of this type of pentacle is to summon spirits in their chosen form into the world. Spirits summoned thus suffer from strong essence decay, and only very powerful spirits can remain for extended periods of time. - """); - - helper.page("infusion_pentacles"); - this.add(helper.pageTitle(), "Infusion Pentacles"); - this.add(helper.pageText(), - """ - Infusion pentacles allow the binding of spirits into objects. While the spirits suffer from essence decay in some cases, this can often be averted with the right pentacle setup, and by embedding crystals and precious metals into the object to support the spirit. - """); - - helper.page("possession_pentacles"); - this.add(helper.pageTitle(), "Possession Pentacles"); - this.add(helper.pageText(), - """ - These pentacles force spirits to possess a living being, which, depending on the ritual context, gives the summoner control over various aspects of that being, ranging from it's strength to it what it drops when killed, and in some cases even allows total control. - """); - - helper.entry("paraphernalia"); - this.add(helper.entryName(), "Occult Paraphernalia"); - - helper.page("intro"); - this.add(helper.pageTitle(), "Occult Paraphernalia"); - this.add(helper.pageText(), - """ - In addition to runes various occult paraphernalia are used to improve the intended effect of the pentacle. - """); - - helper.page("candle"); - this.add(helper.pageText(), - """ - Candles increase the stability of the pentacle, thus allowing a slowed essence decay of the summoned spirit, leading to a longer lifetime of the spirit, or possessed object or being. - """); - - helper.page("crystal"); - this.add(helper.pageText(), - """ - Crystals increase the binding power of the pentacle, allowing a permanent binding of the spirit into an item or living being. - """); - - helper.page("gem_recipe"); - //no text - - helper.page("crystal_recipe"); - //no text - - helper.page("skeleton_skull"); - this.add(helper.pageText(), - """ - Skulls increase the calling power of the pentacle, allowing to summon more dangerous spirits. - """); - - helper.entry("chalk_uses"); - this.add(helper.entryName(), "Chalk Types"); - - helper.page("intro"); - this.add(helper.pageTitle(), "Chalk Types"); - this.add(helper.pageText(), - """ - Chalk is used to draw pentacle runes and define the pentacle shape. Different types of chalk are used for different purposes, as outlined on the next pages. - \\ - \\ - The different runes are purely decorative. - """); - - helper.page("intro2"); - this.add(helper.pageText(), - """ - **Repeatedly** use chalk on a block to switch to a different rune. - \\ - \\ - Using a [](item://occultism:brush) is the easiest way to **remove** chalk runes that have been incorrectly placed. - """); - - helper.page("white_chalk"); - this.add(helper.pageText(), - """ - White chalk is the most basic type of ritual chalk and is found in most pentacles. It has no special power beyond defining the shape of the pentacle. - """); - - - helper.page("white_chalk_uses"); - this.add(helper.pageTitle(), "White Chalk Uses"); - this.add(helper.pageText(), - """ - - [Aviar's Circle](entry://occultism:dictionary_of_spirits/pentacles/summon_foliot) - - [Eziveus' Spectral Compulsion](entry://occultism:dictionary_of_spirits/pentacles/craft_foliot) - - [Hedyrin's Lure](entry://occultism:dictionary_of_spirits/pentacles/possess_foliot) - - [Ophyx' Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_djinni) - - [Strigeor's Higher Binding](entry://occultism:dictionary_of_spirits/pentacles/craft_djinni) - - [Ihagan's Enthrallment](entry://occultism:dictionary_of_spirits/pentacles/possess_djinni) - - [Abras' Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_afrit) - - [Sevira's Permanent Confinement](entry://occultism:dictionary_of_spirits/pentacles/craft_afrit) - - [Abras' Open Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_afrit) - """); - - helper.page("white_chalk_uses2"); - this.add(helper.pageTitle(), "White Chalk Uses"); - this.add(helper.pageText(), - """ - - [Uphyxes Inverted Tower](entry://occultism:dictionary_of_spirits/pentacles/craft_marid) - - [Osorin' Unbound Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_greater_spirit) - """); - - helper.page("golden_chalk"); - this.add(helper.pageText(), - """ - Yellow chalk is used for binding runes, which allow to infuse a spirit into an item, or make it possess a living being. - """); - - - helper.page("golden_chalk_uses"); - this.add(helper.pageTitle(), "Yellow Chalk Uses"); - this.add(helper.pageText(), - """ - - [Eziveus' Spectral Compulsion](entry://occultism:dictionary_of_spirits/pentacles/craft_foliot) - - [Hedyrin's Lure](entry://occultism:dictionary_of_spirits/pentacles/possess_foliot) - - [Strigeor's Higher Binding](entry://occultism:dictionary_of_spirits/pentacles/craft_djinni) - - [Ihagan's Enthrallment](entry://occultism:dictionary_of_spirits/pentacles/possess_djinni) - - [Sevira's Permanent Confinement](entry://occultism:dictionary_of_spirits/pentacles/craft_afrit) - - [Uphyxes Inverted Tower](entry://occultism:dictionary_of_spirits/pentacles/craft_marid) - """); - - helper.page("purple_chalk"); - this.add(helper.pageText(), - """ - Purple chalk is generally used to call on higher beings such as [#](%1$s)Djinn[#]() or [#](%1$s)Afrit[#](), but also slows essence decay of summoned spirits. - """.formatted(COLOR_PURPLE)); - - helper.page("purple_chalk_uses"); - this.add(helper.pageTitle(), "Purple Chalk Uses"); - this.add(helper.pageText(), - """ - - [Ophyx' Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_djinni) - - [Strigeor's Higher Binding](entry://occultism:dictionary_of_spirits/pentacles/craft_djinni) - - [Ihagan's Enthrallment](entry://occultism:dictionary_of_spirits/pentacles/possess_djinni) - - [Abras' Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_afrit) - - [Sevira's Permanent Confinement](entry://occultism:dictionary_of_spirits/pentacles/craft_afrit) - - [Abras' Open Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_afrit) - - [Osorin' Unbound Calling](entry://occultism:dictionary_of_spirits/pentacles/summon_wild_greater_spirit) - """); - - helper.page("red_chalk"); - this.add(helper.pageText(), - """ - Red chalk is used to call on the most powerful and dangerous beings, such as [#](%1$s)Marid[#](). - \\ - \\ - [Afrit Essence](entry://occultism:dictionary_of_spirits/summoning_rituals/afrit_essence) is required to craft red chalk. - """.formatted(COLOR_PURPLE)); - - helper.page("red_chalk_uses"); - this.add(helper.pageTitle(), "Red Chalk Uses"); - this.add(helper.pageText(), - """ - - [Abras' Conjure](entry://occultism:dictionary_of_spirits/pentacles/summon_afrit) - - [Uphyxes Inverted Tower](entry://occultism:dictionary_of_spirits/pentacles/craft_marid) - """); - - - helper.entry("summon_foliot"); - this.add(helper.entryName(), "Aviar's Circle"); - - helper.page("intro"); - this.add(helper.pageTitle(), "Aviar's Circle"); - this.add(helper.pageText(), - """ - **Purpose:** Summon a [#](%1$s)Foliot[#]() - \\ - \\ - Considered by most to be the simplest pentacle, [#](%1$s)Aviar's Circle[#]() is easy to set up, but provides only a minimum of binding power and protection for the summoner. - \\ - \\ - Only the weakest [#](%1$s)Foliot[#]() can be summoned in rituals using this pentacle. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Foliot Crusher](entry://summoning_rituals/summon_crusher_t1) - - [Foliot Lumberjack](entry://summoning_rituals/summon_lumberjack) - - [Foliot Transporter](entry://summoning_rituals/summon_transport_items) - - [Foliot Janitor](entry://summoning_rituals/summon_cleaner) - - [Otherstone Trader](entry://summoning_rituals/summon_otherstone_trader) - - [Otherworld Sapling Trader](entry://summoning_rituals/summon_otherworld_sapling_trader) - - [Resurrect Familiar](entry://familiar_rituals/resurrection) - - [Purify Vex to Allay](entry://familiar_rituals/summon_allay) - """); - - - helper.entry("summon_djinni"); - this.add(helper.entryName(), "Ophyx' Calling"); - - helper.page("intro"); - this.add(helper.pageTitle(), "Ophyx' Calling"); - //Add link rituals/possession/possess_skeleton instead of [Obtain here] - this.add(helper.pageText(), - """ - **Purpose:** Summon a [#](%1$s)Djinni[#]() - \\ - \\ - Developed by [#](%1$s)Ophyx[#]() during the Third Era, the [#](%1$s)Calling[#]() is the go-to pentacle for [#](%1$s)Djinni[#]() summonings ever since. Skeleton skulls ([Obtain here](entry://possession_rituals/possess_skeleton)) and [#](%1$s)Purple Chalk[#]() provide the calling power required to force Djinni into appearance and candles stabilize the ritual. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Djinni Machine Operator](entry://summoning_rituals/summon_manage_machine) - - [Djinni Crusher](entry://summoning_rituals/summon_crusher_t2) - - [Clear Weather](entry://summoning_rituals/weather_magic@clear) - - [Time Magic](entry://summoning_rituals/time_magic) - """.formatted(COLOR_PURPLE)); - - helper.entry("summon_afrit"); - this.add(helper.entryName(), "Abras' Conjure"); - helper.page("intro"); - this.add(helper.pageTitle(), "Abras' Conjure"); - this.add(helper.pageText(), - """ - **Purpose:** Summon an [#](%1$s)Afrit[#]() - \\ - \\ - **Abras' Conjure** is one of the few pentacles capable of (mostly) safely summoning an [#](%1$s)Afrit[#](). While the requirement of a wither skeleton skull makes it comparatively expensive, the additional calling potential is required to reach these high-power spirits. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Thunderstorm](entry://summoning_rituals/weather_magic@thunder) - - [Rainy Weather](entry://summoning_rituals/weather_magic@rain) - - [Afrit Crusher](entry://summoning_rituals/summon_crusher_t3) - """.formatted(COLOR_PURPLE)); - - helper.entry("summon_marid"); - this.add(helper.entryName(), "Fatma's Incentivized Attraction"); - helper.page("intro"); - this.add(helper.pageTitle(), "Fatma's Incentivized Attraction"); - this.add(helper.pageText(), - """ - **Purpose:** Summon a [#](%1$s)Marid[#]() - \\ - \\ - **Fatma's Incentivized Attraction** is a powerful pentacle, allowing to summon [#](%1$s)Marid[#]() and bind them to the summoner's will. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Marid Crusher](entry://summoning_rituals/summon_crusher_t4) - """.formatted(COLOR_PURPLE)); - - helper.entry("summon_wild_afrit"); - this.add(helper.entryName(), "Abras' Open Conjure"); - helper.page("intro"); - this.add(helper.pageTitle(), "Abras' Open Conjure"); - this.add(helper.pageText(), - """ - **Purpose:** Summon an unbound [#](%1$s)Afrit[#]() - \\ - \\ - **Abras' Open Conjure** is a simplified version of [#](%1$s)Abras' Conjure[#](), allowing to summon [#](%1$s)Afrit[#]() without red chalk. Due to the much reduced power of the pentacle, it cannot be used to control [#](%1$s)Afrit[#](), and it thus can only be used to fight and kill [#](%1$s)Afrit[#](). - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Afrit Essence](entry://summoning_rituals/afrit_essence) - """.formatted(COLOR_PURPLE)); - - helper.entry("summon_wild_greater_spirit"); - this.add(helper.entryName(), "Osorin's Unbound Calling"); - helper.page("intro"); - this.add(helper.pageTitle(), "Osorin's Unbound Calling"); - this.add(helper.pageText(), - """ - **Purpose:** Summon an unbound [#](%1$s)Greater Spirit[#]() - \\ - \\ - **Osorin's Unbound Calling** is based on [#](%1$s)Abras' Open Conjure[#](), but features none of the stabilizing paraphernalia. The pentacle offers no protection whatsoever to the summoner, but acts as an irresistible call to [#](%1$s)Greater Spirits[#](). - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Wither Skeleton Skull](entry://summoning_rituals/wither_skull) - - [Horde Husk](entry://possession_rituals/horde_husk) - - [Horde Drowned](entry://possession_rituals/horde_drowned) - - [Horde Creeper](entry://possession_rituals/horde_creeper) - - [Horde Silverfish](entry://possession_rituals/horde_silverfish) - - [Trial Key](entry://possession_rituals/possess_weak_breeze) - - [Ominous Trial Key](entry://possession_rituals/possess_breeze) - - [Heavy Core](entry://possession_rituals/possess_strong_breeze) - - [Small Illager Invasion](entry://possession_rituals/horde_illager) - """.formatted(COLOR_PURPLE)); - - helper.entry("possess_foliot"); - this.add(helper.entryName(), "Hedyrin's Lure"); - helper.page("intro"); - this.add(helper.pageTitle(), "Hedyrin's Lure"); - this.add(helper.pageText(), - """ - **Purpose:** Foliot Possession - \\ - \\ - **Hedyrin's Lure** attracts [#](%1$s)Foliot[#]() and forces them to possess a nearby creature. This pentacle does not lead to permanent imprisonment, the spirit and possessed creature will perish within a short period of time. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Possessed Endermite](entry://possession_rituals/possess_endermite) - - [Possessed Skeleton](entry://possession_rituals/possess_skeleton) - - [Possessed Phantom](entry://possession_rituals/possess_phantom) - - [Parrot Familiar](entry://familiar_rituals/familiar_parrot) - - [Greedy Familiar](entry://familiar_rituals/familiar_greedy) - - [Deer Familiar](entry://familiar_rituals/familiar_deer) - - [Blacksmith Familiar](entry://familiar_rituals/familiar_blacksmith) - - [Beaver Familiar](entry://familiar_rituals/familiar_beaver) - """.formatted(COLOR_PURPLE)); - - helper.entry("possess_djinni"); - this.add(helper.entryName(), "Ihagan's Enthrallment"); - helper.page("intro"); - this.add(helper.pageTitle(), "Ihagan's Enthrallment"); - this.add(helper.pageText(), - """ - **Purpose:** Djinni Possession - \\ - \\ - **Ihagan's Enthrallment** forces [#](%1$s)Djinn[#]() to possess a nearby creature. This pentacle does not lead to permanent imprisonment, the spirit and possessed creature will perish within a short period of time. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Possessed Enderman](entry://possession_rituals/possess_enderman) - - [Possessed Ghast](entry://possession_rituals/possess_ghast) - - [Possessed Weak Shulker](entry://possession_rituals/possess_weak_shulker) - - [Possessed Warden](entry://possession_rituals/possess_warden) - - [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird) - - [Bat Familiar](entry://familiar_rituals/familiar_bat) - - [Cthulhu Familiar](entry://familiar_rituals/familiar_cthulhu) - - [Devil Familiar](entry://familiar_rituals/familiar_devil) - - [Dragon Familiar](entry://familiar_rituals/familiar_dragon) - - [Headless Ratman Familiar](entry://familiar_rituals/familiar_headless) - - [Chimera Familiar](entry://familiar_rituals/familiar_chimera) - """.formatted(COLOR_PURPLE)); - - helper.page("uses2"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Beholder Familiar](entry://familiar_rituals/familiar_beholder) - - [Fairy Familiar](entry://familiar_rituals/familiar_fairy) - """.formatted(COLOR_PURPLE)); - - helper.entry("possess_afrit"); - this.add(helper.entryName(), "Abras' Commanding Conjure"); - helper.page("intro"); - this.add(helper.pageTitle(), "Abras' Commanding Conjure"); - this.add(helper.pageText(), - """ - **Purpose:** Afrit Possession - \\ - \\ - **Abras' Commanding Conjure** is a modified version of [#](%1$s)Abras' Conjure[#]() that allows possessing entities, and thus summoning familiars. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Guardian Familiar](entry://familiar_rituals/familiar_guardian) - - [Possessed Shulker](entry://possession_rituals/possess_shulker) - - [Possessed Elder Guardian](entry://possession_rituals/possess_elder_guardian) - - [Possessed Hoglin](entry://possession_rituals/possess_hoglin) - """.formatted(COLOR_PURPLE)); - - helper.entry("craft_foliot"); - this.add(helper.entryName(), "Eziveus' Spectral Compulsion"); - helper.page("intro"); - this.add(helper.pageTitle(), "Eziveus' Spectral Compulsion"); - this.add(helper.pageText(), - """ - **Purpose:** Bind Foliot - \\ - \\ - As a simple binding pentacle, **Eziveus' Spectral Compulsion** is a common starting point for object infusion with lower spirits. The enchantment is made permanent by stabilizing candles and spirit attuned crystals. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Infused Lenses](entry://crafting_rituals/craft_otherworld_goggles) - - [Surprisingsly Substantial Satchel](entry://crafting_rituals/craft_satchel) - - [Storage Actuator Base](entry://crafting_rituals/craft_storage_controller_base) - - [Stable Wormhole](entry://crafting_rituals/craft_stable_wormhole) - - [Storage Stabilizer Tier 1](entry://crafting_rituals/craft_stabilizer_tier1) - - [Foliot Miner](entry://crafting_rituals/craft_foliot_miner) - """.formatted(COLOR_PURPLE)); - - helper.entry("craft_djinni"); - this.add(helper.entryName(), "Strigeor's Higher Binding"); - helper.page("intro"); - this.add(helper.pageTitle(), "Strigeor's Higher Binding"); - this.add(helper.pageText(), - """ - **Purpose:** Bind Djinni - \\ - \\ - **Strigeor's Higher Binding** is a pentacle for binding [#](%1$s)Djinn[#]() into objects, should not be attempted by the novice summoner. Supported by spirit attuned crystals and stabilized by candles it is highly suitable for permanent infusions of objects with spirits. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Infused Pickaxe](entry://crafting_rituals/craft_infused_pickaxe) - - [Soul Gem](entry://crafting_rituals/craft_soul_gem) - - [Familiar Ring](entry://crafting_rituals/craft_familiar_ring) - - [Dimensional Matrix](entry://crafting_rituals/craft_dimensional_matrix) - - [Storage Accessor](entry://crafting_rituals/craft_storage_remote) - - [Storage Stabilizer Tier 2](entry://crafting_rituals/craft_stabilizer_tier2) - - [Dimensional Mineshaft](entry://crafting_rituals/craft_dimensional_mineshaft) - - [Djinni Ore Miner](entry://crafting_rituals/craft_djinni_miner) - """.formatted(COLOR_PURPLE)); - - helper.entry("craft_afrit"); - this.add(helper.entryName(), "Sevira's Permanent Confinement"); - helper.page("intro"); - this.add(helper.pageTitle(), "Sevira's Permanent Confinement"); - this.add(helper.pageText(), - """ - **Purpose:** Bind Afrit - \\ - \\ - First discovered by Grandmistress Sevira of Emberwoods, **Sevira's Permanent Confinement** is used for binding [#](%1$s)Afrit[#]() into objects. Due to the power of the spirits involved, this should be performed only by advanced summoners. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Storage Stabilizer Tier 3](entry://crafting_rituals/craft_stabilizer_tier3) - - [Afrit Deep Ore Miner](entry://crafting_rituals/craft_afrit_miner) - """.formatted(COLOR_PURPLE)); - - helper.entry("craft_marid"); - this.add(helper.entryName(), "Uphyxes Inverted Tower"); - helper.page("intro"); - this.add(helper.pageTitle(), "Uphyxes Inverted Tower"); - this.add(helper.pageText(), - """ - **Purpose:** Bind Marid - \\ - \\ - **Uphyxes Inverted Tower** is one of the few pentacles capable of binding [#](%1$s)Marid[#]() into objects. Any rituals involving [#](%1$s)Marid[#]() should be performed only by the most experienced summoners. - """.formatted(COLOR_PURPLE)); - - helper.page("multiblock"); - //no text - - helper.page("uses"); - this.add(helper.pageTitle(), "Uses"); - this.add(helper.pageText(), - """ - - [Storage Stabilizer Tier 4](entry://crafting_rituals/craft_stabilizer_tier4) - - [Marid Master Miner](entry://crafting_rituals/craft_marid_miner) - - [Wild Armor Trim Smithing Template](entry://crafting_rituals/craft_wild_trim) - """.formatted(COLOR_PURPLE)); - } - private void addRitualsCategory(BookContextHelper helper) { helper.category("rituals"); this.add(helper.categoryName(), "Rituals"); @@ -1819,51 +1356,6 @@ Please note that setting a new machine (or configuring it with the book of calli helper.page("ritual"); //no text - helper.entry("summon_wild_parrot"); - this.add(helper.entryName(), "Summon Wild Parrot"); - - helper.page("entity"); - this.add(helper.pageText(), - """ - **Provides**: A tameable Parrot - """); - - helper.page("ritual"); - //no text - - helper.page("description"); - this.add(helper.pageText(), - """ - In this ritual a [#](%1$s)Foliot[#]() is summoned **as an untamed spirit**. - \\ - \\ - The slaughter of a [#](%1$s)Chicken[#]() and the offering of dyes are intended to entice the Foliot to take the shape of a parrot. As [#](%1$s)Foliot[#]() are not among the smartest spirits, they sometimes misunderstand the instructions ... - """.formatted(COLOR_PURPLE)); - - helper.page("description2"); - this.add(helper.pageText(), - """ - *This means, if a [#](%1$s)Chicken[#]() is spawned, that's not a bug, just bad luck!* - """.formatted(COLOR_PURPLE)); - - helper.entry("summon_wild_otherworld_bird"); - this.add(helper.entryName(), "Summon Wild Drikwing"); - - helper.page("entity"); - this.add(helper.pageText(), - """ - **Provides**: A tameable Drikwing - """); - - helper.page("ritual"); - //no text - - helper.page("description"); - this.add(helper.pageText(), - """ - See [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird) for more information. - """); - helper.entry("weather_magic"); this.add(helper.entryName(), "Weather Magic"); @@ -1905,27 +1397,27 @@ Please note that setting a new machine (or configuring it with the book of calli helper.page("ritual_night"); //no text - helper.entry("wither_skull"); - this.add(helper.entryName(), "Wither Skeleton Skull"); + helper.entry("afrit_essence"); + this.add(helper.entryName(), "Afrit Essence"); helper.page("intro"); - this.add(helper.pageTitle(), "Wither Skeleton Skull"); + this.add(helper.pageTitle(), "Afrit Essence"); this.add(helper.pageText(), """ - Besides venturing into nether dungeons, there is one more way to get these skulls. The legendary [#](%1$s)Wild Hunt[#]() consists of [#](%1$s)Greater Spirits[#]() taking the form of wither skeletons. While summoning the Wild Hunt is incredibly dangerous, it is the fastest way to get wither skeleton skulls. + [](item://occultism:afrit_essence) is required to safely call on the more powerful spirits, commonly used in the form of red chalk. To obtain the essence, an [#](%1$s)Afrit[#]() needs to be summoned unbound into this plane, and killed. Be warned that this is no simple endeavour, and unbound spirit presents great danger to all nearby. """.formatted(COLOR_PURPLE)); helper.page("ritual"); //no text - helper.entry("afrit_essence"); - this.add(helper.entryName(), "Afrit Essence"); + helper.entry("marid_essence"); + this.add(helper.entryName(), "Marid Essence"); helper.page("intro"); - this.add(helper.pageTitle(), "Afrit Essence"); + this.add(helper.pageTitle(), "Marid Essence"); this.add(helper.pageText(), """ - [](item://occultism:afrit_essence) is required to safely call on the more powerful spirits, commonly used in the form of red chalk. To obtain the essence, an [#](%1$s)Afrit[#]() needs to be summoned unbound into this plane, and killed. Be warned that this is no simple endeavour, and unbound spirit presents great danger to all nearby. + [](item://occultism:marid_essence) is required to safely control the most powerful spirits, commonly used in the form of blue chalk. To obtain the essence, an [#](%1$s)Marid[#]() needs to be summoned unbound into this plane, and killed. Be warned that this is no simple endeavour, and unbound spirit presents great danger to all nearby. """.formatted(COLOR_PURPLE)); helper.page("ritual"); @@ -1970,6 +1462,19 @@ private void addPossessionRitualsCategory(BookContextHelper helper) { In this ritual an [#](%1$s)Enderman[#]() is spawned using the life energy of a [#](%1$s)Pig[#]() and immediately possessed by the summoned [#](%1$s)Djinni[#](). The [#](%1$s)Possessed Enderman[#]() will always drop at least one [](item://minecraft:ender_pearl) when killed. """.formatted(COLOR_PURPLE)); + helper.entry("wither_skull"); + this.add(helper.entryName(), "Wither Skeleton Skull"); + + helper.page("intro"); + this.add(helper.pageTitle(), "Wither Skeleton Skull"); + this.add(helper.pageText(), + """ + Besides venturing into nether dungeons, there is one more way to get these skulls. The legendary [#](%1$s)Wild Hunt[#]() consists of [#](%1$s)Greater Spirits[#]() taking the form of wither skeletons. While summoning the Wild Hunt is incredibly dangerous, it is the fastest way to get wither skeleton skulls. + """.formatted(COLOR_PURPLE)); + + helper.page("ritual"); + //no text + helper.entry("possess_endermite"); this.add(helper.entryName(), "Possessed Endermite"); @@ -2008,6 +1513,51 @@ private void addPossessionRitualsCategory(BookContextHelper helper) { """ In this ritual an [#](%1$s)Skeleton[#]() is spawned using the life energy of a [#](%1$s)Chicken[#]() and possessed by a [#](%1$s)Foliot[#](). The [#](%1$s)Possessed Skeleton[#]() will be immune to daylight and always drop at least one [](item://minecraft:skeleton_skull) when killed. """.formatted(COLOR_PURPLE)); + + helper.entry("possess_unbound_parrot"); + this.add(helper.entryName(), "Unbound Parrot"); + + helper.page("entity"); + this.add(helper.pageText(), + """ + **Provides**: A tameable Parrot + """); + + helper.page("ritual"); + //no text + + helper.page("description"); + this.add(helper.pageText(), + """ + In this ritual a [#](%1$s)Foliot[#]() is summoned **as an untamed spirit**. + \\ + \\ + The slaughter of a [#](%1$s)Chicken[#]() and the offering of dyes are intended to entice the Foliot to take the shape of a parrot. As [#](%1$s)Foliot[#]() are not among the smartest spirits, they sometimes misunderstand the instructions ... + """.formatted(COLOR_PURPLE)); + + helper.page("description2"); + this.add(helper.pageText(), + """ + *This means, if a [#](%1$s)Chicken[#]() is spawned, that's not a bug, just bad luck!* + """.formatted(COLOR_PURPLE)); + + helper.entry("possess_unbound_otherworld_bird"); + this.add(helper.entryName(), "Unbound Drikwing"); + + helper.page("entity"); + this.add(helper.pageText(), + """ + **Provides**: A tameable Drikwing + """); + + helper.page("ritual"); + //no text + + helper.page("description"); + this.add(helper.pageText(), + """ + See [Drikwing Familiar](entry://familiar_rituals/familiar_otherworld_bird) for more information. + """); } private void addCraftingRitualsCategory(BookContextHelper helper) { @@ -2284,6 +1834,18 @@ private void addCraftingRitualsCategory(BookContextHelper helper) { helper.page("ritual"); //no text + helper.entry("craft_ancient_miner"); + this.add(helper.entryName(), "Ancient Miner"); + + helper.page("spotlight"); + this.add(helper.pageText(), + """ + By compressing MMM you get an extremely powerful miner, but something starts watching you. [](item://occultism:mining_dim_core) are a extremely rarely mined by a Marid. + """.formatted(COLOR_PURPLE)); + + helper.page("ritual"); + //no text + helper.entry("craft_satchel"); this.add(helper.entryName(), "Surprisingly Substantial Satchel"); @@ -2341,16 +1903,61 @@ private void addCraftingRitualsCategory(BookContextHelper helper) { helper.page("ritual"); //no text + helper.entry("craft_wild_trim"); this.add(helper.entryName(), "Forge Wild Trim"); helper.page("spotlight"); this.add(helper.pageText(), """ - Unlike other rituals, creating a [](item://minecraft:wild_armor_trim_smithing_template) is a service provided by a Marid that is not bound to the final object. You sacrifice the items and the Marid uses his power to forge that item for you. + Unlike other rituals, creating a [](item://minecraft:wild_armor_trim_smithing_template) is a service provided by Wild Spirits and not bound any spirit to the final object. You sacrifice the items and the Wild Spirits uses his power to forge that item for you. + """.formatted(COLOR_PURPLE)); + + helper.page("ritual"); + //no text + + helper.entry("craft_budding_amethyst"); + this.add(helper.entryName(), "Forge Budding Amethyst"); + + helper.page("spotlight"); + this.add(helper.pageText(), + """ + Unlike other rituals, creating a [](item://minecraft:budding_amethyst) is a service provided by Wild Spirits and not bound any spirit to the final object. You sacrifice the items and the Wild Spirits uses his power to forge that item for you. """.formatted(COLOR_PURPLE)); helper.page("ritual"); + //no text + + helper.entry("craft_reinforced_deepslate"); + this.add(helper.entryName(), "Forge Reinforced Deepslate"); + + helper.page("spotlight"); + this.add(helper.pageText(), + """ + Unlike other rituals, creating a [](item://minecraft:reinforced deepslate) is a service provided by Ancient Spirits and not bound any spirit to the final object. You sacrifice the items and the Ancient Spirits uses his power to forge that item for you. + """.formatted(COLOR_PURPLE)); + + helper.page("ritual"); + //no text + + helper.entry("repair"); + this.add(helper.entryName(), "Repair Rituals"); + + helper.page("spotlight"); + this.add(helper.pageTitle(), "Repairing"); + this.add(helper.pageText(), + """ + With simple materials, a Djinni can repair any chalk for you. By evolving in the occult path, an Afrit can repair miners, tools and armors. Any item repaired in this way retains its properties. + """.formatted(COLOR_PURPLE)); + + helper.page("ritual_chalks"); + //no text + helper.page("ritual_miners"); + //no text + helper.page("ritual_tools"); + //no text + helper.page("ritual_armors"); + //no text } private void addFamiliarRitualsCategory(BookContextHelper helper) { @@ -2769,7 +2376,7 @@ When upgraded by a blacksmith familiar, it regains a limb (can only be done once helper.page("description2"); this.add(helper.pageText(), """ - To obtain the parrot or parrot familiar for the sacrifice, consider summoning them using either the [Wild Parrot Ritual](entry://summoning_rituals/summon_wild_parrot) or [Parrot Familiar Ritual](entry://familiar_rituals/familiar_parrot) + To obtain the parrot or parrot familiar for the sacrifice, consider summoning them using either the [Wild Parrot Ritual](entry://possession_rituals/possess_unbound_parrot) or [Parrot Familiar Ritual](entry://familiar_rituals/familiar_parrot) \\ \\ **Hint:** If you use mods that protect pets from death, use the wild parrot ritual! @@ -2808,7 +2415,7 @@ When upgraded by a blacksmith familiar, it regains a limb (can only be done once """.formatted(COLOR_PURPLE)); //no text - helper.entry("summon_allay"); + helper.entry("resurrect_allay"); this.add(helper.entryName(), "Purify Vex to Allay"); helper.page("entity"); @@ -3024,6 +2631,40 @@ private void addAdvancements() { this.advancementDescr("familiar.mummy_dodge", "Dodge an attack with the Mummy familiar dodge effect"); this.advancementTitle("familiar.beaver_woodchop", "Woodchopper"); this.advancementDescr("familiar.beaver_woodchop", "Let your Beaver familiar chop down a tree"); + this.advancementTitle("chalks.root", "Occultism: Chalks"); + this.advancementDescr("chalks.root", "Colorful"); + this.advancementTitle("chalks.white", "White Chalk"); + this.advancementDescr("chalks.white", "First Foundation"); + this.advancementTitle("chalks.light_gray", "Light Gray Chalk"); + this.advancementDescr("chalks.light_gray", "Second Foundation"); + this.advancementTitle("chalks.gray", "Gray Chalk"); + this.advancementDescr("chalks.gray", "Third Foundation"); + this.advancementTitle("chalks.black", "Black Chalk"); + this.advancementDescr("chalks.black", "Fourth Foundation"); + this.advancementTitle("chalks.brown", "Brown Chalk"); + this.advancementDescr("chalks.brown", "Bait for what?"); + this.advancementTitle("chalks.red", "Red Chalk"); + this.advancementDescr("chalks.red", "Third Tier!"); + this.advancementTitle("chalks.orange", "Orange Chalk"); + this.advancementDescr("chalks.orange", "Third Tier?"); + this.advancementTitle("chalks.yellow", "Yellow Chalk"); + this.advancementDescr("chalks.yellow", "Possession"); + this.advancementTitle("chalks.lime", "Lime Chalk"); + this.advancementDescr("chalks.lime", "Second Tier"); + this.advancementTitle("chalks.green", "Green Chalk"); + this.advancementDescr("chalks.green", "Wild Attraction"); + this.advancementTitle("chalks.cyan", "Cyan Chalk"); + this.advancementDescr("chalks.cyan", "Ancient Knowledge"); + this.advancementTitle("chalks.light_blue", "Light Blue Chalk"); + this.advancementDescr("chalks.light_blue", "Wild Stabilizer"); + this.advancementTitle("chalks.blue", "Blue Chalk"); + this.advancementDescr("chalks.blue", "Fourth Tier"); + this.advancementTitle("chalks.purple", "Purple Chalk"); + this.advancementDescr("chalks.purple", "Infusion"); + this.advancementTitle("chalks.magenta", "Magenta Chalk"); + this.advancementDescr("chalks.magenta", "Dragon Power"); + this.advancementTitle("chalks.pink", "Pink Chalk"); + this.advancementDescr("chalks.pink", "Wild Power"); } private void addKeybinds() { @@ -3128,19 +2769,24 @@ private void addFamiliarSettingsMessages() { private void addPentacles() { this.addPentacle("otherworld_bird", "Otherworld Bird"); - this.addPentacle("craft_afrit", "Sevira's Permanent Confinement"); - this.addPentacle("craft_djinni", "Strigeor's Higher Binding"); - this.addPentacle("craft_foliot", "Eziveus' Spectral Compulsion"); - this.addPentacle("craft_marid", "Uphyxes Inverted Tower"); - this.addPentacle("possess_afrit", "Abras' Commanding Conjure"); - this.addPentacle("possess_djinni", "Ihagan's Enthrallment"); - this.addPentacle("possess_foliot", "Hedyrin's Lure"); - this.addPentacle("summon_afrit", "Abras' Conjure"); - this.addPentacle("summon_djinni", "Ophyx' Calling"); this.addPentacle("summon_foliot", "Aviar's Circle"); - this.addPentacle("summon_wild_afrit", "Abras' Open Conjure"); + this.addPentacle("summon_djinni", "Ophyx' Calling"); + this.addPentacle("summon_unbound_afrit", "Abras' Open Conjure"); + this.addPentacle("summon_afrit", "Abras' Conjure"); + this.addPentacle("summon_unbound_marid", "Abras' Fortified Conjure"); this.addPentacle("summon_marid", "Fatma's Incentivized Attraction"); - this.addPentacle("summon_wild_greater_spirit", "Osorin's Unbound Calling"); + this.addPentacle("possess_foliot", "Hedyrin's Lure"); + this.addPentacle("possess_djinni", "Ihagan's Enthrallment"); + this.addPentacle("possess_unbound_afrit", "Abras' Open Commanding Conjure"); + this.addPentacle("possess_afrit", "Abras' Commanding Conjure"); + this.addPentacle("possess_marid", "Xeovrenth Adjure"); + this.addPentacle("craft_foliot", "Eziveus' Spectral Compulsion"); + this.addPentacle("craft_djinni", "Strigeor's Higher Binding"); + this.addPentacle("craft_afrit", "Sevira's Permanent Confinement"); + this.addPentacle("craft_marid", "Uphyxes Inverted Tower"); + this.addPentacle("resurrect_spirit", "Susje's Simple Circle"); + this.addPentacle("contact_wild_spirit", "Osorin's Wild Calling"); + this.addPentacle("contact_eldritch_spirit", "Ronaza's Contact"); } private void addPentacle(String id, String name) { @@ -3148,10 +2794,16 @@ private void addPentacle(String id, String name) { } private void addRitualDummies() { - this.add("item.occultism.ritual_dummy.custom_ritual", "Custom Ritual Dummy"); - this.add("item.occultism.ritual_dummy.custom_ritual.tooltip", "Used for modpacks as a fallback for custom rituals that do not have their own ritual item."); + this.add("item.occultism.ritual_dummy.custom_ritual_summon", "Custom Ritual Dummy"); + this.add("item.occultism.ritual_dummy.custom_ritual_summon.tooltip", "Used for modpacks as a fallback for custom rituals that do not have their own ritual item."); + this.add("item.occultism.ritual_dummy.custom_ritual_possess", "Custom Ritual Dummy"); + this.add("item.occultism.ritual_dummy.custom_ritual_possess.tooltip", "Used for modpacks as a fallback for custom rituals that do not have their own ritual item."); + this.add("item.occultism.ritual_dummy.custom_ritual_craft", "Custom Ritual Dummy"); + this.add("item.occultism.ritual_dummy.custom_ritual_craft.tooltip", "Used for modpacks as a fallback for custom rituals that do not have their own ritual item."); + this.add("item.occultism.ritual_dummy.custom_ritual_misc", "Custom Ritual Dummy"); + this.add("item.occultism.ritual_dummy.custom_ritual_misc.tooltip", "Used for modpacks as a fallback for custom rituals that do not have their own ritual item."); this.add("item.occultism.ritual_dummy.craft_wild_trim", "Ritual: Forge Wild Armor Trim Smithing Template"); - this.add("item.occultism.ritual_dummy.craft_wild_trim.tooltip", "Marid will forge a Wild Armor Trim Smithing Template."); + this.add("item.occultism.ritual_dummy.craft_wild_trim.tooltip", "Wild Spirits will forge a Wild Armor Trim Smithing Template."); this.add("item.occultism.ritual_dummy.craft_dimensional_matrix", "Ritual: Craft Dimensional Matrix"); this.add("item.occultism.ritual_dummy.craft_dimensional_matrix.tooltip", "The dimensional matrix is the entry point to a small dimension used for storing items."); this.add("item.occultism.ritual_dummy.craft_dimensional_mineshaft", "Ritual: Craft Dimensional Mineshaft"); @@ -3169,6 +2821,8 @@ private void addRitualDummies() { this.add("item.occultism.ritual_dummy.craft_miner_afrit_deeps.tooltip", "Summon Afrit Deep Ore Miner into a magic lamp."); this.add("item.occultism.ritual_dummy.craft_miner_marid_master", "Ritual: Summon Marid Master Miner"); this.add("item.occultism.ritual_dummy.craft_miner_marid_master.tooltip", "Summon Marid Master Miner into a magic lamp."); + this.add("item.occultism.ritual_dummy.craft_miner_ancient_eldritch", "Ritual: Summon Eldritch Ancient Miner"); + this.add("item.occultism.ritual_dummy.craft_miner_ancient_eldritch.tooltip", "Summon Eldritch Ancient Miner into a magic lamp."); this.add("item.occultism.ritual_dummy.craft_satchel", "Ritual: Craft Surprisingly Substantial Satchel"); this.add("item.occultism.ritual_dummy.craft_satchel.tooltip", "This satchels allows to store more items than it's size would indicate, making it a practical traveller's companion."); @@ -3242,6 +2896,14 @@ private void addRitualDummies() { this.add("item.occultism.ritual_dummy.possess_warden.tooltip", "The possessed Warden will always drop at least six echo shard and can drop anothers ancient stuff (smithing templates and discs) when killed."); this.add("item.occultism.ritual_dummy.possess_hoglin", "Ritual: Summon Possessed Hoglin"); this.add("item.occultism.ritual_dummy.possess_hoglin.tooltip", "The possessed Hoglin has a chance to drop smithing template of netherite upgrade when killed."); + this.add("item.occultism.ritual_dummy.possess_witch", "Ritual: Summon Possessed Witch"); + this.add("item.occultism.ritual_dummy.possess_witch.tooltip", "The possessed Witch will drop a special filled bottle."); + this.add("item.occultism.ritual_dummy.possess_zombie_piglin", "Ritual: Summon Possessed Zombie Piglin"); + this.add("item.occultism.ritual_dummy.possess_zombie_piglin.tooltip", "The possessed Zombie Piglin will drop demonic meat."); + this.add("item.occultism.ritual_dummy.possess_bee", "Ritual: Summon Possessed Bee"); + this.add("item.occultism.ritual_dummy.possess_bee.tooltip", "The possessed Bee will drop cursed honey."); + this.add("item.occultism.ritual_dummy.possess_goat", "Ritual: Summon Goat of Mercy"); + this.add("item.occultism.ritual_dummy.possess_goat.tooltip", "The Goat of Mercy will drop the Cruelty Essence."); this.add("item.occultism.ritual_dummy.summon_afrit_rain_weather", "Ritual: Rainy Weather"); this.add("item.occultism.ritual_dummy.summon_afrit_rain_weather.tooltip", "Summons an bound Afrit that creates rain."); this.add("item.occultism.ritual_dummy.summon_afrit_thunder_weather", "Ritual: Thunderstorm"); @@ -3272,33 +2934,56 @@ private void addRitualDummies() { this.add("item.occultism.ritual_dummy.summon_foliot_transport_items.tooltip", "The transporter will move all items it can access from one inventory to another, including machines."); this.add("item.occultism.ritual_dummy.summon_foliot_cleaner", "Ritual: Summon Foliot Janitor"); this.add("item.occultism.ritual_dummy.summon_foliot_cleaner.tooltip", "The janitor will pick up dropped items and deposit them into a target inventory."); - this.add("item.occultism.ritual_dummy.summon_wild_afrit", "Ritual: Summon Unbound Afrit"); - this.add("item.occultism.ritual_dummy.summon_wild_afrit.tooltip", "Summons an unbound Afrit that can be killed to obtain Afrit Essence"); - this.add("item.occultism.ritual_dummy.summon_wild_hunt", "Ritual: Summon The Wild Hunt"); - this.add("item.occultism.ritual_dummy.summon_wild_hunt.tooltip", "The Wild Hunt consists of Wither Skeletons that as a big chance to drop Wither Skeleton Skulls, and their minions."); - this.add("item.occultism.ritual_dummy.summon_wild_otherworld_bird", "Ritual: Summon Wild Drikwing"); - this.add("item.occultism.ritual_dummy.summon_wild_otherworld_bird.tooltip", "Summons a Drikwing Familiar that can be tamed by anyone, not just the summoner."); - this.add("item.occultism.ritual_dummy.summon_wild_parrot", "Ritual: Summon Wild Parrot"); - this.add("item.occultism.ritual_dummy.summon_wild_parrot.tooltip", "Summons a Parrot that can be tamed by anyone, not just the summoner."); - this.add("item.occultism.ritual_dummy.summon_allay", "Ritual: Purify Vex to Allay"); - this.add("item.occultism.ritual_dummy.summon_allay.tooltip", "Purify a Vex to a Allay on a resurrection process."); - - this.add("item.occultism.ritual_dummy.summon_wild_husk", "Ritual: Summon The Wild Horde Husk"); - this.add("item.occultism.ritual_dummy.summon_wild_husk.tooltip", "The Wild Horde Husk consists of a few Husks that drop items related to desert trails."); - this.add("item.occultism.ritual_dummy.summon_wild_drowned", "Ritual: Summon The Wild Horde Drowned"); - this.add("item.occultism.ritual_dummy.summon_wild_drowned.tooltip", "The Wild Horde Drowned consists of a few Drowneds that drop items related to ocean trails."); - this.add("item.occultism.ritual_dummy.summon_wild_creeper", "Ritual: Summon The Wild Horde Creeper"); - this.add("item.occultism.ritual_dummy.summon_wild_creeper.tooltip", "The Wild Horde Creeper consists of a few charged Creepers that drop many disks."); - this.add("item.occultism.ritual_dummy.summon_wild_silverfish", "Ritual: Summon The Wild Horde Silverfish"); - this.add("item.occultism.ritual_dummy.summon_wild_silverfish.tooltip", "The Wild Horde Silverfish consists of a few Silverfishs that drop items related to ruins trails."); - this.add("item.occultism.ritual_dummy.possess_weak_breeze", "Ritual: Summon Possessed Weak Breeze"); - this.add("item.occultism.ritual_dummy.possess_weak_breeze.tooltip", "The possessed Weak Breeze will drop a Trial Key and trial chamber related items."); - this.add("item.occultism.ritual_dummy.possess_breeze", "Ritual: Summon Possessed Breeze"); - this.add("item.occultism.ritual_dummy.possess_breeze.tooltip", "The possessed Breeze will drop a Ominous Trial Key and trial chamber related items."); - this.add("item.occultism.ritual_dummy.possess_strong_breeze", "Ritual: Summon Possessed Strong Breeze"); - this.add("item.occultism.ritual_dummy.possess_strong_breeze.tooltip", "The possessed Strong Breeze will drop a Heavy Core and trial chamber related items."); - this.add("item.occultism.ritual_dummy.summon_horde_illager", "Ritual: Summon Possessed Evoker"); - this.add("item.occultism.ritual_dummy.summon_horde_illager.tooltip", "Summon a possessed Evoker and his henchmen."); + this.add("item.occultism.ritual_dummy.summon_unbound_afrit", "Ritual: Summon Unbound Afrit"); + this.add("item.occultism.ritual_dummy.summon_unbound_afrit.tooltip", "Summons an unbound Afrit that can be killed to obtain Afrit Essence"); + this.add("item.occultism.ritual_dummy.summon_unbound_marid", "Ritual: Summon Unbound Marid"); + this.add("item.occultism.ritual_dummy.summon_unbound_marid.tooltip", "Summons an unbound Marid that can be killed to obtain Marid Essence"); + this.add("item.occultism.ritual_dummy.wild_hunt", "Ritual: Summon The Wild Hunt"); + this.add("item.occultism.ritual_dummy.wild_hunt.tooltip", "The Wild Hunt consists of Wither Skeletons that as a big chance to drop Wither Skeleton Skulls, and their minions."); + this.add("item.occultism.ritual_dummy.possess_unbound_otherworld_bird", "Ritual: Possess Unbound Drikwing"); + this.add("item.occultism.ritual_dummy.possess_unbound_otherworld_bird.tooltip", "Possess a Drikwing Familiar that can be tamed by anyone, not just the summoner."); + this.add("item.occultism.ritual_dummy.possess_unbound_parrot", "Ritual: Possess Unbound Parrot"); + this.add("item.occultism.ritual_dummy.possess_unbound_parrot.tooltip", "Possess a Parrot that can be tamed by anyone, not just the summoner."); + this.add("item.occultism.ritual_dummy.resurrect_allay", "Ritual: Purify Vex to Allay"); + this.add("item.occultism.ritual_dummy.resurrect_allay.tooltip", "Purify a Vex to a Allay on a resurrection process."); + + this.add("item.occultism.ritual_dummy.wild_husk", "Ritual: Summon The Wild Horde Husk"); + this.add("item.occultism.ritual_dummy.wild_husk.tooltip", "The Wild Horde Husk consists of a few Husks that drop items related to desert trails."); + this.add("item.occultism.ritual_dummy.wild_drowned", "Ritual: Summon The Wild Horde Drowned"); + this.add("item.occultism.ritual_dummy.wild_drowned.tooltip", "The Wild Horde Drowned consists of a few Drowneds that drop items related to ocean trails."); + this.add("item.occultism.ritual_dummy.wild_creeper", "Ritual: Summon The Wild Horde Creeper"); + this.add("item.occultism.ritual_dummy.wild_creeper.tooltip", "The Wild Horde Creeper consists of a few charged Creepers that drop many disks."); + this.add("item.occultism.ritual_dummy.wild_silverfish", "Ritual: Summon The Wild Horde Silverfish"); + this.add("item.occultism.ritual_dummy.wild_silverfish.tooltip", "The Wild Horde Silverfish consists of a few Silverfishs that drop items related to ruins trails."); + this.add("item.occultism.ritual_dummy.wild_weak_breeze", "Ritual: Summon Possessed Weak Breeze"); + this.add("item.occultism.ritual_dummy.wild_weak_breeze.tooltip", "The possessed Weak Breeze will drop a Trial Key and trial chamber related items."); + this.add("item.occultism.ritual_dummy.wild_breeze", "Ritual: Summon Possessed Breeze"); + this.add("item.occultism.ritual_dummy.wild_breeze.tooltip", "The possessed Breeze will drop a Ominous Trial Key and trial chamber related items."); + this.add("item.occultism.ritual_dummy.wild_strong_breeze", "Ritual: Summon Possessed Strong Breeze"); + this.add("item.occultism.ritual_dummy.wild_strong_breeze.tooltip", "The possessed Strong Breeze will drop a Heavy Core and trial chamber related items."); + this.add("item.occultism.ritual_dummy.wild_horde_illager", "Ritual: Summon Possessed Evoker"); + this.add("item.occultism.ritual_dummy.wild_horde_illager.tooltip", "Summon a possessed Evoker and his henchmen."); + + this.add("item.occultism.ritual_dummy.craft_nature_paste", "Ritual: Craft Nature Paste"); + this.add("item.occultism.ritual_dummy.craft_nature_paste.tooltip", "A foliot will craft the nature paste mixing ingredients."); + this.add("item.occultism.ritual_dummy.craft_gray_paste", "Ritual: Craft Gray Paste"); + this.add("item.occultism.ritual_dummy.craft_gray_paste.tooltip", "A djinni will craft the gray paste mixing ingredients."); + this.add("item.occultism.ritual_dummy.craft_research_fragment_dust", "Ritual: Craft Research Fragment Dust"); + this.add("item.occultism.ritual_dummy.craft_research_fragment_dust.tooltip", "A foliot will infuse experience in the emerald dust."); + this.add("item.occultism.ritual_dummy.craft_witherite_dust", "Ritual: Craft Witherite Dust"); + this.add("item.occultism.ritual_dummy.craft_witherite_dust.tooltip", "A afrit will infuse wither essence in the netherite dust."); + this.add("item.occultism.ritual_dummy.craft_dragonyst_dust", "Ritual: Craft Dragonyst Dust"); + this.add("item.occultism.ritual_dummy.craft_dragonyst_dust.tooltip", "A marid will infuse ender dragon essence in the amethyst dust."); + + + this.add("item.occultism.ritual_dummy.repair_chalks", "Ritual: Repair Chalk"); + this.add("item.occultism.ritual_dummy.repair_chalks.tooltip", "A djinni will repair your chalk."); + this.add("item.occultism.ritual_dummy.repair_tools", "Ritual: Repair Tool"); + this.add("item.occultism.ritual_dummy.repair_tools.tooltip", "A afrit will repair your tool."); + this.add("item.occultism.ritual_dummy.repair_armors", "Ritual: Repair Armor"); + this.add("item.occultism.ritual_dummy.repair_armors.tooltip", "A afrit will repair your armor."); + this.add("item.occultism.ritual_dummy.repair_miners", "Ritual: Repair Miner"); + this.add("item.occultism.ritual_dummy.repair_miners.tooltip", "A afrit will extend your miner contract."); this.add(OccultismItems.RITUAL_DUMMY_SUMMON_DEMONIC_WIFE.get(), "Ritual: Summon Demonic Wife"); this.addTooltip(OccultismItems.RITUAL_DUMMY_SUMMON_DEMONIC_WIFE.get(), "Summons a Demonic Wife to support you: She will fight for you, help with cooking, and extend potion durations."); @@ -3310,14 +2995,21 @@ private void addRitualDummies() { this.add(OccultismItems.RITUAL_DUMMY_RESURRECT_FAMILIAR.get(), "Ritual: Resurrect Familiar"); this.addTooltip(OccultismItems.RITUAL_DUMMY_RESURRECT_FAMILIAR.get(), "Resurrects a Familiar from a Soul Shard."); - this.add(OccultismItems.RITUAL_DUMMY_SUMMON_RANDOM_ANIMAL.get(), "Ritual: Summon Random Animal"); - this.addTooltip(OccultismItems.RITUAL_DUMMY_SUMMON_RANDOM_ANIMAL.get(), "Summons a random passive animal."); + this.add(OccultismItems.RITUAL_DUMMY_POSSESS_RANDOM_ANIMAL.get(), "Ritual: Summon Random Animal"); + this.addTooltip(OccultismItems.RITUAL_DUMMY_POSSESS_RANDOM_ANIMAL.get(), "Summons a random passive animal."); this.add(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T1.get(), "Ritual: Craft Apprentice Ritual Satchel"); this.addTooltip(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T1.get(), "Binds a Djinni into a satchel to build pentacles step-by-step for the summoner."); this.add(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2.get(), "Ritual: Craft Artisanal Ritual Satchel"); this.addTooltip(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2.get(), "Binds an Afrit into a satchel to build pentacles all at once for the summoner."); + + this.add(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST.get(), "Ritual: Forge Budding Amethyst"); + this.addTooltip(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST.get(), "Wild Spirits will forge a Budding Amethyst."); + + this.add(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE.get(), "Ritual: Forge Reinforced Deepslate"); + this.addTooltip(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE.get(), "Ancient Spirits will forge a Reinforced Deepslate."); + } public void addTooltip(ItemLike key, String value) { @@ -3354,6 +3046,7 @@ private void advancementDescr(String name, String s) { private void addTags() { // Block tags this.addBlockTag(OccultismTags.Blocks.OTHERWORLD_SAPLINGS, "Otherworld Saplings"); + this.addBlockTag(OccultismTags.Blocks.OTHERWORLD_SAPLINGS_NATURAL, "Otherworld Saplings_NATURAL"); this.addBlockTag(OccultismTags.Blocks.CANDLES, "Candles"); this.addBlockTag(OccultismTags.Blocks.CAVE_WALL_BLOCKS, "Cave Wall Blocks"); this.addBlockTag(OccultismTags.Blocks.NETHERRACK, "Netherrack"); @@ -3370,12 +3063,14 @@ private void addTags() { // Item tags this.addItemTag(OccultismTags.Items.OTHERWORLD_SAPLINGS, "Otherworld Saplings"); + this.addItemTag(OccultismTags.Items.OTHERWORLD_SAPLINGS_NATURAL, "Otherworld Saplings Natural"); this.addItemTag(OccultismTags.Items.BOOK_OF_CALLING_DJINNI, "Book of Calling Djinni"); this.addItemTag(OccultismTags.Items.BOOK_OF_CALLING_FOLIOT, "Book of Calling Foliot"); this.addItemTag(OccultismTags.Items.BOOKS_OF_BINDING, "Books of Binding"); this.addItemTag(OccultismTags.Items.Miners.BASIC_RESOURCES, "Basic Resource Miners"); this.addItemTag(OccultismTags.Items.Miners.DEEPS, "Deepslate Miners"); this.addItemTag(OccultismTags.Items.Miners.MASTER, "Rare Resource Miners"); + this.addItemTag(OccultismTags.Items.Miners.ELDRITCH, "Eldritch Miners"); this.addItemTag(OccultismTags.Items.Miners.ORES, "General Miners"); this.addItemTag(OccultismTags.Items.ELYTRA, "Elytras"); this.addItemTag(OccultismTags.Items.OTHERWORLD_GOGGLES, "Otherworld Goggles"); @@ -3405,7 +3100,25 @@ private void addTags() { this.addItemTag(OccultismTags.Items.MAGMA, "Magma"); this.addItemTag(OccultismTags.Items.BOOKS, "Books"); this.addItemTag(OccultismTags.Items.FRUITS, "Fruits"); - + this.addItemTag(OccultismTags.Items.AMETHYST_DUST,"Amethyst Dust"); + this.addItemTag(OccultismTags.Items.BLACKSTONE_DUST,"Blackstone Dust"); + this.addItemTag(OccultismTags.Items.BLUE_ICE_DUST,"Blue Ice Dust"); + this.addItemTag(OccultismTags.Items.CALCITE_DUST,"Calcite Dust"); + this.addItemTag(OccultismTags.Items.ICE_DUST,"Ice Dust"); + this.addItemTag(OccultismTags.Items.PACKED_ICE_DUST,"Packed Ice Dust"); + this.addItemTag(OccultismTags.Items.DRAGONYST_DUST,"Dragonyst Dust"); + this.addItemTag(OccultismTags.Items.ECHO_DUST,"Echo Dust"); + this.addItemTag(OccultismTags.Items.EMERALD_DUST,"Emerald Dust"); + this.addItemTag(OccultismTags.Items.LAPIS_DUST,"Lapis Dust"); + this.addItemTag(OccultismTags.Items.NETHERITE_DUST,"Netherite Dust"); + this.addItemTag(OccultismTags.Items.NETHERITE_SCRAP_DUST,"Netherite Scrap Dust"); + this.addItemTag(OccultismTags.Items.RESEARCH_DUST,"Research Dust"); + this.addItemTag(OccultismTags.Items.WITHERITE_DUST,"Witherite Dust"); + this.addItemTag(OccultismTags.Items.OTHERSTONE_DUST,"Otherstone Dust"); + this.addItemTag(OccultismTags.Items.OTHERWORLD_WOOD_DUST,"Otherworld Wood Dust"); + this.addItemTag(OccultismTags.Items.OCCULTISM_CANDLES,"Occultism Candles"); + this.addItemTag(OccultismTags.Items.Miners.MINERS,"Dimensional Miners"); + this.addItemTag(OccultismTags.Items.SCUTESHELL,"Scute or Shell"); this.addItemTag(OccultismTags.Items.BLAZE_DUST, "Blaze Dust"); this.addItemTag(OccultismTags.Items.MANUALS, "Manuals"); this.addItemTag(OccultismTags.Items.TOOLS_KNIFE, "Knives"); @@ -3413,9 +3126,7 @@ private void addTags() { this.addItemTag(ResourceLocation.fromNamespaceAndPath("curios", "hands"), "Hands"); this.addItemTag(ResourceLocation.fromNamespaceAndPath("curios", "heads"), "Heads"); this.addItemTag(ResourceLocation.fromNamespaceAndPath("curios", "ring"), "Ring"); - this.addItemTag(OccultismTags.Items.OCCULTISM_CANDLES, "Candles"); this.addItemTag(OccultismTags.Items.DEMONIC_PARTNER_FOOD, "Demonic Partner Food"); - this.addItemTag(OccultismTags.Items.Miners.MINERS, "Miners"); this.addItemTag(OccultismTags.Items.OTHERCOBBLESTONE, "Other Cobblestone"); this.addItemTag(OccultismTags.Items.OTHERSTONE, "Otherstone"); this.addItemTag(OccultismTags.Items.OTHERWORLD_LOGS, "Otherworld Logs"); @@ -3495,7 +3206,7 @@ private void addConfigurationTranslations() { this.addConfig("disableHolidayTheming", "Disable Otherworld Goggles Shaders"); this.addConfig("useAlternativeDivinationRodRenderer", "Use Alternative Divination Rod Renderer"); this.addConfig("whiteChalkGlyphColor", "White Chalk Glyph Color"); - this.addConfig("goldenChalkGlyphColor", "Yellow Chalk Glyph Color"); + this.addConfig("yellowChalkGlyphColor", "Yellow Chalk Glyph Color"); this.addConfig("purpleChalkGlyphColor", "Purple Chalk Glyph Color"); this.addConfig("redChalkGlyphColor", "Red Chalk Glyph Color"); this.addConfig("lightGrayChalkGlyphColor", "Light Gray Chalk Glyph Color"); @@ -3560,6 +3271,7 @@ private void addConfigurationTranslations() { this.addConfig("miner_djinni_ores", "Djinni Ore Miner"); this.addConfig("miner_afrit_deeps", "Afrit Deep Ore Miner"); this.addConfig("miner_marid_master", "Marid Master Miner"); + this.addConfig("miner_ancient_eldritch", "Eldritch Ancient Miner"); this.addConfig("maxMiningTime", "Max Mining Time"); this.addConfig("rollsPerOperation", "Rolls Per Operation"); @@ -3567,6 +3279,7 @@ private void addConfigurationTranslations() { this.addConfig("items", "Items"); this.addConfig("anyOreDivinationRod", "Divination c:ores"); + this.addConfig("minerOutputBeforeBreak", "Save miners before breaking"); } private void addConfig(String key, String name) { diff --git a/src/main/java/com/klikli_dev/occultism/datagen/loot/OccultismEntityLoot.java b/src/main/java/com/klikli_dev/occultism/datagen/loot/OccultismEntityLoot.java index ca199cb92..1ee7b930b 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/loot/OccultismEntityLoot.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/loot/OccultismEntityLoot.java @@ -41,20 +41,21 @@ public void generate(BiConsumer, LootTable.Builder> pGene @Override public void generate() { - this.add(OccultismEntities.POSSESSED_SHULKER.get(), this.shulkerLootTable()); - this.add(OccultismEntities.POSSESSED_WARDEN.get(), this.wardenLootTable()); - this.add(OccultismEntities.POSSESSED_HOGLIN.get(), this.hoglinLootTable()); - this.add(OccultismEntities.POSSESSED_WEAK_SHULKER.get(), this.weakShulkerTable()); + this.add(OccultismEntities.POSSESSED_SHULKER_TYPE.get(), this.shulkerLootTable()); + this.add(OccultismEntities.POSSESSED_WARDEN_TYPE.get(), this.wardenLootTable()); + this.add(OccultismEntities.POSSESSED_HOGLIN_TYPE.get(), this.hoglinLootTable()); + this.add(OccultismEntities.POSSESSED_WITCH_TYPE.get(), this.witchLootTable()); + this.add(OccultismEntities.POSSESSED_WEAK_SHULKER_TYPE.get(), this.weakShulkerTable()); this.add(OccultismEntities.POSSESSED_GHAST_TYPE.get(), this.ghastLootTable()); this.add(OccultismEntities.POSSESSED_ELDER_GUARDIAN_TYPE.get(), this.elderGuardianLootTable()); this.add(OccultismEntities.WILD_HORDE_HUSK_TYPE.get(), this.huskLootTable()); this.add(OccultismEntities.WILD_HORDE_DROWNED_TYPE.get(), this.drownedLootTable()); this.add(OccultismEntities.WILD_HORDE_CREEPER_TYPE.get(), this.creeperLootTable()); this.add(OccultismEntities.WILD_HORDE_SILVERFISH_TYPE.get(), this.silverfishLootTable()); - this.add(OccultismEntities.POSSESSED_WEAK_BREEZE.get(), this.weakBreezeTable()); - this.add(OccultismEntities.POSSESSED_BREEZE.get(), this.breezeTable()); - this.add(OccultismEntities.POSSESSED_STRONG_BREEZE.get(), this.strongBreezeTable()); - this.add(OccultismEntities.POSSESSED_EVOKER.get(), this.evokerTable()); + this.add(OccultismEntities.POSSESSED_WEAK_BREEZE_TYPE.get(), this.weakBreezeTable()); + this.add(OccultismEntities.POSSESSED_BREEZE_TYPE.get(), this.breezeTable()); + this.add(OccultismEntities.POSSESSED_STRONG_BREEZE_TYPE.get(), this.strongBreezeTable()); + this.add(OccultismEntities.POSSESSED_EVOKER_TYPE.get(), this.evokerTable()); this.add(OccultismEntities.POSSESSED_ENDERMITE_TYPE.get(), LootTable.lootTable().withPool( LootPool.lootPool().setRolls(ConstantValue.exactly(1)) @@ -108,6 +109,14 @@ public void generate() { .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.7f, 1.0F))) .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F)))))); + //Essence drop from unbound marid + this.add(OccultismEntities.MARID_UNBOUND_TYPE.get(), + LootTable.lootTable().withPool( + LootPool.lootPool().setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(OccultismItems.MARID_ESSENCE.get()) + .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.9f, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F)))))); + //increased wither skull drop from wild hunt this.add(OccultismEntities.WILD_HUNT_WITHER_SKELETON_TYPE.get(), LootTable.lootTable() .withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1)) @@ -138,6 +147,26 @@ public void generate() { .add(LootItem.lootTableItem(Items.BONE) .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0F, 2.0F))) .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F)))))); + + this.add(OccultismEntities.GOAT_OF_MERCY_TYPE.get(), + LootTable.lootTable().withPool( + LootPool.lootPool().setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(OccultismItems.CRUELTY_ESSENCE) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F)))))); + + this.add(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN_TYPE.get(), + LootTable.lootTable().withPool( + LootPool.lootPool().setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(OccultismItems.DEMONIC_MEAT) + .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 4.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.0F, 1.0F)))))); + + this.add(OccultismEntities.POSSESSED_BEE_TYPE.get(), + LootTable.lootTable().withPool( + LootPool.lootPool().setRolls(ConstantValue.exactly(1)) + .add(LootItem.lootTableItem(OccultismItems.CURSED_HONEY) + .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.5F, 1.0F))) + .apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries, UniformGenerator.between(0.3F, 1.0F)))))); } /** @@ -349,8 +378,8 @@ public LootTable.Builder drownedLootTable(){ .withPool( LootPool.lootPool() .setRolls(ConstantValue.exactly(1.0F)) - .add(EmptyLootItem.emptyItem().setWeight(3)) - .add(LootItem.lootTableItem(Items.SNIFFER_EGG).setWeight(1)) + .add(EmptyLootItem.emptyItem().setWeight(2)) + .add(LootItem.lootTableItem(Items.SNIFFER_EGG).setWeight(2)) .add(LootItem.lootTableItem(Items.TURTLE_EGG).setWeight(3)) .add(LootItem.lootTableItem(Items.TRIDENT).setWeight(3)) ) @@ -501,4 +530,15 @@ public LootTable.Builder evokerTable(){ .apply(SetItemCountFunction.setCount(UniformGenerator.between(0.5F, 2.0F))) ); } + public LootTable.Builder witchLootTable(){ + return LootTable.lootTable() + .withPool( + LootPool.lootPool() + .setRolls(ConstantValue.exactly(1.0F)) + .add(LootItem.lootTableItem(Items.EXPERIENCE_BOTTLE).setWeight(8)) + .add(LootItem.lootTableItem(Items.HONEY_BOTTLE).setWeight(4)) + .add(LootItem.lootTableItem(Items.OMINOUS_BOTTLE).setWeight(2)) + .add(LootItem.lootTableItem(Items.POTION).setWeight(1)) + ).apply(EnchantedCountIncreaseFunction.lootingMultiplier(this.registries,UniformGenerator.between(0,2))); + } } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/recipe/MinerRecipes.java b/src/main/java/com/klikli_dev/occultism/datagen/recipe/MinerRecipes.java index ce50bc0d2..043f16304 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/recipe/MinerRecipes.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/recipe/MinerRecipes.java @@ -15,6 +15,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; +import net.neoforged.neoforge.common.Tags; import java.util.concurrent.CompletableFuture; @@ -69,11 +70,13 @@ public static void ores(RecipeOutput recipeOutput) { makeOreRecipe("malachite", 200, recipeOutput); makeOreRecipe("mithril", 169, recipeOutput); makeOreRecipe("morganite", 200, recipeOutput); + makeVanillaItemRecipe(Items.GILDED_BLACKSTONE, 373, recipeOutput); makeVanillaItemRecipe(Items.NETHER_GOLD_ORE, 373, recipeOutput); makeVanillaItemRecipe(Items.NETHER_QUARTZ_ORE, 560, recipeOutput); makeOreRecipe("nickel", 232, recipeOutput); makeOreRecipe("niter", 244, recipeOutput); makeVanillaItemRecipe(Items.OBSIDIAN, 300, recipeOutput); + makeVanillaItemRecipe(Items.CRYING_OBSIDIAN, 50, recipeOutput); makeOreRecipe("onyx", 200, recipeOutput); makeOreRecipe("opal", 200, recipeOutput); makeOreRecipe("osmium", 203, recipeOutput); @@ -125,7 +128,6 @@ public static void ores(RecipeOutput recipeOutput) { makeOreRecipe("white_gemstone", 300, recipeOutput); makeOreRecipe("yellow_gemstone", 300, recipeOutput); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ORES, OccultismTags.makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "ores/" + "xpetrified_ore")), 200) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/ores/" + "xpetrified_ore")); @@ -134,7 +136,136 @@ public static void ores(RecipeOutput recipeOutput) { .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/ores/runic_stone")); + } + + public static void eldritch(RecipeOutput recipeOutput) { + //Raw + makeStorageRecipe("raw_aethersent", 90, recipeOutput); + makeStorageRecipe("raw_allthemodium", 30, recipeOutput); + makeStorageRecipe("raw_aluminium", 90, recipeOutput); + makeStorageRecipe("raw_azure_silver", 90, recipeOutput); + makeStorageRecipe("raw_antimony", 90, recipeOutput); + makeStorageRecipe("raw_cloggrum", 90, recipeOutput); + makeStorageRecipe("raw_copper", 90, recipeOutput); + makeStorageRecipe("raw_crimson_iron", 90, recipeOutput); + makeStorageRecipe("raw_froststeel", 90, recipeOutput); + makeStorageRecipe("raw_gold", 90, recipeOutput); + makeStorageRecipe("raw_iesnium", 90, recipeOutput); + makeStorageRecipe("raw_iridium", 90, recipeOutput); + makeStorageRecipe("raw_iron", 90, recipeOutput); + makeStorageRecipe("raw_lead", 90, recipeOutput); + makeStorageRecipe("raw_nickel", 90, recipeOutput); + makeStorageRecipe("raw_osmium", 90, recipeOutput); + makeStorageRecipe("raw_platinum", 90, recipeOutput); + makeStorageRecipe("raw_silver", 90, recipeOutput); + makeStorageRecipe("raw_tin", 90, recipeOutput); + makeStorageRecipe("raw_tungsten", 90, recipeOutput); + makeStorageRecipe("raw_titanium", 90, recipeOutput); + makeStorageRecipe("raw_unobtainium", 10, recipeOutput); + makeStorageRecipe("raw_uranium", 90, recipeOutput); + makeStorageRecipe("raw_vibranium", 20, recipeOutput); + makeStorageRecipe("raw_yellorium", 90, recipeOutput); + makeStorageRecipe("raw_zinc", 90, recipeOutput); + //Others + makeStorageRecipe("arcane_crystal", 90, recipeOutput); + makeStorageRecipe("coal", 90, recipeOutput); + makeStorageRecipe("dark", 90, recipeOutput); + makeStorageRecipe("diamond", 90, recipeOutput); + makeStorageRecipe("emerald", 90, recipeOutput); + makeStorageRecipe("fluorite", 90, recipeOutput); + makeStorageRecipe("inferium_essence", 90, recipeOutput); + makeStorageRecipe("lapis", 90, recipeOutput); + makeStorageRecipe("lignite_coal", 90, recipeOutput); + makeStorageRecipe("monazite", 90, recipeOutput); + makeStorageRecipe("peridot", 90, recipeOutput); + makeStorageRecipe("prosperity_shard", 90, recipeOutput); + makeStorageRecipe("redstone", 90, recipeOutput); + makeStorageRecipe("ruby", 90, recipeOutput); + makeStorageRecipe("rune", 90, recipeOutput); + makeStorageRecipe("salt", 90, recipeOutput); + makeStorageRecipe("sapphire", 90, recipeOutput); + makeStorageRecipe("sulfur", 90, recipeOutput); + makeStorageRecipe("soulium_dust", 90, recipeOutput); + makeStorageRecipe("stellarite", 90, recipeOutput); + makeStorageRecipe("uraninite", 90, recipeOutput); + //Don't found in 1.21 + /* + makeStorageRecipe("agate", 90, recipeOutput); + makeStorageRecipe("amber", 90, recipeOutput); + makeStorageRecipe("aquamarine", 90, recipeOutput); + makeStorageRecipe("ardite", 90, recipeOutput); + makeStorageRecipe("beryl", 90, recipeOutput); + makeStorageRecipe("boron", 90, recipeOutput); + makeStorageRecipe("cinnabar", 90, recipeOutput); + makeStorageRecipe("cobalt", 90, recipeOutput); + makeStorageRecipe("dimensional_shard",90,recipeOutput); + makeStorageRecipe("electrotine", 90, recipeOutput); + makeStorageRecipe("garnet", 90, recipeOutput); + makeStorageRecipe("heliodor", 90, recipeOutput); + makeStorageRecipe("indicolite", 90, recipeOutput); + makeStorageRecipe("iolite", 90, recipeOutput); + makeStorageRecipe("lithium", 90, recipeOutput); + makeStorageRecipe("magnesium", 90, recipeOutput); + makeStorageRecipe("malachite", 90, recipeOutput); + makeStorageRecipe("mithril", 90, recipeOutput); + makeStorageRecipe("morganite", 90, recipeOutput); + makeStorageRecipe("niter", 90, recipeOutput); + makeStorageRecipe("onyx", 90, recipeOutput); + makeStorageRecipe("opal", 90, recipeOutput); + makeStorageRecipe("tanzanite", 90, recipeOutput); + makeStorageRecipe("thorium", 90, recipeOutput); + makeStorageRecipe("topaz", 90, recipeOutput); + makeStorageRecipe("dimensional_shard", 90, recipeOutput); + makeStorageRecipe("draconium", 90, recipeOutput); + makeStorageRecipe("bone_fragments", 90, recipeOutput); + makeStorageRecipe("baronyte", 90, recipeOutput); + makeStorageRecipe("blazium", 90, recipeOutput); + makeStorageRecipe("bloodstone", 90, recipeOutput); + makeStorageRecipe("blue_gemstone", 90, recipeOutput); + makeStorageRecipe("charged_runium", 90, recipeOutput); + makeStorageRecipe("crystallite", 90, recipeOutput); + makeStorageRecipe("elecanium", 90, recipeOutput); + makeStorageRecipe("emberstone", 90, recipeOutput); + makeStorageRecipe("gemenyte", 90, recipeOutput); + makeStorageRecipe("ghastly", 90, recipeOutput); + makeStorageRecipe("ghoulish", 90, recipeOutput); + makeStorageRecipe("green_gemstone", 90, recipeOutput); + makeStorageRecipe("jade", 90, recipeOutput); + makeStorageRecipe("jewelyte", 90, recipeOutput); + makeStorageRecipe("limonite", 90, recipeOutput); + makeStorageRecipe("lyon", 90, recipeOutput); + makeStorageRecipe("mystite", 90, recipeOutput); + makeStorageRecipe("ornamyte", 90, recipeOutput); + makeStorageRecipe("purple_gemstone", 90, recipeOutput); + makeStorageRecipe("red_gemstone", 90, recipeOutput); + makeStorageRecipe("runium", 90, recipeOutput); + makeStorageRecipe("shyregem", 90, recipeOutput); + makeStorageRecipe("shyrestone", 90, recipeOutput); + makeStorageRecipe("varsium", 90, recipeOutput); + makeStorageRecipe("white_gemstone", 90, recipeOutput); + makeStorageRecipe("yellow_gemstone", 90, recipeOutput); + */ + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, Tags.Items.ORES_NETHERITE_SCRAP, 90, 9) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .allowEmpty() + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/ancient_debris")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, OccultismTags.makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "gems/sal_ammoniac")), 90, 9) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/sal_ammoniac")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, OccultismTags.makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "gems/amethyst")), 90, 9) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/amethyst")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, OccultismTags.makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "dusts/glowstone")), 90, 9) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/glowstone_dust")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, OccultismTags.makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "gems/quartz")), 90, 9) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/quartz")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, OccultismItems.MINING_DIMENSION_CORE_PIECE, 1) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .allowEmpty() + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/mining_dim_core")); } // Item-based recipes where the item is not available in our dev env are not great because they would need a separate handling @@ -166,6 +297,12 @@ public static void makeOreRecipe(String type, int weight, RecipeOutput consumer) .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/ores/" + type + "_ore")); } + public static void makeStorageRecipe(String type, int weight, RecipeOutput consumer) { + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.ELDRITCH, OccultismTags.makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "storage_blocks/" + type)), weight) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/eldritch/" + type)); + } + public static void deeps(RecipeOutput consumer) { MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.DEEPS, Items.DEEPSLATE_COAL_ORE, 1000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) @@ -216,31 +353,39 @@ public static void master_resources(RecipeOutput consumer) { .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/master/iesnium_ore")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.MASTER, OccultismItems.MINING_DIMENSION_CORE_PIECE, 1) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .allowEmpty() + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/master/mining_dim_core")); } public static void basic_resources(RecipeOutput consumer) { - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.ANDESITE, 10000) + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.STONE, 10000) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .allowEmpty() + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/stone")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.ANDESITE, 7000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/andesite")); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.DIORITE, 10000) + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.DIORITE, 7000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/diorite")); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.END_STONE, 30) + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.GRANITE, 7000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() - .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/end_stone")); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.GRANITE, 10000) + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/granite")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.DEEPSLATE, 5000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() - .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/granite")); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.MOSSY_COBBLESTONE, 200) + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/deepslate")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.MOSSY_COBBLESTONE, 3000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/mossy_cobblestone")); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.MOSSY_STONE_BRICKS, 10000) + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.MOSSY_STONE_BRICKS, 3000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/mossy_stone_bricks")); @@ -248,10 +393,18 @@ public static void basic_resources(RecipeOutput consumer) { .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/netherrack")); - MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.STONE, 10000) + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.BASALT, 1000) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() - .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/stone")); + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/basalt")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.BLACKSTONE, 1000) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .allowEmpty() + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/blackstone")); + MinerRecipeBuilder.minerRecipe(OccultismTags.Items.Miners.BASIC_RESOURCES, Items.END_STONE, 30) + .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) + .allowEmpty() + .save(consumer, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miner/basic_resources/end_stone")); } public static TagKey tag(String tag) { diff --git a/src/main/java/com/klikli_dev/occultism/datagen/recipe/OccultismRecipeProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/recipe/OccultismRecipeProvider.java index 0bd233709..a9a07779d 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/recipe/OccultismRecipeProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/recipe/OccultismRecipeProvider.java @@ -14,6 +14,7 @@ import net.minecraft.data.recipes.*; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; @@ -64,6 +65,17 @@ private static void metalRecipes(RecipeOutput pRecipeOutput) { .requires(OccultismTags.Items.STORAGE_BLOCK_RAW_IESNIUM) .unlockedBy("has_raw_iesnium_block", has(OccultismTags.Items.STORAGE_BLOCK_RAW_IESNIUM)) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/raw_iesnium_ingot_from_block")); + ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.NETHERITE_DUST.get()) + .requires(OccultismTags.Items.NETHERITE_SCRAP_DUST) + .requires(OccultismTags.Items.NETHERITE_SCRAP_DUST) + .requires(OccultismTags.Items.NETHERITE_SCRAP_DUST) + .requires(OccultismTags.Items.NETHERITE_SCRAP_DUST) + .requires(OccultismTags.Items.GOLD_DUST) + .requires(OccultismTags.Items.GOLD_DUST) + .requires(OccultismTags.Items.GOLD_DUST) + .requires(OccultismTags.Items.GOLD_DUST) + .unlockedBy("has_netherite_scrap_dust", has(OccultismTags.Items.NETHERITE_SCRAP_DUST)) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/netherite_dust")); // Silver metal ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, OccultismBlocks.SILVER_BLOCK.get()) @@ -139,6 +151,11 @@ private static void blastingRecipes(RecipeOutput pRecipeOutput) { .blasting(Ingredient.of(OccultismTags.Items.RAW_SILVER), RecipeCategory.MISC, OccultismItems.SILVER_INGOT.get(), 0.7f, 100) .unlockedBy("has_raw_silver", has(OccultismTags.Items.RAW_SILVER)) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "blasting/silver_ingot_from_raw")); + SimpleCookingRecipeBuilder + .blasting(Ingredient.of(OccultismTags.Items.NETHERITE_DUST), RecipeCategory.MISC, Items.NETHERITE_INGOT, 0.7f, 100) + .unlockedBy("has_netherite_dust", has(OccultismTags.Items.NETHERITE_DUST)) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "blasting/netherite_ingot_from_dust")); + } protected static void otherStonecutter(RecipeOutput recipeOutput, ItemLike result, ItemLike material, int resultCount, boolean source) { @@ -183,8 +200,8 @@ private void ritualRecipes(RecipeOutput recipeOutput, HolderLookup.Provider regi } private void spiritTradeRecipes(RecipeOutput pRecipeOutput) { - SpiritTradeRecipeBuilder.spiritTradeRecipe(Ingredient.of(OccultismItems.OTHERWORLD_SAPLING_NATURAL.get()), new ItemStack(OccultismBlocks.OTHERWORLD_SAPLING.get())) - .unlockedBy("has_otherworld_sapling_natural", has(OccultismItems.OTHERWORLD_SAPLING_NATURAL.get())) + SpiritTradeRecipeBuilder.spiritTradeRecipe(Ingredient.of(OccultismTags.Items.OTHERWORLD_SAPLINGS_NATURAL), new ItemStack(OccultismBlocks.OTHERWORLD_SAPLING)) + .unlockedBy("has_otherworld_sapling_natural", has(OccultismBlocks.OTHERWORLD_SAPLING_NATURAL.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_trade/otherworld_sapling")); SpiritTradeRecipeBuilder.spiritTradeRecipe(Ingredient.of(Tags.Items.STONES), new ItemStack(OccultismBlocks.OTHERSTONE.get(), 2)) .unlockedBy("has_stone", has(Tags.Items.STONES)) @@ -202,9 +219,9 @@ private void spiritFireRecipes(RecipeOutput pRecipeOutput) { SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(Items.WRITABLE_BOOK), new ItemStack(OccultismItems.BOOK_OF_BINDING_EMPTY.get())) .unlockedBy("has_writable_book", has(Items.WRITABLE_BOOK)) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/book_of_binding_empty")); - SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(OccultismItems.CHALK_GOLD_IMPURE.get()), new ItemStack(OccultismItems.CHALK_GOLD.get())) - .unlockedBy("has_chalk_gold_impure", has(OccultismItems.CHALK_GOLD_IMPURE.get())) - .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/chalk_gold")); + SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(OccultismItems.CHALK_YELLOW_IMPURE.get()), new ItemStack(OccultismItems.CHALK_YELLOW.get())) + .unlockedBy("has_chalk_yellow_impure", has(OccultismItems.CHALK_YELLOW_IMPURE.get())) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/chalk_yellow")); SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(OccultismItems.CHALK_PURPLE_IMPURE.get()), new ItemStack(OccultismItems.CHALK_PURPLE.get())) .unlockedBy("has_chalk_purple_impure", has(OccultismItems.CHALK_PURPLE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/chalk_purple")); @@ -214,7 +231,6 @@ private void spiritFireRecipes(RecipeOutput pRecipeOutput) { SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(OccultismItems.CHALK_WHITE_IMPURE.get()), new ItemStack(OccultismItems.CHALK_WHITE.get())) .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/chalk_white")); - SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(OccultismItems.CHALK_LIGHT_GRAY_IMPURE.get()), new ItemStack(OccultismItems.CHALK_LIGHT_GRAY.get())) .unlockedBy("has_chalk_light_gray_impure", has(OccultismItems.CHALK_LIGHT_GRAY_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/chalk_light_gray")); @@ -261,7 +277,7 @@ private void spiritFireRecipes(RecipeOutput pRecipeOutput) { SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(OccultismItems.DEMONS_DREAM_ESSENCE.get()), new ItemStack(OccultismItems.OTHERWORLD_ESSENCE.get())) .unlockedBy("has_demons_dream_essence", has(OccultismItems.DEMONS_DREAM_ESSENCE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/otherworld_essence")); - SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(Items.OAK_SAPLING), new ItemStack(OccultismItems.OTHERWORLD_SAPLING_NATURAL.get())) + SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(Items.OAK_SAPLING), new ItemStack(OccultismBlocks.OTHERWORLD_SAPLING_NATURAL)) .unlockedBy("has_oak_sapling", has(Items.OAK_SAPLING)) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "spirit_fire/otherworld_sapling_natural")); SpiritFireRecipeBuilder.spiritFireRecipe(Ingredient.of(Items.BLACK_DYE), new ItemStack(OccultismItems.PURIFIED_INK.get())) @@ -283,6 +299,7 @@ private void miningRecipes(RecipeOutput pRecipeOutput) { MinerRecipes.deeps(pRecipeOutput); MinerRecipes.master_resources(pRecipeOutput); MinerRecipes.ores(pRecipeOutput); + MinerRecipes.eldritch(pRecipeOutput); MinerRecipeBuilder.minerRecipe(OccultismItems.DEBUG_WAND.get(), OccultismBlocks.OTHERSTONE.get(), 200) .unlockedBy("has_miner", has(OccultismItems.MAGIC_LAMP_EMPTY.get())) .allowEmpty() @@ -353,12 +370,18 @@ private void crushingRecipes(RecipeOutput pRecipeOutput) { this.crushingGemRecipe("sapphire", pRecipeOutput); this.crushingGemRecipe("topaz", pRecipeOutput); this.crushingGemRecipe("arcane_crystal", pRecipeOutput); + this.crushingGemRecipe("amethyst", pRecipeOutput); CrushingRecipeBuilder.crushingRecipe(Tags.Items.RODS_BLAZE, Items.BLAZE_POWDER, 200) .allowEmpty() .setResultAmount(4) .unlockedBy("has_blaze_rod", has(Tags.Items.RODS_BLAZE)) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/blaze_powder_from_rod")); + CrushingRecipeBuilder.crushingRecipe(Tags.Items.ORES_NETHERITE_SCRAP, OccultismTags.Items.NETHERITE_SCRAP_DUST, 200) + .allowEmpty() + .setResultAmount(2) + .unlockedBy("has_ancient_debris", has(Tags.Items.ORES_NETHERITE_SCRAP)) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"crushing/netherite_scrap_dust")); CrushingRecipeBuilder.crushingRecipe(Tags.Items.OBSIDIANS, OccultismTags.Items.OBSIDIAN_DUST, 200) .allowEmpty() @@ -376,6 +399,47 @@ private void crushingRecipes(RecipeOutput pRecipeOutput) { .setIgnoreCrushingMultiplier(true) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/othercobblestone")); + CrushingRecipeBuilder.crushingRecipe(Items.CALCITE, OccultismTags.Items.CALCITE_DUST, 200) + .allowEmpty() + .unlockedBy("has_calcite", has(Items.CALCITE)) + .setResultAmount(1) + .setIgnoreCrushingMultiplier(true) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/calcite_dust")); + CrushingRecipeBuilder.crushingRecipe(Items.BLACKSTONE, OccultismTags.Items.BLACKSTONE_DUST, 200) + .allowEmpty() + .unlockedBy("has_blackstone", has(Items.BLACKSTONE)) + .setResultAmount(1) + .setIgnoreCrushingMultiplier(true) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/blackstone_dust")); + CrushingRecipeBuilder.crushingRecipe(Items.ICE, OccultismTags.Items.ICE_DUST, 200) + .allowEmpty() + .unlockedBy("has_ice", has(Items.ICE)) + .setResultAmount(1) + .setIgnoreCrushingMultiplier(true) + .setMinTier(2) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/ice_dust")); + CrushingRecipeBuilder.crushingRecipe(Items.PACKED_ICE, OccultismTags.Items.PACKED_ICE_DUST, 200) + .allowEmpty() + .unlockedBy("has_packed_ice", has(Items.PACKED_ICE)) + .setResultAmount(1) + .setIgnoreCrushingMultiplier(true) + .setMinTier(2) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/packed_ice_dust")); + CrushingRecipeBuilder.crushingRecipe(Items.BLUE_ICE, OccultismTags.Items.BLUE_ICE_DUST, 200) + .allowEmpty() + .unlockedBy("has_blue_ice", has(Items.BLUE_ICE)) + .setResultAmount(1) + .setIgnoreCrushingMultiplier(true) + .setMinTier(2) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/blue_ice_dust")); + CrushingRecipeBuilder.crushingRecipe(Items.ECHO_SHARD, OccultismTags.Items.ECHO_DUST, 200) + .allowEmpty() + .unlockedBy("has_echo_shard", has(Items.ECHO_SHARD)) + .setResultAmount(1) + .setIgnoreCrushingMultiplier(true) + .setMinTier(4) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crushing/echo_dust")); + } private void crushingGemRecipe(String gemName, RecipeOutput recipeOutput) { @@ -677,119 +741,114 @@ private void craftingRecipes(RecipeOutput pRecipeOutput) { .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/large_candle_purple")); // Chalks - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_GOLD_IMPURE.get()) + ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_YELLOW_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) .requires(Tags.Items.DUSTS_GLOWSTONE) .requires(OccultismTags.Items.GOLD_DUST) .requires(OccultismTags.Items.GOLD_DUST) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) - .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_gold_impure")); + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_yellow_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_PURPLE_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) .requires(OccultismTags.Items.END_STONE_DUST) .requires(OccultismTags.Items.OBSIDIAN_DUST) .requires(OccultismTags.Items.OBSIDIAN_DUST) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_purple_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_RED_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) .requires(OccultismItems.AFRIT_ESSENCE.get()) - .requires(Items.BLAZE_POWDER) + .requires(Items.TORCHFLOWER) .requires(Tags.Items.DUSTS_REDSTONE) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_red_impure")); - ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_LIGHT_GRAY_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) .requires(OccultismTags.Items.SILVER_DUST) .requires(OccultismTags.Items.IRON_DUST) - .requires(Items.CALCITE) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismTags.Items.CALCITE_DUST) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_light_gray_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_GRAY_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Tags.Items.GUNPOWDERS) - .requires(Items.WIND_CHARGE) - .requires(Items.CLAY_BALL) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismItems.GRAY_PASTE) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_gray_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_BLACK_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.NETHERITE_INGOT) - .requires(Items.WITHER_ROSE) - .requires(Items.BLACKSTONE) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismTags.Items.WITHERITE_DUST) + .requires(OccultismTags.Items.WITHERITE_DUST) + .requires(OccultismTags.Items.WITHERITE_DUST) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_black_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_BROWN_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.POINTED_DRIPSTONE) - .requires(Items.ARMADILLO_SCUTE) - .requires(Items.RABBIT_FOOT) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismItems.CRUELTY_ESSENCE) + .requires(Items.COCOA_BEANS) + .requires(Items.COCOA_BEANS) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_brown_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_ORANGE_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.TORCHFLOWER) + .requires(OccultismItems.CURSED_HONEY) .requires(Items.GLOW_BERRIES) - .requires(Items.HONEYCOMB) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismTags.Items.BLAZE_DUST) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_orange_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_LIME_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) + .requires(OccultismTags.Items.RESEARCH_DUST) + .requires(OccultismTags.Items.EMERALD_DUST) .requires(Tags.Items.SLIME_BALLS) - .requires(Items.EMERALD) - .requires(Items.EXPERIENCE_BOTTLE) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_lime_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_GREEN_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Tags.Items.SEEDS) - .requires(ItemTags.SAPLINGS) - .requires(ItemTags.LEAVES) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismItems.NATURE_PASTE) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_green_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_CYAN_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) .requires(OccultismTags.Items.IESNIUM_DUST) + .requires(OccultismTags.Items.ECHO_DUST) .requires(Items.GLOW_INK_SAC) - .requires(Items.ECHO_SHARD) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_cyan_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_LIGHT_BLUE_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.ICE) - .requires(Items.PACKED_ICE) - .requires(Items.BLUE_ICE) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismTags.Items.ICE_DUST) + .requires(OccultismTags.Items.PACKED_ICE_DUST) + .requires(OccultismTags.Items.BLUE_ICE_DUST) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_light_blue_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_BLUE_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.HEART_OF_THE_SEA) - .requires(Tags.Items.GEMS_LAPIS) - .requires(Items.TUBE_CORAL) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismItems.MARID_ESSENCE) + .requires(OccultismTags.Items.LAPIS_DUST) + .requires(OccultismTags.Items.LAPIS_DUST) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_blue_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_MAGENTA_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.DRAGON_BREATH) - .requires(Tags.Items.GEMS_AMETHYST) - .requires(Items.END_CRYSTAL) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismTags.Items.DRAGONYST_DUST) + .requires(OccultismTags.Items.AMETHYST_DUST) + .requires(OccultismTags.Items.AMETHYST_DUST) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_magenta_impure")); ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, OccultismItems.CHALK_PINK_IMPURE.get()) .requires(OccultismItems.CHALK_WHITE_IMPURE.get()) - .requires(Items.PINK_PETALS) - .requires(Items.PORKCHOP) - .requires(Items.CHERRY_LEAVES) - .unlockedBy("has_chalk_white", has(OccultismItems.CHALK_WHITE_IMPURE.get())) + .requires(OccultismItems.DEMONIC_MEAT) + .requires(OccultismItems.DEMONIC_MEAT) + .requires(OccultismItems.DEMONIC_MEAT) + .unlockedBy("has_chalk_white_impure", has(OccultismItems.CHALK_WHITE_IMPURE.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_pink_impure")); ShapedRecipeBuilder.shaped(RecipeCategory.MISC, OccultismItems.CHALK_WHITE_IMPURE.get()) .pattern("xy") .pattern("xy") .pattern("xy") - .define('x', OccultismItems.BURNT_OTHERSTONE.get()) - .define('y', OccultismItems.OTHERWORLD_ASHES.get()) + .define('x', OccultismTags.Items.OTHERSTONE_DUST) + .define('y', OccultismTags.Items.OTHERWORLD_WOOD_DUST) .unlockedBy("has_ashes", has(OccultismItems.OTHERWORLD_ASHES.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/chalk_white_impure")); @@ -872,7 +931,7 @@ private void craftingRecipes(RecipeOutput pRecipeOutput) { .pattern("sis") .pattern(" ss") .define('s', OccultismTags.Items.SILVER_INGOT) - .define('i', OccultismTags.Items.IESNIUM_INGOT) + .define('i', OccultismTags.Items.RAW_IESNIUM) .unlockedBy("has_silver_ingot", has(OccultismTags.Items.SILVER_INGOT)) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "crafting/magic_lamp_empty")); @@ -1140,6 +1199,10 @@ private void smeltingRecipes(RecipeOutput pRecipeOutput) { .smelting(Ingredient.of(OccultismBlocks.OTHERSTONE_BRICKS.asItem()), RecipeCategory.MISC, OccultismBlocks.CRACKED_OTHERSTONE_BRICKS.asItem(), 0.3f, 200) .unlockedBy("has_otherstone_bricks", has(OccultismBlocks.OTHERSTONE_BRICKS.get())) .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "smelting/cracked_otherstone_bricks")); + SimpleCookingRecipeBuilder + .smelting(Ingredient.of(OccultismTags.Items.NETHERITE_DUST), RecipeCategory.MISC, Items.NETHERITE_INGOT, 0.7f, 200) + .unlockedBy("has_netherite_dust", has(OccultismTags.Items.NETHERITE_DUST)) + .save(pRecipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "smelting/netherite_ingot_from_dust")); } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/recipe/RitualRecipes.java b/src/main/java/com/klikli_dev/occultism/datagen/recipe/RitualRecipes.java index e9f1be5dc..f2312fdf2 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/recipe/RitualRecipes.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/recipe/RitualRecipes.java @@ -17,6 +17,7 @@ import net.minecraft.tags.BiomeTags; import net.minecraft.tags.ItemTags; import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.monster.warden.Warden; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -33,31 +34,35 @@ public abstract class RitualRecipes extends RecipeProvider { - + // Ritual Types private static final ResourceLocation RITUAL_SUMMON = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon"); private static final ResourceLocation RITUAL_SUMMON_WILD = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_wild"); private static final ResourceLocation RITUAL_SUMMON_JOB = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_spirit_with_job"); private static final ResourceLocation RITUAL_RESURRECT_FAMILIAR = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "resurrect_familiar"); - private static final ResourceLocation PENTACLE_SUMMON_FOLIOT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_foliot"); - private static final ResourceLocation PENTACLE_SUMMON_DJINNI = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_djinni"); - private static final ResourceLocation PENTACLE_SUMMON_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_afrit"); - private static final ResourceLocation PENTACLE_SUMMON_WILD_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_wild_afrit"); - private static final ResourceLocation PENTACLE_SUMMON_MARID = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_marid"); - - private static final ResourceLocation PENTACLE_SUMMON_WILD_GREATER_SPIRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_wild_greater_spirit"); - // Ritual Types private static final ResourceLocation RITUAL_FAMILIAR = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "familiar"); private static final ResourceLocation RITUAL_CRAFT_WITH_SPIRIT_NAME = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_with_spirit_name"); private static final ResourceLocation RITUAL_CRAFT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft"); private static final ResourceLocation RITUAL_CRAFT_MINER_SPIRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_miner_spirit"); + private static final ResourceLocation RITUAL_REPAIR = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "repair"); // Pentacle IDs - private static final ResourceLocation PENTACLE_POSSESS_DJINNI = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possess_djinni"); + private static final ResourceLocation PENTACLE_SUMMON_FOLIOT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_foliot"); + private static final ResourceLocation PENTACLE_SUMMON_DJINNI = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_djinni"); + private static final ResourceLocation PENTACLE_SUMMON_UNBOUND_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_unbound_afrit"); + private static final ResourceLocation PENTACLE_SUMMON_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_afrit"); + private static final ResourceLocation PENTACLE_SUMMON_UNBOUND_MARID = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_unbound_marid"); + private static final ResourceLocation PENTACLE_SUMMON_MARID = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "summon_marid"); private static final ResourceLocation PENTACLE_POSSESS_FOLIOT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possess_foliot"); + private static final ResourceLocation PENTACLE_POSSESS_DJINNI = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possess_djinni"); + private static final ResourceLocation PENTACLE_POSSESS_UNBOUND_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possess_unbound_afrit"); private static final ResourceLocation PENTACLE_POSSESS_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possess_afrit"); - private static final ResourceLocation PENTACLE_CRAFT_DJINNI = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_djinni"); + private static final ResourceLocation PENTACLE_POSSESS_MARID = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possess_marid"); private static final ResourceLocation PENTACLE_CRAFT_FOLIOT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_foliot"); + private static final ResourceLocation PENTACLE_CRAFT_DJINNI = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_djinni"); private static final ResourceLocation PENTACLE_CRAFT_AFRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_afrit"); private static final ResourceLocation PENTACLE_CRAFT_MARID = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "craft_marid"); + private static final ResourceLocation PENTACLE_RESURRECT_SPIRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "resurrect_spirit"); + private static final ResourceLocation PENTACLE_CONTACT_WILD_SPIRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "contact_wild_spirit"); + private static final ResourceLocation PENTACLE_CONTACT_ELDRITCH_SPIRIT = ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "contact_eldritch_spirit"); public RitualRecipes(PackOutput p_248933_, CompletableFuture lookupProvider) { @@ -91,24 +96,14 @@ public static void ritualRecipes(RecipeOutput recipeOutput, HolderLookup.Provide craftingRituals(recipeOutput); familiarRituals(recipeOutput); possessRituals(recipeOutput); - RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.SOUL_SHARD_ITEM.get()), - makeJeiNoneDummy(), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/resurrect_familiar")), - 15, - RITUAL_RESURRECT_FAMILIAR, - PENTACLE_SUMMON_FOLIOT, - Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get()), - Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get()), - Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get()), - Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get())) - .unlockedBy("has_otherworld_essence", has(OccultismItems.OTHERWORLD_ESSENCE.get())) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/resurrect_familiar")); summonRituals(recipeOutput, registries); + resurrectRituals(recipeOutput); + repairRituals(recipeOutput); } private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provider registries) { RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_AFRIT.get(), "item.occultism.ritual_dummy.summon_afrit_crusher"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_afrit_crusher")), 120, RITUAL_SUMMON_JOB, @@ -123,7 +118,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.AFRIT_TYPE.get()) .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_afrit_crusher")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_AFRIT.get(), "item.occultism.ritual_dummy.summon_afrit_rain_weather"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_afrit_rain_weather")), 60, RITUAL_SUMMON_JOB, @@ -141,7 +136,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_afrit_rain_weather")); //summon_afrit_thunder_weather RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_AFRIT.get(), "item.occultism.ritual_dummy.summon_afrit_thunder_weather"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_afrit_thunder_weather")), 60, RITUAL_SUMMON_JOB, @@ -159,7 +154,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_afrit_thunder_weather")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeLoreSpawnEgg(OccultismItems.RITUAL_DUMMY_SUMMON_DEMONIC_HUSBAND.get(), "item.occultism.ritual_dummy.summon_demonic_husband"), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_DEMONIC_HUSBAND.get(), "item.occultism.ritual_dummy.summon_demonic_husband"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_demonic_husband")), 60, OccultismRituals.SUMMON_TAMED.getId(), @@ -178,7 +173,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_demonic_husband")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeLoreSpawnEgg(OccultismItems.RITUAL_DUMMY_SUMMON_DEMONIC_WIFE.get(), "item.occultism.ritual_dummy.summon_demonic_wife"), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_DEMONIC_WIFE.get(), "item.occultism.ritual_dummy.summon_demonic_wife"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_demonic_wife")), 60, OccultismRituals.SUMMON_TAMED.getId(), @@ -197,7 +192,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_demonic_wife")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_DJINNI.get(), "item.occultism.ritual_dummy.summon_djinni_clear_weather"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_djinni_clear_weather")), 60, RITUAL_SUMMON_JOB, @@ -213,7 +208,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_djinni_clear_weather")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_DJINNI.get(), "item.occultism.ritual_dummy.summon_djinni_crusher"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_djinni_crusher")), 90, RITUAL_SUMMON_JOB, @@ -229,7 +224,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_djinni_crusher")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_MARID.get(), "item.occultism.ritual_dummy.summon_djinni_day_time"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_djinni_day_time")), 60, RITUAL_SUMMON_JOB, @@ -261,7 +256,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_djinni_manage_machine")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_DJINNI.get(), "item.occultism.ritual_dummy.summon_djinni_night_time"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_djinni_night_time")), 60, RITUAL_SUMMON_JOB, @@ -294,7 +289,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_FOLIOT.get(), "item.occultism.ritual_dummy.summon_foliot_crusher"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_foliot_crusher")), 60, RITUAL_SUMMON_JOB, @@ -334,7 +329,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_foliot_lumberjack")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_FOLIOT.get(), "item.occultism.ritual_dummy.summon_foliot_otherstone_trader"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_foliot_otherstone_trader")), 30, RITUAL_SUMMON_JOB, @@ -350,7 +345,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_foliot_otherstone_trader")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_FOLIOT.get(), "item.occultism.ritual_dummy.summon_foliot_sapling_trader"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_foliot_sapling_trader")), 30, RITUAL_SUMMON_JOB, @@ -382,7 +377,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_foliot_transport_items")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get()), - makeJeiNoneDummy(), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_MARID.get(), "item.occultism.ritual_dummy.summon_marid_crusher"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_marid_crusher")), 150, RITUAL_SUMMON_JOB, @@ -398,27 +393,42 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_marid_crusher")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get()), - makeLoreSpawnEgg(OccultismItems.AFRIT_ESSENCE.get(), "item.occultism.ritual_dummy.summon_wild_afrit"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_afrit")), + makeLoreSpawnEgg(OccultismItems.AFRIT_ESSENCE.get(), "item.occultism.ritual_dummy.summon_unbound_afrit"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_unbound_afrit")), 60, RITUAL_SUMMON, - PENTACLE_SUMMON_WILD_AFRIT, + PENTACLE_SUMMON_UNBOUND_AFRIT, Ingredient.of(Tags.Items.NETHERRACKS), Ingredient.of(Tags.Items.GEMS_QUARTZ), Ingredient.of(Items.FLINT_AND_STEEL), - Ingredient.of(Items.GUNPOWDER)) + Ingredient.of(Tags.Items.GUNPOWDERS)) .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) .entityToSummon(OccultismEntities.AFRIT_WILD.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.cows") .entityToSacrifice(OccultismTags.Entities.COWS) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_afrit")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_unbound_afrit")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get()), + makeLoreSpawnEgg(OccultismItems.MARID_ESSENCE.get(), "item.occultism.ritual_dummy.summon_unbound_marid"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_unbound_marid")), + 90, + RITUAL_SUMMON, + PENTACLE_SUMMON_UNBOUND_MARID, + Ingredient.of(Items.CONDUIT), + Ingredient.of(Tags.Items.GEMS_PRISMARINE), + Ingredient.of(Items.PRISMARINE_SHARD), + Ingredient.of(Items.GHAST_TEAR)) + .unlockedBy("has_bound_marid", has(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get())) + .entityToSummon(OccultismEntities.MARID_UNBOUND.get()) + .itemToUse(Ingredient.of(Items.TRIDENT)) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_unbound_marid")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.SKELETON_SKULL), - makeLoreSpawnEgg(Items.WITHER_SKELETON_SKULL, "item.occultism.ritual_dummy.summon_wild_hunt"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_hunt")), + makeLoreSpawnEgg(Items.WITHER_SKELETON_SKULL, "item.occultism.ritual_dummy.wild_hunt"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_hunt")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Tags.Items.STORAGE_BLOCKS_COPPER), Ingredient.of(OccultismTags.Items.STORAGE_BLOCK_SILVER), Ingredient.of(Tags.Items.STORAGE_BLOCKS_GOLD), @@ -429,14 +439,14 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.WILD_HUNT_WITHER_SKELETON.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.humans") .entityToSacrifice(OccultismTags.Entities.HUMANS) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_hunt")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_hunt")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.RAW_GOLD), - makeLoreSpawnEgg(Items.DUNE_ARMOR_TRIM_SMITHING_TEMPLATE, "item.occultism.ritual_dummy.summon_wild_husk"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_husk")), + makeLoreSpawnEgg(Items.DUNE_ARMOR_TRIM_SMITHING_TEMPLATE, "item.occultism.ritual_dummy.wild_husk"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_husk")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.SAND), Ingredient.of(Items.SANDSTONE), Ingredient.of(Items.CHISELED_SANDSTONE), @@ -454,31 +464,31 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .summonNumber(5) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.camel") .entityToSacrifice(OccultismTags.Entities.CAMEL) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_husk")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_husk")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.HEART_OF_THE_SEA), - makeLoreSpawnEgg(Items.SNIFFER_EGG, "item.occultism.ritual_dummy.summon_wild_drowned"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_drowned")), + makeLoreSpawnEgg(Items.SNIFFER_EGG, "item.occultism.ritual_dummy.wild_drowned"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_drowned")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, - Ingredient.of(Items.DEAD_BRAIN_CORAL), - Ingredient.of(Items.DEAD_BUBBLE_CORAL), - Ingredient.of(Items.DEAD_FIRE_CORAL), - Ingredient.of(Items.DEAD_HORN_CORAL), - Ingredient.of(Items.DEAD_TUBE_CORAL), + PENTACLE_CONTACT_WILD_SPIRIT, + Ingredient.of(Items.DEAD_BRAIN_CORAL_BLOCK), + Ingredient.of(Items.DEAD_BUBBLE_CORAL_BLOCK), + Ingredient.of(Items.DEAD_FIRE_CORAL_BLOCK), + Ingredient.of(Items.DEAD_HORN_CORAL_BLOCK), + Ingredient.of(Items.DEAD_TUBE_CORAL_BLOCK), Ingredient.of(Items.DRIED_KELP_BLOCK)) .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) .entityToSummon(OccultismEntities.WILD_HORDE_DROWNED.get()) .summonNumber(5) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.dolphin") .entityToSacrifice(OccultismTags.Entities.DOLPHIN) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_drowned")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_drowned")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.TNT), - makeLoreSpawnEgg(Items.MUSIC_DISC_CAT, "item.occultism.ritual_dummy.summon_wild_creeper"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_creeper")), + makeLoreSpawnEgg(Items.MUSIC_DISC_CAT, "item.occultism.ritual_dummy.wild_creeper"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_creeper")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.TNT), Ingredient.of(Items.OAK_LEAVES), Ingredient.of(Items.MOSS_BLOCK), @@ -496,13 +506,13 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .summonNumber(5) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.pigs") .entityToSacrifice(OccultismTags.Entities.PIGS) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_creeper")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_creeper")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.BRUSH), - makeLoreSpawnEgg(Items.MUSIC_DISC_RELIC, "item.occultism.ritual_dummy.summon_wild_silverfish"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_silverfish")), + makeLoreSpawnEgg(Items.MUSIC_DISC_RELIC, "item.occultism.ritual_dummy.wild_silverfish"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_silverfish")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.SAND), Ingredient.of(Items.GRAVEL), Ingredient.of(Items.BRICKS), @@ -514,14 +524,14 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.WILD_HORDE_SILVERFISH.get()) .summonNumber(7) .itemToUse(Ingredient.of(Items.EGG)) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_silverfish")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_silverfish")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.HONEYCOMB), - makeLoreSpawnEgg(Items.TRIAL_KEY, "item.occultism.ritual_dummy.possess_weak_breeze"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_weak_breeze")), + makeLoreSpawnEgg(Items.TRIAL_KEY, "item.occultism.ritual_dummy.wild_weak_breeze"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_weak_breeze")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.OXIDIZED_COPPER), Ingredient.of(Items.WEATHERED_CHISELED_COPPER), Ingredient.of(Items.EXPOSED_COPPER_GRATE), @@ -534,13 +544,13 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.POSSESSED_WEAK_BREEZE.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.snow_golem") .entityToSacrifice(OccultismTags.Entities.SNOW_GOLEM) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_weak_breeze")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_weak_breeze")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.TRIAL_KEY), - makeLoreSpawnEgg(Items.OMINOUS_TRIAL_KEY, "item.occultism.ritual_dummy.possess_breeze"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_breeze")), + makeLoreSpawnEgg(Items.OMINOUS_TRIAL_KEY, "item.occultism.ritual_dummy.wild_breeze"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_breeze")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.LIGHTNING_ROD), Ingredient.of(Items.COPPER_DOOR), Ingredient.of(Items.COPPER_TRAPDOOR), @@ -551,13 +561,13 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.POSSESSED_BREEZE.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.wolfs") .entityToSacrifice(OccultismTags.Entities.WOLFS) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_breeze")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_breeze")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.OMINOUS_TRIAL_KEY), - makeLoreSpawnEgg(Items.HEAVY_CORE, "item.occultism.ritual_dummy.possess_strong_breeze"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_strong_breeze")), + makeLoreSpawnEgg(Items.HEAVY_CORE, "item.occultism.ritual_dummy.wild_strong_breeze"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_strong_breeze")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.CHISELED_TUFF), Ingredient.of(Items.CHISELED_TUFF), Ingredient.of(Items.CHISELED_TUFF), @@ -573,29 +583,29 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.POSSESSED_STRONG_BREEZE.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.iron_golem") .entityToSacrifice(OccultismTags.Entities.IRON_GOLEM) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_strong_breeze")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_strong_breeze")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.GOLDEN_APPLE), - makeLoreSpawnEgg(Items.TOTEM_OF_UNDYING, "item.occultism.ritual_dummy.summon_horde_illager"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_horde_illager")), + makeLoreSpawnEgg(Items.TOTEM_OF_UNDYING, "item.occultism.ritual_dummy.wild_horde_illager"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/wild_horde_illager")), 30, RITUAL_SUMMON_WILD, - PENTACLE_SUMMON_WILD_GREATER_SPIRIT, - Ingredient.of(Items.OMINOUS_BOTTLE), + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.DARK_OAK_LOG), Ingredient.of(Items.DARK_OAK_LOG), Ingredient.of(Items.DARK_OAK_LOG), - Ingredient.of(Items.END_CRYSTAL), - Ingredient.of(Items.EMERALD_BLOCK)) + Ingredient.of(OccultismTags.Items.EMERALD_DUST), + Ingredient.of(OccultismTags.Items.EMERALD_DUST), + Ingredient.of(OccultismTags.Items.EMERALD_DUST)) .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) .entityToSummon(OccultismEntities.POSSESSED_EVOKER.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.humans") .entityToSacrifice(OccultismTags.Entities.HUMANS) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_horde_illager")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/wild_horde_illager")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), - makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_OTHERWORLD_BIRD.get(), "item.occultism.ritual_dummy.summon_wild_otherworld_bird"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_otherworld_bird")), + makeLoreSpawnEgg(OccultismItems.SPAWN_EGG_OTHERWORLD_BIRD.get(), "item.occultism.ritual_dummy.possess_unbound_otherworld_bird"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_unbound_otherworld_bird")), 30, RITUAL_SUMMON, PENTACLE_POSSESS_DJINNI, @@ -608,14 +618,14 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(OccultismEntities.OTHERWORLD_BIRD.get()) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.parrots") .entityToSacrifice(OccultismTags.Entities.PARROTS) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_otherworld_bird")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_unbound_otherworld_bird")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), - makeLoreSpawnEgg(Items.PARROT_SPAWN_EGG, "item.occultism.ritual_dummy.summon_wild_parrot"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_wild_parrot")), + makeLoreSpawnEgg(Items.PARROT_SPAWN_EGG, "item.occultism.ritual_dummy.possess_unbound_parrot"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_unbound_parrot")), 30, RITUAL_SUMMON, - PENTACLE_SUMMON_FOLIOT, + PENTACLE_POSSESS_FOLIOT, Ingredient.of(Tags.Items.FEATHERS), Ingredient.of(Tags.Items.DYES_GREEN), Ingredient.of(Tags.Items.DYES_YELLOW), @@ -625,14 +635,14 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid .entityToSummon(EntityType.PARROT) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.chicken") .entityToSacrifice(OccultismTags.Entities.CHICKEN) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_wild_parrot")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_unbound_parrot")); RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), - makeLoreSpawnEgg(Items.SHEEP_SPAWN_EGG, "item.occultism.ritual_dummy.summon_random_animal"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_random_animal")), + makeLoreSpawnEgg(Items.SHEEP_SPAWN_EGG, "item.occultism.ritual_dummy.possess_random_animal"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_random_animal")), 30, - OccultismRituals.SUMMON.getId(), - PENTACLE_SUMMON_FOLIOT, + RITUAL_SUMMON, + PENTACLE_POSSESS_FOLIOT, Ingredient.of(Tags.Items.CROPS), Ingredient.of(Tags.Items.CROPS), Ingredient.of(Tags.Items.CROPS), @@ -644,23 +654,7 @@ private static void summonRituals(RecipeOutput recipeOutput, HolderLookup.Provid Ingredient.of(Items.EGG)) .entityTagToSummon(OccultismTags.Entities.RANDOM_ANIMALS_TO_SUMMON_LIST) .unlockedBy("has_bound_foliot", has(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get())) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_random_animal")); - - RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.SUGAR), - makeLoreSpawnEgg(Items.ALLAY_SPAWN_EGG, "item.occultism.ritual_dummy.summon_allay"), - makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/summon_allay")), - 30, - RITUAL_SUMMON, - PENTACLE_SUMMON_FOLIOT, - Ingredient.of(Tags.Items.DUSTS_REDSTONE), - Ingredient.of(Tags.Items.DUSTS_GLOWSTONE), - Ingredient.of(OccultismTags.Items.SILVER_DUST), - Ingredient.of(OccultismTags.Items.GOLD_DUST)) - .unlockedBy("has_bound_foliot", has(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get())) - .entityToSummon(EntityType.ALLAY) - .entityToSacrificeDisplayName("ritual.occultism.sacrifice.vex") - .entityToSacrifice(OccultismTags.Entities.VEX) - .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/summon_allay")); + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_random_animal")); } private static void possessRituals(RecipeOutput recipeOutput) { @@ -674,7 +668,7 @@ private static void possessRituals(RecipeOutput recipeOutput) { Ingredient.of(Items.PRISMARINE), Ingredient.of(Items.PRISMARINE_BRICKS), Ingredient.of(Items.DARK_PRISMARINE), - Ingredient.of(Items.WET_SPONGE), + Ingredient.of(Items.YELLOW_WOOL), Ingredient.of(Items.SEA_LANTERN), Ingredient.of(Items.WATER_BUCKET), Ingredient.of(Items.WATER_BUCKET), @@ -795,7 +789,7 @@ private static void possessRituals(RecipeOutput recipeOutput) { RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), makeLoreSpawnEgg(Items.SKELETON_SKULL, "item.occultism.ritual_dummy.possess_skeleton"), makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_skeleton")), - 30, + 15, RITUAL_SUMMON, PENTACLE_POSSESS_FOLIOT, Ingredient.of(Tags.Items.BONES), @@ -818,11 +812,9 @@ private static void possessRituals(RecipeOutput recipeOutput) { Ingredient.of(Items.SCULK_SENSOR), Ingredient.of(Items.SCULK), Ingredient.of(Items.SCULK), - Ingredient.of(Items.SCULK_SHRIEKER), Ingredient.of(Items.SCULK_SENSOR), Ingredient.of(Items.SCULK), Ingredient.of(Items.SCULK), - Ingredient.of(Items.SCULK_SHRIEKER), Ingredient.of(Items.SCULK_SENSOR), Ingredient.of(Items.SCULK), Ingredient.of(Items.SCULK)) @@ -848,7 +840,77 @@ private static void possessRituals(RecipeOutput recipeOutput) { .entityToSummon(OccultismEntities.POSSESSED_WEAK_SHULKER_TYPE.get()) .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_weak_shulker")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), + makeLoreSpawnEgg(Items.EXPERIENCE_BOTTLE, "item.occultism.ritual_dummy.possess_witch"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_witch")), + 30, + RITUAL_SUMMON, + PENTACLE_POSSESS_FOLIOT, + Ingredient.of(Items.GLASS_BOTTLE), + Ingredient.of(Tags.Items.DUSTS_REDSTONE), + Ingredient.of(Items.BROWN_MUSHROOM), + Ingredient.of(Items.RED_MUSHROOM)) + .unlockedBy("has_bound_foliot", has(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get())) + .entityToSummon(OccultismEntities.POSSESSED_WITCH_TYPE.get()) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.cats") + .entityToSacrifice(OccultismTags.Entities.CATS) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_witch")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get()), + makeLoreSpawnEgg(OccultismItems.DEMONIC_MEAT.get(), "item.occultism.ritual_dummy.possess_zombie_piglin"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_zombie_piglin")), + 90, + RITUAL_SUMMON, + PENTACLE_POSSESS_UNBOUND_AFRIT, + Ingredient.of(Items.CHERRY_LEAVES), + Ingredient.of(Items.PINK_PETALS), + Ingredient.of(OccultismItems.TALLOW), + Ingredient.of(Items.QUARTZ)) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) + .entityToSummon(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN_TYPE.get()) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.pigs") + .entityToSacrifice(OccultismTags.Entities.PIGS) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_zombie_piglin")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), + makeLoreSpawnEgg(OccultismItems.CURSED_HONEY.get(), "item.occultism.ritual_dummy.possess_bee"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_bee")), + 60, + RITUAL_SUMMON, + PENTACLE_POSSESS_DJINNI, + Ingredient.of(Items.HONEYCOMB), + Ingredient.of(Items.HONEY_BLOCK), + Ingredient.of(Items.HONEY_BOTTLE), + Ingredient.of(Items.HONEYCOMB_BLOCK)) + .unlockedBy("has_bound_djinni", has(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get())) + .entityToSummon(OccultismEntities.POSSESSED_BEE_TYPE.get()) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.bats") + .entityToSacrifice(OccultismTags.Entities.BATS) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_bee")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get()), + makeLoreSpawnEgg(OccultismItems.CRUELTY_ESSENCE.get(), "item.occultism.ritual_dummy.possess_goat"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/possess_goat")), + 240, + RITUAL_SUMMON, + PENTACLE_POSSESS_MARID, + Ingredient.of(Items.POINTED_DRIPSTONE), + Ingredient.of(Items.POINTED_DRIPSTONE), + Ingredient.of(Items.RABBIT_FOOT), + Ingredient.of(Items.RABBIT_FOOT), + Ingredient.of(Items.RABBIT_FOOT), + Ingredient.of(Items.RABBIT_FOOT), + Ingredient.of(Items.ARMADILLO_SCUTE), + Ingredient.of(Items.ARMADILLO_SCUTE), + Ingredient.of(Items.ARMADILLO_SCUTE), + Ingredient.of(Items.ARMADILLO_SCUTE), + Ingredient.of(ItemTags.WOOL), + Ingredient.of(ItemTags.WOOL)) + .unlockedBy("has_bound_marid", has(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get())) + .entityToSummon(OccultismEntities.GOAT_OF_MERCY_TYPE.get()) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.tadpoles") + .entityToSacrifice(OccultismTags.Entities.TADPOLES) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/possess_goat")); } private static void familiarRituals(RecipeOutput recipeOutput) { @@ -1107,8 +1169,8 @@ private static void familiarRituals(RecipeOutput recipeOutput) { 30, RITUAL_FAMILIAR, PENTACLE_POSSESS_DJINNI, - Ingredient.of(Tags.Items.SLIMEBALLS), - Ingredient.of(Tags.Items.SLIMEBALLS), + Ingredient.of(Tags.Items.SLIME_BALLS), + Ingredient.of(Tags.Items.SLIME_BALLS), Ingredient.of(Items.PAPER), Ingredient.of(Items.PAPER), Ingredient.of(ItemTags.WOOL), @@ -1270,7 +1332,7 @@ private static void craftingRituals(RecipeOutput recipeOutput) { makeRitualDummy(OccultismItems.RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2.get()), 240, RITUAL_CRAFT_WITH_SPIRIT_NAME, - PENTACLE_CRAFT_DJINNI, + PENTACLE_CRAFT_AFRIT, Ingredient.of(Items.HOPPER), Ingredient.of(Items.DISPENSER), Ingredient.of(ItemTags.WOOL), @@ -1400,7 +1462,7 @@ private static void craftingRituals(RecipeOutput recipeOutput) { makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_wild_trim")), 240, RITUAL_CRAFT, - PENTACLE_CRAFT_MARID, + PENTACLE_CONTACT_WILD_SPIRIT, Ingredient.of(Items.MOSSY_COBBLESTONE), Ingredient.of(Items.JUNGLE_SAPLING), Ingredient.of(Items.BAMBOO), @@ -1413,10 +1475,129 @@ private static void craftingRituals(RecipeOutput recipeOutput) { Ingredient.of(Items.JUNGLE_SAPLING), Ingredient.of(Items.BAMBOO), Ingredient.of(Items.GLISTERING_MELON_SLICE)) - .unlockedBy("has_bound_marid", has(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get())) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) .entityToSacrifice(OccultismTags.Entities.OCELOT) .entityToSacrificeDisplayName("ritual.occultism.sacrifice.ocelot") .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_wild_trim")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), + new ItemStack(OccultismItems.RESEARCH_FRAGMENT_DUST.get()), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_research_fragment_dust")), + 60, + RITUAL_CRAFT, + PENTACLE_CRAFT_FOLIOT, + Ingredient.of(OccultismTags.Items.EMERALD_DUST), + Ingredient.of(Items.EXPERIENCE_BOTTLE), + Ingredient.of(Items.EXPERIENCE_BOTTLE)) + .unlockedBy("has_bound_foliot", has(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_research_fragment_dust")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get()), + new ItemStack(OccultismItems.NATURE_PASTE.get()), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_nature_paste")), + 30, + RITUAL_CRAFT, + PENTACLE_CRAFT_FOLIOT, + Ingredient.of(ItemTags.LEAVES), + Ingredient.of(ItemTags.SAPLINGS), + Ingredient.of(Tags.Items.SEEDS), + Ingredient.of(ItemTags.LEAVES), + Ingredient.of(ItemTags.SAPLINGS), + Ingredient.of(Tags.Items.SEEDS), + Ingredient.of(ItemTags.LEAVES), + Ingredient.of(ItemTags.SAPLINGS), + Ingredient.of(Tags.Items.SEEDS)) + .unlockedBy("has_bound_foliot", has(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_nature_paste")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get()), + new ItemStack(OccultismItems.GRAY_PASTE.get()), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_gray_paste")), + 90, + RITUAL_CRAFT, + PENTACLE_CRAFT_DJINNI, + Ingredient.of(Tags.Items.GUNPOWDERS), + Ingredient.of(Items.CLAY_BALL), + Ingredient.of(Items.WIND_CHARGE)) + .unlockedBy("has_bound_djinni", has(OccultismItems.BOOK_OF_BINDING_BOUND_DJINNI.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_gray_paste")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get()), + new ItemStack(OccultismItems.WITHERITE_DUST.get(), 3), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_witherite_dust")), + 150, + RITUAL_CRAFT, + PENTACLE_CRAFT_AFRIT, + Ingredient.of(OccultismTags.Items.NETHERITE_DUST), + Ingredient.of(OccultismTags.Items.BLACKSTONE_DUST), + Ingredient.of(OccultismTags.Items.BLACKSTONE_DUST), + Ingredient.of(Items.WITHER_ROSE), + Ingredient.of(Items.WITHER_ROSE), + Ingredient.of(Items.WITHER_ROSE)) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_witherite_dust")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get()), + new ItemStack(OccultismItems.DRAGONYST_DUST.get()), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_dragonyst_dust")), + 300, + RITUAL_CRAFT, + PENTACLE_CRAFT_MARID, + Ingredient.of(OccultismTags.Items.AMETHYST_DUST), + Ingredient.of(OccultismTags.Items.AMETHYST_DUST), + Ingredient.of(OccultismTags.Items.END_STONE_DUST), + Ingredient.of(Items.END_CRYSTAL), + Ingredient.of(Items.END_CRYSTAL), + Ingredient.of(Items.END_CRYSTAL), + Ingredient.of(Items.END_CRYSTAL), + Ingredient.of(Items.DRAGON_BREATH), + Ingredient.of(Items.DRAGON_BREATH), + Ingredient.of(Items.DRAGON_BREATH)) + .unlockedBy("has_bound_marid", has(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_dragonyst_dust")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.AMETHYST_BLOCK), + new ItemStack(Items.BUDDING_AMETHYST), + makeRitualDummy(OccultismItems.RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST.get()), + 180, + RITUAL_CRAFT, + PENTACLE_CONTACT_WILD_SPIRIT, + Ingredient.of(Items.SMALL_AMETHYST_BUD), + Ingredient.of(Items.MEDIUM_AMETHYST_BUD), + Ingredient.of(Items.LARGE_AMETHYST_BUD), + Ingredient.of(Items.AMETHYST_CLUSTER), + Ingredient.of(Items.AMETHYST_SHARD), + Ingredient.of(OccultismTags.Items.AMETHYST_DUST), + Ingredient.of(Items.SMALL_AMETHYST_BUD), + Ingredient.of(Items.MEDIUM_AMETHYST_BUD), + Ingredient.of(Items.LARGE_AMETHYST_BUD), + Ingredient.of(Items.AMETHYST_CLUSTER), + Ingredient.of(Items.AMETHYST_SHARD), + Ingredient.of(OccultismTags.Items.AMETHYST_DUST)) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT.get())) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.allay") + .entityToSacrifice(OccultismTags.Entities.ALLAY) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_budding_amethyst")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.DEEPSLATE), + new ItemStack(Items.REINFORCED_DEEPSLATE), + makeRitualDummy(OccultismItems.RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE.get()), + 360, + RITUAL_CRAFT, + PENTACLE_CONTACT_ELDRITCH_SPIRIT, + Ingredient.of(Tags.Items.NETHER_STARS), + Ingredient.of(Items.SHULKER_SHELL), + Ingredient.of(Items.ARMADILLO_SCUTE), + Ingredient.of(Items.TURTLE_SCUTE), + Ingredient.of(Items.ECHO_SHARD), + Ingredient.of(Items.ANVIL), + Ingredient.of(Tags.Items.STORAGE_BLOCKS_NETHERITE), + Ingredient.of(Tags.Items.OBSIDIANS), + Ingredient.of(Tags.Items.OBSIDIANS_CRYING), + Ingredient.of(Items.END_STONE_BRICKS), + Ingredient.of(Items.SCULK_CATALYST), + Ingredient.of(OccultismTags.Items.STORAGE_BLOCK_IESNIUM)) + .unlockedBy("has_bound_marid", has(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get())) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.warden") + .entityToSacrifice(OccultismTags.Entities.WARDEN) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_reinforced_deepslate")); + } private static void minerRecipes(RecipeOutput recipeOutput) { @@ -1478,5 +1659,99 @@ private static void minerRecipes(RecipeOutput recipeOutput) { Ingredient.of(Items.NETHER_STAR)) .unlockedBy("has_bound_marid", has(OccultismItems.BOOK_OF_BINDING_BOUND_MARID.get())) .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_miner_marid_master")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.MINING_DIMENSION_CORE_PIECE.get()), + new ItemStack(OccultismItems.MINER_ANCIENT_ELDRITCH.get()), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/craft_miner_ancient_eldritch")), + 360, + RITUAL_CRAFT_MINER_SPIRIT, + PENTACLE_CONTACT_ELDRITCH_SPIRIT, + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get()), + Ingredient.of(OccultismItems.MINER_MARID_MASTER.get())) + .unlockedBy("has_mining_dimension_core", has(OccultismItems.MINING_DIMENSION_CORE_PIECE.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/craft_miner_ancient_eldritch")); + } + private static void resurrectRituals(RecipeOutput recipeOutput) { + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismItems.SOUL_SHARD_ITEM.get()), + makeLoreSpawnEgg(OccultismItems.RESURRECT_ICON.get(), "item.occultism.ritual_dummy.resurrect_familiar"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/resurrect_familiar")), + 15, + RITUAL_RESURRECT_FAMILIAR, + PENTACLE_RESURRECT_SPIRIT, + Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get()), + Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get()), + Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get()), + Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE.get())) + .unlockedBy("has_otherworld_essence", has(OccultismItems.OTHERWORLD_ESSENCE.get())) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/resurrect_familiar")); + + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Items.SUGAR), + makeLoreSpawnEgg(Items.ALLAY_SPAWN_EGG, "item.occultism.ritual_dummy.resurrect_allay"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual_dummy/resurrect_allay")), + 30, + RITUAL_SUMMON, + PENTACLE_RESURRECT_SPIRIT, + Ingredient.of(Tags.Items.DUSTS_REDSTONE), + Ingredient.of(Tags.Items.DUSTS_GLOWSTONE), + Ingredient.of(OccultismTags.Items.SILVER_DUST), + Ingredient.of(OccultismTags.Items.GOLD_DUST)) + .unlockedBy("has_bound_foliot", has(OccultismItems.BOOK_OF_BINDING_BOUND_FOLIOT.get())) + .entityToSummon(EntityType.ALLAY) + .entityToSacrificeDisplayName("ritual.occultism.sacrifice.vex") + .entityToSacrifice(OccultismTags.Entities.VEX) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ritual/resurrect_allay")); + } + private static void repairRituals(RecipeOutput recipeOutput) { + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismTags.Items.TOOLS_CHALK), + makeLoreSpawnEgg(OccultismItems.REPAIR_ICON.get(), "item.occultism.ritual_dummy.repair_chalks"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual_dummy/repair_chalks")), + 5, + RITUAL_REPAIR, + PENTACLE_CRAFT_DJINNI, + Ingredient.of(OccultismTags.Items.COPPER_DUST), + Ingredient.of(OccultismTags.Items.OTHERWORLD_WOOD_DUST), + Ingredient.of(OccultismTags.Items.OTHERSTONE_DUST)) + .unlockedBy("has_white_chalk", has(OccultismItems.CHALK_WHITE)) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual/repair_chalks")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Tags.Items.TOOLS), + makeLoreSpawnEgg(OccultismItems.REPAIR_ICON.get(), "item.occultism.ritual_dummy.repair_tools"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual_dummy/repair_tools")), + 60, + RITUAL_REPAIR, + PENTACLE_CRAFT_AFRIT, + Ingredient.of(OccultismTags.Items.IESNIUM_INGOT), + Ingredient.of(OccultismTags.Items.IESNIUM_INGOT), + Ingredient.of(OccultismItems.SPIRIT_ATTUNED_GEM)) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT)) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual/repair_tools")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(Tags.Items.ARMORS), + makeLoreSpawnEgg(OccultismItems.REPAIR_ICON.get(), "item.occultism.ritual_dummy.repair_armors"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual_dummy/repair_armors")), + 60, + RITUAL_REPAIR, + PENTACLE_CRAFT_AFRIT, + Ingredient.of(OccultismTags.Items.IESNIUM_INGOT), + Ingredient.of(OccultismTags.Items.IESNIUM_INGOT), + Ingredient.of(OccultismTags.Items.SCUTESHELL), + Ingredient.of(OccultismItems.SPIRIT_ATTUNED_GEM)) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT)) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual/repair_armors")); + RitualRecipeBuilder.ritualRecipeBuilder(Ingredient.of(OccultismTags.Items.Miners.MINERS), + makeLoreSpawnEgg(OccultismItems.REPAIR_ICON.get(), "item.occultism.ritual_dummy.repair_miners"), + makeRitualDummy(ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual_dummy/repair_miners")), + 60, + RITUAL_REPAIR, + PENTACLE_CRAFT_AFRIT, + Ingredient.of(OccultismTags.Items.STORAGE_BLOCK_IESNIUM), + Ingredient.of(OccultismBlocks.SPIRIT_ATTUNED_CRYSTAL), + Ingredient.of(OccultismItems.OTHERWORLD_ESSENCE)) + .unlockedBy("has_bound_afrit", has(OccultismItems.BOOK_OF_BINDING_BOUND_AFRIT)) + .save(recipeOutput, ResourceLocation.fromNamespaceAndPath(Occultism.MODID,"ritual/repair_miners")); } } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/CrushingRecipeBuilder.java b/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/CrushingRecipeBuilder.java index 62194fe24..d65863301 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/CrushingRecipeBuilder.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/CrushingRecipeBuilder.java @@ -63,6 +63,14 @@ public static CrushingRecipeBuilder crushingRecipe(Ingredient ingredient, ItemLi return new CrushingRecipeBuilder(ingredient, RecipeResult.of(new ItemStack(result)), crushingTime); } + public static CrushingRecipeBuilder crushingRecipe(Item item, TagKey result, int crushingTime) { + return new CrushingRecipeBuilder(Ingredient.of(item), TagRecipeResult.of(result), crushingTime); + } + + public static CrushingRecipeBuilder crushingRecipe(Item item, ItemLike result, int crushingTime) { + return new CrushingRecipeBuilder(Ingredient.of(item), RecipeResult.of(new ItemStack(result)), crushingTime); + } + public static CrushingRecipeBuilder crushingRecipe(TagKey ingredient, TagKey result, int crushingTime) { return new CrushingRecipeBuilder(Ingredient.of(ingredient), TagRecipeResult.of(result), crushingTime); } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/MinerRecipeBuilder.java b/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/MinerRecipeBuilder.java index 1f88b3de4..7d3f6114b 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/MinerRecipeBuilder.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/recipe/builders/MinerRecipeBuilder.java @@ -59,11 +59,19 @@ public static MinerRecipeBuilder minerRecipe(TagKey ingredient, ItemLike o public static MinerRecipeBuilder minerRecipe(Ingredient ingredient, TagKey output, int weight) { return new MinerRecipeBuilder(ingredient, WeightedTagRecipeResult.of(output, 1, weight)); } + public static MinerRecipeBuilder minerRecipe(Ingredient ingredient, TagKey output, int weight, int count) { + return new MinerRecipeBuilder(ingredient, WeightedTagRecipeResult.of(output, count, weight)); + } public static MinerRecipeBuilder minerRecipe(TagKey ingredient, TagKey output, int weight) { return minerRecipe(Ingredient.of(ingredient), output, weight); } + public static MinerRecipeBuilder minerRecipe(TagKey ingredient, TagKey output, int weight, int count) { + return minerRecipe(Ingredient.of(ingredient), output, weight, count); + } + + @Override public MinerRecipeBuilder unlockedBy(String s, Criterion criterionTriggerInstance) { this.criteria.put(s, criterionTriggerInstance); diff --git a/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismBlockTagProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismBlockTagProvider.java index 8669dbe1d..9fd395929 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismBlockTagProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismBlockTagProvider.java @@ -108,6 +108,7 @@ public void addMinecraftTags(HolderLookup.Provider provider) { this.tag(BlockTags.WALL_HANGING_SIGNS).add(OccultismBlocks.OTHERPLANKS_WALL_HANGING_SIGN.get()).replace(false); this.tag(BlockTags.PIGLIN_REPELLENTS).add(OccultismBlocks.SPIRIT_CAMPFIRE.get()).replace(false); this.tag(BlockTags.SAPLINGS).addTags(OccultismTags.Blocks.OTHERWORLD_SAPLINGS).replace(false); + this.tag(BlockTags.SAPLINGS).addTags(OccultismTags.Blocks.OTHERWORLD_SAPLINGS_NATURAL).replace(false); } @Override @@ -128,6 +129,8 @@ private void addOccultismTags(HolderLookup.Provider provider) { this.tag(OccultismTags.Blocks.OTHERWORLD_SAPLINGS) .add(OccultismBlocks.OTHERWORLD_SAPLING.get(), OccultismBlocks.OTHERWORLD_SAPLING_NATURAL.get()).replace(false); + this.tag(OccultismTags.Blocks.OTHERWORLD_SAPLINGS_NATURAL) + .add(OccultismBlocks.OTHERWORLD_SAPLING_NATURAL.get()).replace(false); this.tag(OccultismTags.Blocks.OCCULTISM_CANDLES).add( OccultismBlocks.LARGE_CANDLE.get(), OccultismBlocks.LARGE_CANDLE_WHITE.get(), @@ -150,7 +153,7 @@ private void addOccultismTags(HolderLookup.Provider provider) { this.tag(OccultismTags.Blocks.CHALK_GLYPHS) .add(OccultismBlocks.CHALK_GLYPH_WHITE.get()) - .add(OccultismBlocks.CHALK_GLYPH_GOLD.get()) + .add(OccultismBlocks.CHALK_GLYPH_YELLOW.get()) .add(OccultismBlocks.CHALK_GLYPH_PURPLE.get()) .add(OccultismBlocks.CHALK_GLYPH_RED.get()) .add(OccultismBlocks.CHALK_GLYPH_LIGHT_GRAY.get()) @@ -166,6 +169,19 @@ private void addOccultismTags(HolderLookup.Provider provider) { .add(OccultismBlocks.CHALK_GLYPH_MAGENTA.get()) .add(OccultismBlocks.CHALK_GLYPH_PINK.get()).replace(false); + this.tag(OccultismTags.Blocks.FOUNDATION_GLYPHS_ANY) + .add(OccultismBlocks.CHALK_GLYPH_WHITE.get()) + .add(OccultismBlocks.CHALK_GLYPH_LIGHT_GRAY.get()) + .add(OccultismBlocks.CHALK_GLYPH_GRAY.get()) + .add(OccultismBlocks.CHALK_GLYPH_BLACK.get()).replace(false); + this.tag(OccultismTags.Blocks.FOUNDATION_GLYPHS_NO_WHITE) + .add(OccultismBlocks.CHALK_GLYPH_LIGHT_GRAY.get()) + .add(OccultismBlocks.CHALK_GLYPH_GRAY.get()) + .add(OccultismBlocks.CHALK_GLYPH_BLACK.get()).replace(false); + this.tag(OccultismTags.Blocks.FOUNDATION_GLYPHS_DARK) + .add(OccultismBlocks.CHALK_GLYPH_GRAY.get()) + .add(OccultismBlocks.CHALK_GLYPH_BLACK.get()).replace(false); + this.tag(OccultismTags.Blocks.CAVE_WALL_BLOCKS).add(Blocks.STONE, Blocks.GRANITE, Blocks.DIORITE, Blocks.ANDESITE).replace(false); this.tag(OccultismTags.Blocks.NETHERRACK).add(Blocks.NETHERRACK).replace(false); this.tag(OccultismTags.Blocks.STORAGE_STABILIZER) diff --git a/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismEntityTypeTagProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismEntityTypeTagProvider.java index 320dde58f..620e4bab4 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismEntityTypeTagProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismEntityTypeTagProvider.java @@ -67,9 +67,20 @@ private void addOccultismTags(HolderLookup.Provider pProvider) { .add(OccultismEntities.AFRIT_TYPE.get()) .add(OccultismEntities.AFRIT_WILD_TYPE.get()) .add(OccultismEntities.MARID_TYPE.get()) + .add(OccultismEntities.MARID_UNBOUND_TYPE.get()) .add(OccultismEntities.POSSESSED_ENDERMITE_TYPE.get()) + .add(OccultismEntities.POSSESSED_SKELETON_TYPE.get()) .add(OccultismEntities.POSSESSED_ENDERMAN_TYPE.get()) .add(OccultismEntities.POSSESSED_GHAST_TYPE.get()) + .add(OccultismEntities.POSSESSED_PHANTOM_TYPE.get()) + .add(OccultismEntities.POSSESSED_WEAK_SHULKER_TYPE.get()) + .add(OccultismEntities.POSSESSED_SHULKER_TYPE.get()) + .add(OccultismEntities.POSSESSED_ELDER_GUARDIAN_TYPE.get()) + .add(OccultismEntities.POSSESSED_WARDEN_TYPE.get()) + .add(OccultismEntities.POSSESSED_HOGLIN_TYPE.get()) + .add(OccultismEntities.POSSESSED_WITCH_TYPE.get()) + .add(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN_TYPE.get()) + .add(OccultismEntities.POSSESSED_BEE_TYPE.get()) .add(OccultismEntities.WILD_HUNT_SKELETON_TYPE.get()) .add(OccultismEntities.WILD_HUNT_WITHER_SKELETON_TYPE.get()) .add(OccultismEntities.OTHERWORLD_BIRD_TYPE.get()) @@ -163,7 +174,7 @@ private void addCommonTags() { this.tag(OccultismTags.Entities.COWS).add(EntityType.COW).replace(false); this.tag(OccultismTags.Entities.DONKEYS).add(EntityType.DONKEY).replace(false); this.tag(OccultismTags.Entities.FISH).add(EntityType.COD).add(EntityType.SALMON).add(EntityType.TROPICAL_FISH).add(EntityType.PUFFERFISH).replace(false); - this.tag(OccultismTags.Entities.GOATS).add(EntityType.GOAT).replace(false); + this.tag(OccultismTags.Entities.GOATS).add(EntityType.GOAT).add(OccultismEntities.GOAT_OF_MERCY_TYPE.get()).replace(false); this.tag(OccultismTags.Entities.HOGLINS).add(EntityType.HOGLIN).replace(false); this.tag(OccultismTags.Entities.HORSES).add(EntityType.HORSE).replace(false); this.tag(OccultismTags.Entities.LLAMAS).add(EntityType.LLAMA).add(EntityType.TRADER_LLAMA).replace(false); @@ -180,6 +191,10 @@ private void addCommonTags() { this.tag(OccultismTags.Entities.DOLPHIN).add(EntityType.DOLPHIN).replace(false); this.tag(OccultismTags.Entities.WOLFS).add(EntityType.WOLF).replace(false); this.tag(OccultismTags.Entities.OCELOT).add(EntityType.OCELOT).replace(false); + this.tag(OccultismTags.Entities.CATS).add(EntityType.CAT).add(EntityType.OCELOT).replace(false); this.tag(OccultismTags.Entities.VEX).add(EntityType.VEX).replace(false); + this.tag(OccultismTags.Entities.TADPOLES).add(EntityType.TADPOLE).replace(false); + this.tag(OccultismTags.Entities.ALLAY).add(EntityType.ALLAY).replace(false); + this.tag(OccultismTags.Entities.WARDEN).add(EntityType.WARDEN).add(OccultismEntities.POSSESSED_WARDEN_TYPE.get()).replace(false); } } diff --git a/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismItemTagProvider.java b/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismItemTagProvider.java index 13fea1df6..a663b4c6d 100644 --- a/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismItemTagProvider.java +++ b/src/main/java/com/klikli_dev/occultism/datagen/tags/OccultismItemTagProvider.java @@ -88,6 +88,13 @@ private void addOccultismTags(HolderLookup.Provider provider) { .add(Items.WITHER_SKELETON_SKULL) .replace(false); + this.tag(OccultismTags.Items.SCUTESHELL) + .add(Items.ARMADILLO_SCUTE) + .add(Items.TURTLE_SCUTE) + .add(Items.SHULKER_SHELL) + .add(Items.NAUTILUS_SHELL) + .replace(false); + this.copy(OccultismTags.Blocks.PENTACLE_MATERIALS, OccultismTags.Items.PENTACLE_MATERIALS); this.tag(OccultismTags.Items.PENTACLE_MATERIALS) .addOptionalTag(OccultismTags.Items.TOOLS_CHALK) @@ -116,15 +123,17 @@ private void addOccultismTags(HolderLookup.Provider provider) { this.tag(OccultismTags.Items.Miners.MASTER).add(OccultismItems.MINER_MARID_MASTER.get()).replace(false); this.tag(OccultismTags.Items.Miners.ORES).add(OccultismItems.MINER_FOLIOT_UNSPECIALIZED.get(), OccultismItems.MINER_DEBUG_UNSPECIALIZED.get(), OccultismItems.MINER_AFRIT_DEEPS.get(), OccultismItems.MINER_MARID_MASTER.get(), OccultismItems.MINER_DJINNI_ORES.get()).replace(false); + this.tag(OccultismTags.Items.Miners.ELDRITCH).add(OccultismItems.MINER_ANCIENT_ELDRITCH.get()).replace(false); this.tag(OccultismTags.Items.Miners.MINERS) .addTag(OccultismTags.Items.Miners.BASIC_RESOURCES) .addTag(OccultismTags.Items.Miners.DEEPS) .addTag(OccultismTags.Items.Miners.MASTER) - .addTag(OccultismTags.Items.Miners.ORES).replace(false); + .addTag(OccultismTags.Items.Miners.ORES) + .addTag(OccultismTags.Items.Miners.ELDRITCH).replace(false); this.tag(OccultismTags.Items.TOOLS_CHALK) - .add(OccultismItems.CHALK_GOLD.get()) + .add(OccultismItems.CHALK_YELLOW.get()) .add(OccultismItems.CHALK_WHITE.get()) .add(OccultismItems.CHALK_RED.get()) .add(OccultismItems.CHALK_PURPLE.get()) @@ -143,7 +152,9 @@ private void addOccultismTags(HolderLookup.Provider provider) { .replace(false); this.copy(OccultismTags.Blocks.OTHERWORLD_SAPLINGS, OccultismTags.Items.OTHERWORLD_SAPLINGS); + this.copy(OccultismTags.Blocks.OTHERWORLD_SAPLINGS_NATURAL, OccultismTags.Items.OTHERWORLD_SAPLINGS_NATURAL); this.tag(OccultismTags.Items.TOOLS_KNIFE).add(OccultismItems.BUTCHER_KNIFE.get()).replace(false); + this.tag(Tags.Items.TOOLS).addOptionalTag(OccultismTags.Items.TOOLS_KNIFE).replace(false); //Don't place chalks this.tag(OccultismTags.Items.ELYTRA).add(Items.ELYTRA).addOptional(ResourceLocation.fromNamespaceAndPath("mana-and-artifice", "spectral_elytra")).replace(false); this.tag(OccultismTags.Items.OTHERWORLD_GOGGLES).add(OccultismItems.OTHERWORLD_GOGGLES.get()).replace(false); this.tag(OccultismTags.Items.OTHERSTONE).add(OccultismBlocks.OTHERSTONE.asItem()); @@ -319,12 +330,46 @@ private void addDusts(HolderLookup.Provider provider) { this.tag(OccultismTags.Items.IESNIUM_DUST).add(OccultismItems.IESNIUM_DUST.get()).replace(false); this.tag(OccultismTags.Items.SILVER_DUST).add(OccultismItems.SILVER_DUST.get()).replace(false); this.tag(OccultismTags.Items.OBSIDIAN_DUST).add(OccultismItems.OBSIDIAN_DUST.get()).replace(false); - this.tag(Tags.Items.DUSTS) - .addTags(OccultismTags.Items.COPPER_DUST, OccultismTags.Items.END_STONE_DUST, - OccultismTags.Items.GOLD_DUST, OccultismTags.Items.IRON_DUST, OccultismTags.Items.IESNIUM_DUST, - OccultismTags.Items.SILVER_DUST, OccultismTags.Items.OBSIDIAN_DUST) - .add(OccultismItems.BURNT_OTHERSTONE.get(), OccultismItems.OTHERWORLD_ASHES.get()).replace(false); - + this.tag(OccultismTags.Items.AMETHYST_DUST).add(OccultismItems.AMETHYST_DUST.get()).replace(false); + this.tag(OccultismTags.Items.BLACKSTONE_DUST).add(OccultismItems.CRUSHED_BLACKSTONE.get()).replace(false); + this.tag(OccultismTags.Items.BLUE_ICE_DUST).add(OccultismItems.CRUSHED_BLUE_ICE.get()).replace(false); + this.tag(OccultismTags.Items.CALCITE_DUST).add(OccultismItems.CRUSHED_CALCITE.get()).replace(false); + this.tag(OccultismTags.Items.ICE_DUST).add(OccultismItems.CRUSHED_ICE.get()).replace(false); + this.tag(OccultismTags.Items.PACKED_ICE_DUST).add(OccultismItems.CRUSHED_PACKED_ICE.get()).replace(false); + this.tag(OccultismTags.Items.DRAGONYST_DUST).add(OccultismItems.DRAGONYST_DUST.get()).replace(false); + this.tag(OccultismTags.Items.ECHO_DUST).add(OccultismItems.ECHO_DUST.get()).replace(false); + this.tag(OccultismTags.Items.EMERALD_DUST).add(OccultismItems.EMERALD_DUST.get()).replace(false); + this.tag(OccultismTags.Items.LAPIS_DUST).add(OccultismItems.LAPIS_DUST.get()).replace(false); + this.tag(OccultismTags.Items.NETHERITE_DUST).add(OccultismItems.NETHERITE_DUST.get()).replace(false); + this.tag(OccultismTags.Items.NETHERITE_SCRAP_DUST).add(OccultismItems.NETHERITE_SCRAP_DUST.get()).replace(false); + this.tag(OccultismTags.Items.RESEARCH_DUST).add(OccultismItems.RESEARCH_FRAGMENT_DUST.get()).replace(false); + this.tag(OccultismTags.Items.WITHERITE_DUST).add(OccultismItems.WITHERITE_DUST.get()).replace(false); + this.tag(OccultismTags.Items.OTHERSTONE_DUST).add(OccultismItems.BURNT_OTHERSTONE.get()).replace(false); + this.tag(OccultismTags.Items.OTHERWORLD_WOOD_DUST).add(OccultismItems.OTHERWORLD_ASHES.get()).replace(false); + this.tag(Tags.Items.DUSTS).addTags( + OccultismTags.Items.COPPER_DUST, + OccultismTags.Items.END_STONE_DUST, + OccultismTags.Items.GOLD_DUST, + OccultismTags.Items.IRON_DUST, + OccultismTags.Items.IESNIUM_DUST, + OccultismTags.Items.SILVER_DUST, + OccultismTags.Items.OBSIDIAN_DUST, + OccultismTags.Items.AMETHYST_DUST, + OccultismTags.Items.BLACKSTONE_DUST, + OccultismTags.Items.BLUE_ICE_DUST, + OccultismTags.Items.CALCITE_DUST, + OccultismTags.Items.ICE_DUST, + OccultismTags.Items.PACKED_ICE_DUST, + OccultismTags.Items.DRAGONYST_DUST, + OccultismTags.Items.ECHO_DUST, + OccultismTags.Items.EMERALD_DUST, + OccultismTags.Items.LAPIS_DUST, + OccultismTags.Items.NETHERITE_DUST, + OccultismTags.Items.NETHERITE_SCRAP_DUST, + OccultismTags.Items.RESEARCH_DUST, + OccultismTags.Items.WITHERITE_DUST, + OccultismTags.Items.OTHERSTONE_DUST, + OccultismTags.Items.OTHERWORLD_WOOD_DUST); } private TagKey cTag(String path) { diff --git a/src/main/java/com/klikli_dev/occultism/handlers/ClientSetupEventHandler.java b/src/main/java/com/klikli_dev/occultism/handlers/ClientSetupEventHandler.java index 9077d352f..493b936ea 100644 --- a/src/main/java/com/klikli_dev/occultism/handlers/ClientSetupEventHandler.java +++ b/src/main/java/com/klikli_dev/occultism/handlers/ClientSetupEventHandler.java @@ -51,6 +51,7 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; +import net.minecraft.client.model.geom.ModelLayers; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRenderers; import net.minecraft.client.renderer.blockentity.HangingSignRenderer; @@ -61,6 +62,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.monster.ZombifiedPiglin; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.ModContainer; @@ -127,6 +129,7 @@ public static void onRegisterEntityRenderers(EntityRenderersEvent.RegisterRender event.registerEntityRenderer(OccultismEntities.AFRIT.get(), AfritRenderer::new); event.registerEntityRenderer(OccultismEntities.AFRIT_WILD.get(), AfritWildRenderer::new); event.registerEntityRenderer(OccultismEntities.MARID.get(), MaridRenderer::new); + event.registerEntityRenderer(OccultismEntities.MARID_UNBOUND.get(), MaridUnboundRenderer::new); event.registerEntityRenderer(OccultismEntities.GREEDY_FAMILIAR.get(), GreedyFamiliarRenderer::new); event.registerEntityRenderer(OccultismEntities.BAT_FAMILIAR.get(), BatFamiliarRenderer::new); event.registerEntityRenderer(OccultismEntities.DEER_FAMILIAR.get(), DeerFamiliarRenderer::new); @@ -155,6 +158,10 @@ public static void onRegisterEntityRenderers(EntityRenderersEvent.RegisterRender event.registerEntityRenderer(OccultismEntities.POSSESSED_ELDER_GUARDIAN.get(), ElderGuardianRenderer::new); event.registerEntityRenderer(OccultismEntities.POSSESSED_WARDEN.get(), WardenRenderer::new); event.registerEntityRenderer(OccultismEntities.POSSESSED_HOGLIN.get(), HoglinRenderer::new); + event.registerEntityRenderer(OccultismEntities.POSSESSED_WITCH.get(), WitchRenderer::new); + event.registerEntityRenderer(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN.get(), PossessedZombiePiglinRenderer::new); + event.registerEntityRenderer(OccultismEntities.POSSESSED_BEE.get(), BeeRenderer::new); + event.registerEntityRenderer(OccultismEntities.GOAT_OF_MERCY.get(), GoatRenderer::new); event.registerEntityRenderer(OccultismEntities.WILD_HUNT_SKELETON.get(), SkeletonRenderer::new); event.registerEntityRenderer(OccultismEntities.WILD_HUNT_WITHER_SKELETON.get(), WitherSkeletonRenderer::new); event.registerEntityRenderer(OccultismEntities.OTHERWORLD_BIRD.get(), OtherworldBirdRenderer::new); @@ -270,8 +277,8 @@ public static void registerItemModelProperties(FMLClientSetupEvent event) { ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "has_entity"), new SoulGemItemPropertyGetter()); ItemProperties.register(OccultismItems.DIVINATION_ROD.get(), ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "distance"), new DivinationRodItemPropertyGetter()); - ItemProperties.register(OccultismItems.OTHERWORLD_SAPLING_NATURAL.get(), - ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "simulated"), new OtherworldBlockItemPropertyGetter()); + //ItemProperties.register(OccultismBlocks.OTHERWORLD_SAPLING_NATURAL.asItem(), + // ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "simulated"), new OtherworldBlockItemPropertyGetter()); ItemProperties.register(OccultismItems.STORAGE_REMOTE.get(), ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "linked"), new StorageRemoteItemPropertyGetter()); ItemProperties.register(OccultismItems.STABLE_WORMHOLE.get(), diff --git a/src/main/java/com/klikli_dev/occultism/handlers/ColorEventHandler.java b/src/main/java/com/klikli_dev/occultism/handlers/ColorEventHandler.java index 826cb0c4c..2c6ee7a1d 100644 --- a/src/main/java/com/klikli_dev/occultism/handlers/ColorEventHandler.java +++ b/src/main/java/com/klikli_dev/occultism/handlers/ColorEventHandler.java @@ -46,8 +46,8 @@ public static void onRegisterBlockColorHandlers(RegisterColorHandlersEvent.Block .register((state, light, pos, tintIndex) -> OccultismBlocks.CHALK_GLYPH_WHITE.get().getColor(), OccultismBlocks.CHALK_GLYPH_WHITE.get()); event.getBlockColors() - .register((state, light, pos, tintIndex) -> OccultismBlocks.CHALK_GLYPH_GOLD.get().getColor(), - OccultismBlocks.CHALK_GLYPH_GOLD.get()); + .register((state, light, pos, tintIndex) -> OccultismBlocks.CHALK_GLYPH_YELLOW.get().getColor(), + OccultismBlocks.CHALK_GLYPH_YELLOW.get()); event.getBlockColors() .register((state, light, pos, tintIndex) -> OccultismBlocks.CHALK_GLYPH_PURPLE.get().getColor(), OccultismBlocks.CHALK_GLYPH_PURPLE.get()); diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismBlocks.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismBlocks.java index eada9c15b..aa8b81abf 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismBlocks.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismBlocks.java @@ -97,8 +97,8 @@ public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, RandomSou public static final DeferredBlock CHALK_GLYPH_WHITE = register("chalk_glyph_white", () -> new ChalkGlyphBlock(GLYPH_PROPERTIES, Occultism.CLIENT_CONFIG.visuals.whiteChalkGlyphColor, () -> OccultismItems.CHALK_WHITE.get()), false, LootTableType.EMPTY); - public static final DeferredBlock CHALK_GLYPH_GOLD = register("chalk_glyph_gold", - () -> new ChalkGlyphBlock(GLYPH_PROPERTIES, Occultism.CLIENT_CONFIG.visuals.goldenChalkGlyphColor, () -> OccultismItems.CHALK_GOLD.get()), false, + public static final DeferredBlock CHALK_GLYPH_YELLOW = register("chalk_glyph_gold", + () -> new ChalkGlyphBlock(GLYPH_PROPERTIES, Occultism.CLIENT_CONFIG.visuals.yellowChalkGlyphColor, () -> OccultismItems.CHALK_YELLOW.get()), false, LootTableType.EMPTY); public static final DeferredBlock CHALK_GLYPH_PURPLE = register("chalk_glyph_purple", () -> new ChalkGlyphBlock(GLYPH_PROPERTIES, Occultism.CLIENT_CONFIG.visuals.purpleChalkGlyphColor, () -> OccultismItems.CHALK_PURPLE.get()), @@ -209,7 +209,7 @@ public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, RandomSou Block.Properties.of() .mapColor(MapColor.PLANT) .sound(SoundType.GRASS) - .strength(0.0f).randomTicks().noCollission()), false, LootTableType.OTHERWORLD_BLOCK); + .strength(0.0f).randomTicks().noCollission()), true, LootTableType.OTHERWORLD_BLOCK); public static final DeferredBlock OTHERWORLD_LEAVES = register("otherworld_leaves", () -> new LeavesBlock( Block.Properties.of() @@ -334,25 +334,25 @@ public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, RandomSou () -> new LargeCandleBlock(Block.Properties.of() .mapColor(MapColor.COLOR_CYAN).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); - public static final DeferredBlock LARGE_CANDLE_BLUE = register("large_candle_blue", - () -> new LargeCandleBlock(Block.Properties.of() - .mapColor(MapColor.COLOR_BLUE).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) - .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); public static final DeferredBlock LARGE_CANDLE_LIGHT_BLUE = register("large_candle_light_blue", () -> new LargeCandleBlock(Block.Properties.of() .mapColor(MapColor.COLOR_LIGHT_BLUE).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); - public static final DeferredBlock LARGE_CANDLE_PINK = register("large_candle_pink", + public static final DeferredBlock LARGE_CANDLE_BLUE = register("large_candle_blue", () -> new LargeCandleBlock(Block.Properties.of() - .mapColor(MapColor.COLOR_PINK).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) + .mapColor(MapColor.COLOR_BLUE).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) + .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); + public static final DeferredBlock LARGE_CANDLE_PURPLE = register("large_candle_purple", + () -> new LargeCandleBlock(Block.Properties.of() + .mapColor(MapColor.COLOR_PURPLE).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); public static final DeferredBlock LARGE_CANDLE_MAGENTA = register("large_candle_magenta", () -> new LargeCandleBlock(Block.Properties.of() .mapColor(MapColor.COLOR_MAGENTA).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); - public static final DeferredBlock LARGE_CANDLE_PURPLE = register("large_candle_purple", + public static final DeferredBlock LARGE_CANDLE_PINK = register("large_candle_pink", () -> new LargeCandleBlock(Block.Properties.of() - .mapColor(MapColor.COLOR_PURPLE).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) + .mapColor(MapColor.COLOR_PINK).sound(SoundType.CANDLE).noCollission().strength(0.1f, 0) .lightLevel(LargeCandleBlock.LIGHT_EMISSION))); public static final DeferredBlock SPIRIT_ATTUNED_CRYSTAL = diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismCreativeModeTabs.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismCreativeModeTabs.java index 1387334cc..0ef672b78 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismCreativeModeTabs.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismCreativeModeTabs.java @@ -9,33 +9,39 @@ import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; +import java.util.function.Supplier; + public class OccultismCreativeModeTabs { public static final DeferredRegister CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, Occultism.MODID); - public static final DeferredHolder OCCULTISM = CREATIVE_MODE_TABS.register("occultism", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup.occultism")) .withTabsBefore(CreativeModeTabs.SPAWN_EGGS) - .icon(() -> OccultismItems.PENTACLE.get().getDefaultInstance()) + .icon(() -> OccultismItems.PENTACLE_SUMMON.get().getDefaultInstance()) .displayItems((parameters, output) -> { + //General items and blocks OccultismItems.ITEMS.getEntries().forEach(i -> { - - - if (OccultismItems.shouldSkipCreativeModTab(i.get())) + if (OccultismItems.shouldSkipCreativeModTab(i.get()) || OccultismItems.laterCreativeModTab(i.get())) return; - var stack = new ItemStack(i.get()); - if (OccultismItems.shouldPregenerateSpiritName(i.get())) { stack.set(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)"); } - output.accept(stack); + }); + // Spawn eggs, ritual dummy and debug items + OccultismItems.ITEMS.getEntries().forEach(i -> { + if (OccultismItems.laterCreativeModTab(i.get()) && !OccultismItems.shouldSkipCreativeModTab(i.get())) { + var stack = new ItemStack(i.get()); + if (OccultismItems.shouldPregenerateSpiritName(i.get())) { + stack.set(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)"); + } + output.accept(stack); + } }); - output.accept(OccultismItems.DICTIONARY_OF_SPIRITS.get().getCreativeModeTabDisplayStack()); }).build()); } \ No newline at end of file diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismEntities.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismEntities.java index 7001fc00d..bc858ab98 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismEntities.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismEntities.java @@ -72,6 +72,12 @@ public class OccultismEntities { .clientTrackingRange(8) .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "marid").toString())); + public static final Lazy> MARID_UNBOUND_TYPE = + Lazy.of(() -> EntityType.Builder.of((EntityType t, Level l) -> new MaridUnboundEntity(t, l), MobCategory.CREATURE) + .sized(1.2f, 2.4f) + .clientTrackingRange(16) + .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "marid_unbound").toString())); + public static final Lazy> POSSESSED_ENDERMITE_TYPE = Lazy.of(() -> EntityType.Builder.of(PossessedEndermiteEntity::new, MobCategory.MONSTER) .sized(0.4F, 0.3F) @@ -123,14 +129,34 @@ public class OccultismEntities { .fireImmune() .clientTrackingRange(48) .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possessed_warden").toString())); - public static final Lazy> POSSESSED_HOGLIN_TYPE = Lazy.of(() -> EntityType.Builder.of(PossessedHoglinEntity::new, MobCategory.MONSTER) .sized(1.88F, 1.88F) - .fireImmune() .clientTrackingRange(24) .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possessed_hoglin").toString())); + public static final Lazy> POSSESSED_WITCH_TYPE = + Lazy.of(() -> EntityType.Builder.of(PossessedWitchEntity::new, MobCategory.MONSTER) + .sized(0.9F, 1.95F) + .fireImmune() + .clientTrackingRange(16) + .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possessed_witch").toString())); + public static final Lazy> POSSESSED_ZOMBIE_PIGLIN_TYPE = + Lazy.of(() -> EntityType.Builder.of(PossessedZombiePiglinEntity::new, MobCategory.MONSTER) + .sized(0.6F, 1.95F) + .fireImmune() + .clientTrackingRange(32) + .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possessed_zombie_piglin").toString())); + public static final Lazy> POSSESSED_BEE_TYPE = + Lazy.of(() -> EntityType.Builder.of(PossessedBeeEntity::new, MobCategory.MONSTER) + .sized(0.7F, 0.6F) + .clientTrackingRange(48) + .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "possessed_bee").toString())); + public static final Lazy> GOAT_OF_MERCY_TYPE = + Lazy.of(() -> EntityType.Builder.of(GoatOfMercyEntity::new, MobCategory.CREATURE) + .sized(0.9F, 1.3F) + .build(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "mercy_goat").toString())); + public static final Lazy> WILD_HUNT_SKELETON_TYPE = Lazy.of(() -> EntityType.Builder.of(WildHuntSkeletonEntity::new, MobCategory.MONSTER) .sized(0.6F, 2.9F) @@ -341,6 +367,7 @@ public class OccultismEntities { public static final Supplier> AFRIT = ENTITIES.register("afrit", AFRIT_TYPE::get); public static final Supplier> AFRIT_WILD = ENTITIES.register("afrit_wild", AFRIT_WILD_TYPE::get); public static final Supplier> MARID = ENTITIES.register("marid", MARID_TYPE::get); + public static final Supplier> MARID_UNBOUND = ENTITIES.register("marid_unbound", MARID_UNBOUND_TYPE::get); public static final Supplier> POSSESSED_ENDERMITE = @@ -365,6 +392,14 @@ public class OccultismEntities { ENTITIES.register("possessed_warden", POSSESSED_WARDEN_TYPE::get); public static final Supplier> POSSESSED_HOGLIN = ENTITIES.register("possessed_hoglin", POSSESSED_HOGLIN_TYPE::get); + public static final Supplier> POSSESSED_WITCH = + ENTITIES.register("possessed_witch", POSSESSED_WITCH_TYPE::get); + public static final Supplier> POSSESSED_ZOMBIE_PIGLIN = + ENTITIES.register("possessed_zombie_piglin", POSSESSED_ZOMBIE_PIGLIN_TYPE::get); + public static final Supplier> POSSESSED_BEE = + ENTITIES.register("possessed_bee", POSSESSED_BEE_TYPE::get); + public static final Supplier> GOAT_OF_MERCY = + ENTITIES.register("mercy_goat", GOAT_OF_MERCY_TYPE::get); public static final Supplier> WILD_HUNT_WITHER_SKELETON = ENTITIES.register("wild_hunt_wither_skeleton", WILD_HUNT_WITHER_SKELETON_TYPE::get); public static final Supplier> OTHERWORLD_BIRD = diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismFoods.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismFoods.java index fbc3e616d..e09e2cf26 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismFoods.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismFoods.java @@ -55,4 +55,10 @@ public class OccultismFoods { public static final Lazy BEAVER_NUGGET = Lazy.of( () -> new FoodProperties.Builder().nutrition(8).saturationModifier(0.8F).build()); + public static final Lazy CURSED_HONEY = Lazy.of( + () -> new FoodProperties.Builder().nutrition(2).saturationModifier(1F) + .effect(() -> new MobEffectInstance(MobEffects.REGENERATION, 5 * 20, 1), 1.0f).build()); + public static final Lazy DEMONIC_MEAT = Lazy.of( + () -> new FoodProperties.Builder().nutrition(11).saturationModifier(0.1F) + .effect(() -> new MobEffectInstance(MobEffects.FIRE_RESISTANCE, 3 * 60 * 20, 1), 1.0f).build()); } diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java index 415efd258..5a1aafdaf 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismItems.java @@ -27,7 +27,6 @@ import com.klikli_dev.occultism.common.item.DummyTooltipItem; import com.klikli_dev.occultism.common.item.armor.OtherworldGogglesItem; import com.klikli_dev.occultism.common.item.debug.*; -import com.klikli_dev.occultism.common.item.otherworld.OtherworldBlockItem; import com.klikli_dev.occultism.common.item.spirit.*; import com.klikli_dev.occultism.common.item.storage.*; import com.klikli_dev.occultism.common.item.tool.BrushItem; @@ -48,75 +47,140 @@ public class OccultismItems { public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(Occultism.MODID); - //Debug and placeholder items - public static final DeferredItem DICTIONARY_OF_SPIRITS_ICON = - ITEMS.register("dictionary_of_spirits_icon", () -> new Item(new Item.Properties())); - + //Dictionary public static final DeferredItem DICTIONARY_OF_SPIRITS = ITEMS.register("dictionary_of_spirits", () -> new GuideBookItem(defaultProperties().stacksTo(1))); - public static final DeferredItem PENTACLE = ITEMS.register("pentacle", - () -> new Item(new Item.Properties())); - public static final DeferredItem DEBUG_WAND = ITEMS.register("debug_wand", - () -> new DebugWandItem(defaultProperties().stacksTo(1))); - public static final DeferredItem DEBUG_FOLIOT_LUMBERJACK = ITEMS.register("debug_foliot_lumberjack", - () -> new SummonFoliotLumberjackItem(defaultProperties().stacksTo(1))); - public static final DeferredItem DEBUG_FOLIOT_TRANSPORT_ITEMS = - ITEMS.register("debug_foliot_transport_items", - () -> new SummonFoliotTransportItemsItem(defaultProperties().stacksTo(1))); - public static final DeferredItem DEBUG_FOLIOT_CLEANER = - ITEMS.register("debug_foliot_cleaner", - () -> new SummonFoliotCleanerItem(defaultProperties().stacksTo(1))); - public static final DeferredItem DEBUG_FOLIOT_TRADER_ITEM = ITEMS.register("debug_foliot_trader", - () -> new SummonFoliotTraderItem(defaultProperties().stacksTo(1))); - public static final DeferredItem DEBUG_DJINNI_MANAGE_MACHINE = ITEMS.register("debug_djinni_manage_machine", - () -> new SummonDjinniManageMachineItem(defaultProperties().stacksTo(1))); - public static final DeferredItem DEBUG_DJINNI_TEST = ITEMS.register("debug_djinni_test", - () -> new SummonDjinniTest(defaultProperties().stacksTo(1))); - - public static final DeferredItem SPIRIT_FIRE = - ITEMS.register("spirit_fire", () -> new BlockItem(OccultismBlocks.SPIRIT_FIRE.get(), defaultProperties())); - - public static final DeferredItem ADVANCEMENT_ICON = - ITEMS.register("advancement_icon", () -> new Item(new Item.Properties())); - - //Resources - public static final DeferredItem OTHERWORLD_SAPLING_NATURAL = - ITEMS.register("otherworld_sapling_natural", - () -> new OtherworldBlockItem(OccultismBlocks.OTHERWORLD_SAPLING_NATURAL.get(), - defaultProperties())); - public static final DeferredItem TALLOW = ITEMS.register("tallow", - () -> new Item(defaultProperties())); - public static final DeferredItem AFRIT_ESSENCE = ITEMS.register("afrit_essence", - () -> new Item(defaultProperties())); - - //Components - public static final DeferredItem DIMENSIONAL_MATRIX = ITEMS.register("dimensional_matrix", - () -> new DimensionalMatrixItem(defaultProperties().component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)"))); - public static final DeferredItem SPIRIT_ATTUNED_GEM = ITEMS.register("spirit_attuned_gem", - () -> new Item(defaultProperties())); - public static final DeferredItem OTHERWORLD_ASHES = ITEMS.register("otherworld_ashes", - () -> new Item(defaultProperties())); - public static final DeferredItem BURNT_OTHERSTONE = ITEMS.register("burnt_otherstone", - () -> new Item(defaultProperties())); + //Tools and equipable + public static final DeferredItem DIVINATION_ROD = ITEMS.register("divination_rod", + () -> new DivinationRodItem(defaultProperties().stacksTo(1))); + public static final DeferredItem BUTCHER_KNIFE = ITEMS.register("butcher_knife", + () -> new SwordItem(Tiers.IRON, defaultProperties().attributes(SwordItem.createAttributes(Tiers.IRON, 3, -2.4F)))); + public static final DeferredItem INFUSED_PICKAXE = ITEMS.register("infused_pickaxe", + () -> new InfusedPickaxeItem(OccultismTiers.SPIRIT_ATTUNED, defaultProperties() + .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") + .attributes(PickaxeItem.createAttributes(Tiers.DIAMOND, 1.0F, -2.8F)))); + public static final DeferredItem IESNIUM_PICKAXE = ITEMS.register("iesnium_pickaxe", + () -> new OtherworldPickaxeItem(OccultismTiers.IESNIUM, defaultProperties().attributes(PickaxeItem.createAttributes(Tiers.DIAMOND, 1.0F, -2.8F)))); + public static final DeferredItem OTHERWORLD_GOGGLES = ITEMS.register("otherworld_goggles", + () -> new OtherworldGogglesItem(ArmorMaterials.IRON, + ArmorItem.Type.HELMET, defaultProperties().stacksTo(1))); + public static final DeferredItem SATCHEL = ITEMS.register("satchel", + () -> new SatchelItem(defaultProperties().stacksTo(1).rarity(Rarity.RARE) + .component(DataComponents.CONTAINER, ItemContainerContents.EMPTY) + .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") + )); + public static final DeferredItem RITUAL_SATCHEL_T1 = ITEMS.register("ritual_satchel_t1", + () -> new SingleBlockRitualSatchelItem(defaultProperties() + .stacksTo(1).rarity(Rarity.RARE) + .component(DataComponents.CONTAINER, ItemContainerContents.EMPTY) + .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") + )); + public static final DeferredItem RITUAL_SATCHEL_T2 = ITEMS.register("ritual_satchel_t2", + () -> new MultiBlockRitualSatchelItem(defaultProperties() + .stacksTo(1).rarity(Rarity.RARE) + .component(DataComponents.CONTAINER, ItemContainerContents.EMPTY) + .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") + )); + public static final DeferredItem STORAGE_REMOTE = ITEMS.register("storage_remote", + () -> new StorageRemoteItem(defaultProperties().stacksTo(1))); + public static final DeferredItem SOUL_GEM_ITEM = ITEMS.register("soul_gem", + () -> new SoulGemItem(defaultProperties().stacksTo(1))); + public static final DeferredItem FAMILIAR_RING = ITEMS.register("familiar_ring", + () -> new FamiliarRingItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)"))); - public static final DeferredItem OTHERSTONE_FRAME = ITEMS.register("otherstone_frame", - () -> new Item(defaultProperties())); - public static final DeferredItem WORMHOLE_FRAME = ITEMS.register("wormhole_frame", - () -> new Item(defaultProperties())); - public static final DeferredItem OTHERSTONE_TABLET = ITEMS.register("otherstone_tablet", - () -> new Item(defaultProperties())); - public static final DeferredItem STORAGE_REMOTE_INERT = ITEMS.register("storage_remote_inert", - () -> new Item(defaultProperties())); + //Books of Binding + public static final DeferredItem BOOK_OF_BINDING_EMPTY = ITEMS.register( + "book_of_binding_empty", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); + public static final DeferredItem BOOK_OF_BINDING_FOLIOT = ITEMS.register( + "book_of_binding_foliot", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); + public static final DeferredItem BOOK_OF_BINDING_BOUND_FOLIOT = ITEMS.register( + "book_of_binding_bound_foliot", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); + public static final DeferredItem BOOK_OF_BINDING_DJINNI = ITEMS.register( + "book_of_binding_djinni", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); + public static final DeferredItem BOOK_OF_BINDING_BOUND_DJINNI = ITEMS.register( + "book_of_binding_bound_djinni", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); + public static final DeferredItem BOOK_OF_BINDING_AFRIT = ITEMS.register( + "book_of_binding_afrit", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); + public static final DeferredItem BOOK_OF_BINDING_BOUND_AFRIT = ITEMS.register( + "book_of_binding_bound_afrit", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); + public static final DeferredItem BOOK_OF_BINDING_MARID = ITEMS.register( + "book_of_binding_marid", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); + public static final DeferredItem BOOK_OF_BINDING_BOUND_MARID = ITEMS.register( + "book_of_binding_bound_marid", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); + //Books of Calling + //Foliot + public static final DeferredItem BOOK_OF_CALLING_FOLIOT_LUMBERJACK = + ITEMS.register("book_of_calling_foliot_lumberjack", + () -> new BookOfCallingLumberjackItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + TranslationKeys.BOOK_OF_CALLING_GENERIC + "_foliot")); + public static final DeferredItem BOOK_OF_CALLING_FOLIOT_TRANSPORT_ITEMS = + ITEMS.register("book_of_calling_foliot_transport_items", + () -> new BookOfCallingTransportItems(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + TranslationKeys.BOOK_OF_CALLING_GENERIC + "_foliot")); + public static final DeferredItem BOOK_OF_CALLING_FOLIOT_CLEANER = + ITEMS.register("book_of_calling_foliot_cleaner", + () -> new BookOfCallingCleanerItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + TranslationKeys.BOOK_OF_CALLING_GENERIC + "_foliot")); + //Djinn + public static final DeferredItem BOOK_OF_CALLING_DJINNI_MANAGE_MACHINE = + ITEMS.register("book_of_calling_djinni_manage_machine", + () -> new BookOfCallingManageMachineItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + TranslationKeys.BOOK_OF_CALLING_GENERIC + "_djinni")); + //Brush. Chalks and Impure Chalks + public static final DeferredItem BRUSH = ITEMS.register("brush", + () -> new BrushItem(defaultProperties().stacksTo(1))); + public static final DeferredItem CHALK_WHITE = ITEMS.register("chalk_white", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_WHITE)); + public static final DeferredItem CHALK_LIGHT_GRAY = ITEMS.register("chalk_light_gray", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_LIGHT_GRAY)); + public static final DeferredItem CHALK_GRAY = ITEMS.register("chalk_gray", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_GRAY)); + public static final DeferredItem CHALK_BLACK = ITEMS.register("chalk_black", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_BLACK)); + public static final DeferredItem CHALK_BROWN = ITEMS.register("chalk_brown", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_BROWN)); + public static final DeferredItem CHALK_RED = ITEMS.register("chalk_red", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_RED)); + public static final DeferredItem CHALK_ORANGE = ITEMS.register("chalk_orange", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_ORANGE)); + public static final DeferredItem CHALK_YELLOW = ITEMS.register("chalk_gold", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_YELLOW)); + public static final DeferredItem CHALK_LIME = ITEMS.register("chalk_lime", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_LIME)); + public static final DeferredItem CHALK_GREEN = ITEMS.register("chalk_green", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_GREEN)); + public static final DeferredItem CHALK_CYAN = ITEMS.register("chalk_cyan", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_CYAN)); + public static final DeferredItem CHALK_LIGHT_BLUE = ITEMS.register("chalk_light_blue", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_LIGHT_BLUE)); + public static final DeferredItem CHALK_BLUE = ITEMS.register("chalk_blue", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_BLUE)); + public static final DeferredItem CHALK_PURPLE = ITEMS.register("chalk_purple", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_PURPLE)); + public static final DeferredItem CHALK_MAGENTA = ITEMS.register("chalk_magenta", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_MAGENTA)); + public static final DeferredItem CHALK_PINK = ITEMS.register("chalk_pink", + () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), + OccultismBlocks.CHALK_GLYPH_PINK)); public static final DeferredItem CHALK_WHITE_IMPURE = ITEMS.register("chalk_white_impure", () -> new Item(defaultProperties())); - public static final DeferredItem CHALK_RED_IMPURE = ITEMS.register("chalk_red_impure", - () -> new Item(defaultProperties())); - public static final DeferredItem CHALK_GOLD_IMPURE = ITEMS.register("chalk_gold_impure", - () -> new Item(defaultProperties())); - public static final DeferredItem CHALK_PURPLE_IMPURE = ITEMS.register("chalk_purple_impure", - () -> new Item(defaultProperties())); public static final DeferredItem CHALK_LIGHT_GRAY_IMPURE = ITEMS.register("chalk_light_gray_impure", () -> new Item(defaultProperties())); public static final DeferredItem CHALK_GRAY_IMPURE = ITEMS.register("chalk_gray_impure", @@ -125,8 +189,12 @@ public class OccultismItems { () -> new Item(defaultProperties())); public static final DeferredItem CHALK_BROWN_IMPURE = ITEMS.register("chalk_brown_impure", () -> new Item(defaultProperties())); + public static final DeferredItem CHALK_RED_IMPURE = ITEMS.register("chalk_red_impure", + () -> new Item(defaultProperties())); public static final DeferredItem CHALK_ORANGE_IMPURE = ITEMS.register("chalk_orange_impure", () -> new Item(defaultProperties())); + public static final DeferredItem CHALK_YELLOW_IMPURE = ITEMS.register("chalk_yellow_impure", + () -> new Item(defaultProperties())); public static final DeferredItem CHALK_LIME_IMPURE = ITEMS.register("chalk_lime_impure", () -> new Item(defaultProperties())); public static final DeferredItem CHALK_GREEN_IMPURE = ITEMS.register("chalk_green_impure", @@ -137,11 +205,79 @@ public class OccultismItems { () -> new Item(defaultProperties())); public static final DeferredItem CHALK_BLUE_IMPURE = ITEMS.register("chalk_blue_impure", () -> new Item(defaultProperties())); + public static final DeferredItem CHALK_PURPLE_IMPURE = ITEMS.register("chalk_purple_impure", + () -> new Item(defaultProperties())); public static final DeferredItem CHALK_MAGENTA_IMPURE = ITEMS.register("chalk_magenta_impure", () -> new Item(defaultProperties())); public static final DeferredItem CHALK_PINK_IMPURE = ITEMS.register("chalk_pink_impure", () -> new Item(defaultProperties())); + + //Miner Spirits + public static final DeferredItem MAGIC_LAMP_EMPTY = ITEMS.register("magic_lamp_empty", + () -> new Item(defaultProperties())); + + public static final DeferredItem MINER_FOLIOT_UNSPECIALIZED = ITEMS.register("miner_foliot_unspecialized", + () -> new MinerSpiritItem(defaultProperties() + .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN) + .durability(1000), + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.durability)); + public static final DeferredItem MINER_DJINNI_ORES = ITEMS.register("miner_djinni_ores", + () -> new MinerSpiritItem(defaultProperties().durability(400) + .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.durability)); + public static final DeferredItem MINER_AFRIT_DEEPS = ITEMS.register("miner_afrit_deeps", + () -> new MinerSpiritItem(defaultProperties().durability(800) + .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.durability)); + public static final DeferredItem MINER_MARID_MASTER = ITEMS.register("miner_marid_master", + () -> new MinerSpiritItem(defaultProperties().durability(1600) + .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.durability)); + + public static final DeferredItem MINER_ANCIENT_ELDRITCH = ITEMS.register("miner_ancient_eldritch", + () -> new MinerSpiritItem(defaultProperties().durability(3200) + .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAncientEldritch.maxMiningTime, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAncientEldritch.rollsPerOperation, + Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAncientEldritch.durability)); + + //Crops and food + public static final DeferredItem DATURA_SEEDS = + ITEMS.register("datura_seeds", () -> new ItemNameBlockItem(OccultismBlocks.DATURA.get(), defaultProperties())); + public static final DeferredItem DATURA = ITEMS.register("datura", + () -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.DATURA.get()))); + public static final DeferredItem DEMONS_DREAM_ESSENCE = ITEMS.register("demons_dream_essence", + () -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.DEMONS_DREAM_ESSENCE.get()))); + + public static final DeferredItem OTHERWORLD_ESSENCE = ITEMS.register("otherworld_essence", + () -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.OTHERWORLD_ESSENCE.get()))); + public static final DeferredItem BEAVER_NUGGET = ITEMS.register("beaver_nugget", + () -> new Item(defaultProperties().food(OccultismFoods.BEAVER_NUGGET.get()))); + public static final DeferredItem CURSED_HONEY = ITEMS.register("cursed_honey", + () -> new Item(defaultProperties().food(OccultismFoods.CURSED_HONEY.get()))); + public static final DeferredItem DEMONIC_MEAT = ITEMS.register("demonic_meat", + () -> new Item(defaultProperties().food(OccultismFoods.DEMONIC_MEAT.get()))); + + //Resources and materials + public static final DeferredItem TALLOW = ITEMS.register("tallow", + () -> new Item(defaultProperties())); + public static final DeferredItem AFRIT_ESSENCE = ITEMS.register("afrit_essence", + () -> new Item(defaultProperties())); + public static final DeferredItem MARID_ESSENCE = ITEMS.register("marid_essence", + () -> new Item(defaultProperties())); + public static final DeferredItem CRUELTY_ESSENCE = ITEMS.register("cruelty_essence", + () -> new Item(defaultProperties())); + public static final DeferredItem SPIRIT_ATTUNED_GEM = ITEMS.register("spirit_attuned_gem", + () -> new Item(defaultProperties())); public static final DeferredItem RAW_SILVER = ITEMS.register("raw_silver", () -> new Item(defaultProperties())); public static final DeferredItem RAW_IESNIUM = ITEMS.register("raw_iesnium", @@ -156,245 +292,98 @@ public class OccultismItems { () -> new Item(defaultProperties())); public static final DeferredItem IESNIUM_NUGGET = ITEMS.register("iesnium_nugget", () -> new Item(defaultProperties())); - - public static final DeferredItem OBSIDIAN_DUST = ITEMS.register("obsidian_dust", + //Dusts + public static final DeferredItem SILVER_DUST = ITEMS.register("silver_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem IESNIUM_DUST = ITEMS.register("iesnium_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem COPPER_DUST = ITEMS.register("copper_dust", () -> new Item(defaultProperties())); public static final DeferredItem IRON_DUST = ITEMS.register("iron_dust", () -> new Item(defaultProperties())); public static final DeferredItem GOLD_DUST = ITEMS.register("gold_dust", () -> new Item(defaultProperties())); - public static final DeferredItem COPPER_DUST = ITEMS.register("copper_dust", + public static final DeferredItem NETHERITE_SCRAP_DUST = ITEMS.register("netherite_scrap_dust", () -> new Item(defaultProperties())); - public static final DeferredItem SILVER_DUST = ITEMS.register("silver_dust", + public static final DeferredItem NETHERITE_DUST = ITEMS.register("netherite_dust", () -> new Item(defaultProperties())); - public static final DeferredItem IESNIUM_DUST = ITEMS.register("iesnium_dust", + public static final DeferredItem OBSIDIAN_DUST = ITEMS.register("obsidian_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem LAPIS_DUST = ITEMS.register("lapis_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem AMETHYST_DUST = ITEMS.register("amethyst_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem EMERALD_DUST = ITEMS.register("emerald_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem ECHO_DUST = ITEMS.register("echo_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem RESEARCH_FRAGMENT_DUST = ITEMS.register("research_fragment_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem WITHERITE_DUST = ITEMS.register("witherite_dust", + () -> new Item(defaultProperties())); + public static final DeferredItem DRAGONYST_DUST = ITEMS.register("dragonyst_dust", () -> new Item(defaultProperties())); - public static final DeferredItem CRUSHED_END_STONE = ITEMS.register("crushed_end_stone", () -> new Item(defaultProperties())); + public static final DeferredItem CRUSHED_CALCITE = ITEMS.register("crushed_calcite", + () -> new Item(defaultProperties())); + public static final DeferredItem CRUSHED_BLACKSTONE = ITEMS.register("crushed_blackstone", + () -> new Item(defaultProperties())); + public static final DeferredItem CRUSHED_ICE = ITEMS.register("crushed_ice", + () -> new Item(defaultProperties())); + public static final DeferredItem CRUSHED_PACKED_ICE = ITEMS.register("crushed_packed_ice", + () -> new Item(defaultProperties())); + public static final DeferredItem CRUSHED_BLUE_ICE = ITEMS.register("crushed_blue_ice", + () -> new Item(defaultProperties())); + public static final DeferredItem BURNT_OTHERSTONE = ITEMS.register("burnt_otherstone", + () -> new Item(defaultProperties())); + public static final DeferredItem OTHERWORLD_ASHES = ITEMS.register("otherworld_ashes", + () -> new Item(defaultProperties())); + public static final DeferredItem GRAY_PASTE = ITEMS.register("gray_paste", + () -> new Item(defaultProperties())); + public static final DeferredItem NATURE_PASTE = ITEMS.register("nature_paste", + () -> new Item(defaultProperties())); + //Components + public static final DeferredItem PURIFIED_INK = ITEMS.register("purified_ink", + () -> new Item(defaultProperties())); + public static final DeferredItem AWAKENED_FEATHER = ITEMS.register("awakened_feather", + () -> new Item(defaultProperties())); + public static final DeferredItem TABOO_BOOK = ITEMS.register("taboo_book", + () -> new Item(defaultProperties())); + public static final DeferredItem SPIRIT_ATTUNED_PICKAXE_HEAD = ITEMS.register("spirit_attuned_pickaxe_head", + () -> new Item(defaultProperties())); public static final DeferredItem LENSES = ITEMS.register("lenses", () -> new Item(defaultProperties())); public static final DeferredItem INFUSED_LENSES = ITEMS.register("infused_lenses", () -> new Item(defaultProperties())); public static final DeferredItem LENS_FRAME = ITEMS.register("lens_frame", () -> new Item(defaultProperties())); - - public static final DeferredItem STORAGE_REMOTE = ITEMS.register("storage_remote", - () -> new StorageRemoteItem(defaultProperties().stacksTo(1))); - - - public static final DeferredItem RITUAL_SATCHEL_T1 = ITEMS.register("ritual_satchel_t1", - () -> new SingleBlockRitualSatchelItem(defaultProperties() - .stacksTo(1).rarity(Rarity.RARE) - .component(DataComponents.CONTAINER, ItemContainerContents.EMPTY) - .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") - )); - - public static final DeferredItem RITUAL_SATCHEL_T2 = ITEMS.register("ritual_satchel_t2", - () -> new MultiBlockRitualSatchelItem(defaultProperties() - .stacksTo(1).rarity(Rarity.RARE) - .component(DataComponents.CONTAINER, ItemContainerContents.EMPTY) - .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") - )); - - public static final DeferredItem CHALK_WHITE = ITEMS.register("chalk_white", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_WHITE.get())); - public static final DeferredItem CHALK_GOLD = ITEMS.register("chalk_gold", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_GOLD.get())); - public static final DeferredItem CHALK_PURPLE = ITEMS.register("chalk_purple", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_PURPLE.get())); - public static final DeferredItem CHALK_RED = ITEMS.register("chalk_red", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_RED.get())); - public static final DeferredItem CHALK_LIGHT_GRAY = ITEMS.register("chalk_light_gray", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_LIGHT_GRAY.get())); - public static final DeferredItem CHALK_GRAY = ITEMS.register("chalk_gray", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_GRAY.get())); - public static final DeferredItem CHALK_BLACK = ITEMS.register("chalk_black", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_BLACK.get())); - public static final DeferredItem CHALK_BROWN = ITEMS.register("chalk_brown", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_BROWN.get())); - public static final DeferredItem CHALK_ORANGE = ITEMS.register("chalk_orange", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_ORANGE.get())); - public static final DeferredItem CHALK_LIME = ITEMS.register("chalk_lime", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_LIME.get())); - public static final DeferredItem CHALK_GREEN = ITEMS.register("chalk_green", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_GREEN.get())); - public static final DeferredItem CHALK_CYAN = ITEMS.register("chalk_cyan", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_CYAN.get())); - public static final DeferredItem CHALK_LIGHT_BLUE = ITEMS.register("chalk_light_blue", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_LIGHT_BLUE.get())); - public static final DeferredItem CHALK_BLUE = ITEMS.register("chalk_blue", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_BLUE.get())); - public static final DeferredItem CHALK_MAGENTA = ITEMS.register("chalk_magenta", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_MAGENTA.get())); - public static final DeferredItem CHALK_PINK = ITEMS.register("chalk_pink", - () -> new ChalkItem(defaultProperties().setNoRepair().durability(256), - () -> OccultismBlocks.CHALK_GLYPH_PINK.get())); - - public static final DeferredItem DIVINATION_ROD = ITEMS.register("divination_rod", - () -> new DivinationRodItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BRUSH = ITEMS.register("brush", - () -> new BrushItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BUTCHER_KNIFE = ITEMS.register("butcher_knife", - () -> new SwordItem(Tiers.IRON, defaultProperties().attributes(SwordItem.createAttributes(Tiers.IRON, 3, -2.4F)))); - - public static final DeferredItem SPIRIT_ATTUNED_PICKAXE_HEAD = ITEMS.register("spirit_attuned_pickaxe_head", + public static final DeferredItem OTHERSTONE_FRAME = ITEMS.register("otherstone_frame", () -> new Item(defaultProperties())); - public static final DeferredItem INFUSED_PICKAXE = ITEMS.register("infused_pickaxe", - () -> new InfusedPickaxeItem(OccultismTiers.SPIRIT_ATTUNED, defaultProperties() - .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") - .attributes(PickaxeItem.createAttributes(Tiers.DIAMOND, 1.0F, -2.8F)))); - public static final DeferredItem IESNIUM_PICKAXE = ITEMS.register("iesnium_pickaxe", - () -> new OtherworldPickaxeItem(OccultismTiers.IESNIUM, defaultProperties().attributes(PickaxeItem.createAttributes(Tiers.DIAMOND, 1.0F, -2.8F)))); - - public static final DeferredItem SOUL_GEM_ITEM = ITEMS.register("soul_gem", - () -> new SoulGemItem(defaultProperties().stacksTo(1))); - - public static final DeferredItem SOUL_SHARD_ITEM = ITEMS.register("soul_shard", - () -> new SoulShardItem(defaultProperties().stacksTo(1))); - - public static final DeferredItem SATCHEL = ITEMS.register("satchel", - () -> new SatchelItem(defaultProperties().stacksTo(1).rarity(Rarity.RARE) - .component(DataComponents.CONTAINER, ItemContainerContents.EMPTY) - .component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)") - )); - - public static final DeferredItem FAMILIAR_RING = ITEMS.register("familiar_ring", - () -> new FamiliarRingItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)"))); - - public static final DeferredItem PURIFIED_INK = ITEMS.register("purified_ink", + public static final DeferredItem WORMHOLE_FRAME = ITEMS.register("wormhole_frame", () -> new Item(defaultProperties())); - public static final DeferredItem AWAKENED_FEATHER = ITEMS.register("awakened_feather", + public static final DeferredItem OTHERSTONE_TABLET = ITEMS.register("otherstone_tablet", + () -> new Item(defaultProperties())); + public static final DeferredItem STORAGE_REMOTE_INERT = ITEMS.register("storage_remote_inert", () -> new Item(defaultProperties())); - public static final DeferredItem TABOO_BOOK = ITEMS.register("taboo_book", + public static final DeferredItem DIMENSIONAL_MATRIX = ITEMS.register("dimensional_matrix", + () -> new DimensionalMatrixItem(defaultProperties().component(OccultismDataComponents.SPIRIT_NAME, "(Not yet known)"))); + public static final DeferredItem MINING_DIMENSION_CORE_PIECE = ITEMS.register("mining_dim_core", () -> new Item(defaultProperties())); - //Books of Binding - public static final DeferredItem BOOK_OF_BINDING_EMPTY = ITEMS.register( - "book_of_binding_empty", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BOOK_OF_BINDING_FOLIOT = ITEMS.register( - "book_of_binding_foliot", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BOOK_OF_BINDING_BOUND_FOLIOT = ITEMS.register( - "book_of_binding_bound_foliot", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); - public static final DeferredItem BOOK_OF_BINDING_DJINNI = ITEMS.register( - "book_of_binding_djinni", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BOOK_OF_BINDING_BOUND_DJINNI = ITEMS.register( - "book_of_binding_bound_djinni", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); - public static final DeferredItem BOOK_OF_BINDING_AFRIT = ITEMS.register( - "book_of_binding_afrit", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BOOK_OF_BINDING_BOUND_AFRIT = ITEMS.register( - "book_of_binding_bound_afrit", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); - public static final DeferredItem BOOK_OF_BINDING_MARID = ITEMS.register( - "book_of_binding_marid", () -> new BookOfBindingItem(defaultProperties().stacksTo(1))); - public static final DeferredItem BOOK_OF_BINDING_BOUND_MARID = ITEMS.register( - "book_of_binding_bound_marid", () -> new BookOfBindingBoundItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN))); - //Books of Calling - //Foliot - public static final DeferredItem BOOK_OF_CALLING_FOLIOT_LUMBERJACK = - ITEMS.register("book_of_calling_foliot_lumberjack", - () -> new BookOfCallingLumberjackItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - TranslationKeys.BOOK_OF_CALLING_GENERIC + "_foliot")); - public static final DeferredItem BOOK_OF_CALLING_FOLIOT_TRANSPORT_ITEMS = - ITEMS.register("book_of_calling_foliot_transport_items", - () -> new BookOfCallingTransportItems(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - TranslationKeys.BOOK_OF_CALLING_GENERIC + "_foliot")); - public static final DeferredItem BOOK_OF_CALLING_FOLIOT_CLEANER = - ITEMS.register("book_of_calling_foliot_cleaner", - () -> new BookOfCallingCleanerItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - TranslationKeys.BOOK_OF_CALLING_GENERIC + "_foliot")); - //Djinn - public static final DeferredItem BOOK_OF_CALLING_DJINNI_MANAGE_MACHINE = - ITEMS.register("book_of_calling_djinni_manage_machine", - () -> new BookOfCallingManageMachineItem(defaultProperties().stacksTo(1).component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - TranslationKeys.BOOK_OF_CALLING_GENERIC + "_djinni")); - - //Armor - public static final DeferredItem OTHERWORLD_GOGGLES = ITEMS.register("otherworld_goggles", - () -> new OtherworldGogglesItem(ArmorMaterials.IRON, - ArmorItem.Type.HELMET, defaultProperties().stacksTo(1))); + //Others + public static final DeferredItem SOUL_SHARD_ITEM = ITEMS.register("soul_shard", + () -> new SoulShardItem(defaultProperties().stacksTo(1))); //Machines + public static final DeferredItem SPIRIT_FIRE = + ITEMS.register("spirit_fire", () -> new BlockItem(OccultismBlocks.SPIRIT_FIRE.get(), defaultProperties())); public static final DeferredItem STABLE_WORMHOLE = ITEMS.register("stable_wormhole", () -> new StableWormholeBlockItem(OccultismBlocks.STABLE_WORMHOLE.get(), defaultProperties())); public static final DeferredItem STORAGE_CONTROLLER = ITEMS.register("storage_controller", () -> new StorageControllerBlockItem(OccultismBlocks.STORAGE_CONTROLLER.get(), defaultProperties())); - - //Crops - public static final DeferredItem DATURA_SEEDS = - ITEMS.register("datura_seeds", () -> new ItemNameBlockItem(OccultismBlocks.DATURA.get(), defaultProperties())); - - //Foods - public static final DeferredItem DATURA = ITEMS.register("datura", - () -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.DATURA.get()))); - - public static final DeferredItem DEMONS_DREAM_ESSENCE = ITEMS.register("demons_dream_essence", - () -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.DEMONS_DREAM_ESSENCE.get()))); - - public static final DeferredItem OTHERWORLD_ESSENCE = ITEMS.register("otherworld_essence", - () -> new SpiritHealingItem(defaultProperties().food(OccultismFoods.OTHERWORLD_ESSENCE.get()))); - - public static final DeferredItem BEAVER_NUGGET = ITEMS.register("beaver_nugget", - () -> new Item(defaultProperties().food(OccultismFoods.BEAVER_NUGGET.get()))); - - //Miner Spirits - public static final DeferredItem MAGIC_LAMP_EMPTY = ITEMS.register("magic_lamp_empty", - () -> new Item(defaultProperties())); - public static final DeferredItem MINER_DEBUG_UNSPECIALIZED = - ITEMS.register("miner_debug_unspecialized", - () -> new MinerSpiritItem(defaultProperties() - .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN) - .durability(10000), () -> 100, () -> 10, () -> 10000)); - public static final DeferredItem MINER_FOLIOT_UNSPECIALIZED = ITEMS.register("miner_foliot_unspecialized", - () -> new MinerSpiritItem(defaultProperties() - .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN) - .durability(1000), - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.maxMiningTime, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.rollsPerOperation, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerFoliotUnspecialized.durability)); - public static final DeferredItem MINER_DJINNI_ORES = ITEMS.register("miner_djinni_ores", - () -> new MinerSpiritItem(defaultProperties().durability(400) - .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.maxMiningTime, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.rollsPerOperation, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerDjinniOres.durability)); - public static final DeferredItem MINER_AFRIT_DEEPS = ITEMS.register("miner_afrit_deeps", - () -> new MinerSpiritItem(defaultProperties().durability(800) - .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.maxMiningTime, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.rollsPerOperation, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerAfritDeeps.durability)); - public static final DeferredItem MINER_MARID_MASTER = ITEMS.register("miner_marid_master", - () -> new MinerSpiritItem(defaultProperties().durability(1600) - .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN), - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.maxMiningTime, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.rollsPerOperation, - Occultism.STARTUP_CONFIG.dimensionalMineshaft.minerMaridMaster.durability)); - - //JEI Dummy Items - public static final DeferredItem JEI_DUMMY_NONE = ITEMS.register( - "jei_dummy/none", () -> new DummyTooltipItem(new Item.Properties())); - public static final DeferredItem JEI_DUMMY_REQUIRE_SACRIFICE = ITEMS.register( - "jei_dummy/require_sacrifice", () -> new DummyTooltipItem(new Item.Properties())); - public static final DeferredItem JEI_DUMMY_REQUIRE_ITEM_USE = ITEMS.register( - "jei_dummy/require_item_use", () -> new DummyTooltipItem(new Item.Properties())); - //Deco Block Items public static final DeferredItem SPIRIT_TORCH = ITEMS.register("spirit_torch", () -> new StandingAndWallBlockItem(OccultismBlocks.SPIRIT_TORCH.get(), OccultismBlocks.SPIRIT_WALL_TORCH.get(), @@ -404,113 +393,183 @@ public class OccultismItems { public static final DeferredItem OTHERPLANKS_HANGING_SIGN = ITEMS.register("otherplanks_hanging_sign", () -> new HangingSignItem(OccultismBlocks.OTHERPLANKS_HANGING_SIGN.get(), OccultismBlocks.OTHERPLANKS_WALL_HANGING_SIGN.get(), new Item.Properties().stacksTo(16))); + //Spawn Eggs public static final DeferredItem SPAWN_EGG_FOLIOT = ITEMS.register("spawn_egg/foliot", - () -> new DeferredSpawnEggItem(OccultismEntities.FOLIOT_TYPE::get, 0xaa728d, 0x37222c, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.FOLIOT_TYPE, 0x8d5454, 0x1f1f1f, defaultProperties())); public static final DeferredItem SPAWN_EGG_DJINNI = ITEMS.register("spawn_egg/djinni", - () -> new DeferredSpawnEggItem(OccultismEntities.DJINNI_TYPE::get, 0xaa728d, 0x37222c, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.DJINNI_TYPE, 0x073f7c, 0xc9d631, defaultProperties())); public static final DeferredItem SPAWN_EGG_AFRIT = ITEMS.register("spawn_egg/afrit", - () -> new DeferredSpawnEggItem(OccultismEntities.AFRIT_TYPE::get, 0xaa728d, 0x37222c, defaultProperties())); - public static final DeferredItem SPAWN_EGG_AFRIT_WILD = ITEMS.register("spawn_egg/afrit_wild", - () -> new DeferredSpawnEggItem(OccultismEntities.AFRIT_WILD_TYPE::get, 0xaa728d, 0x37222c, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.AFRIT_TYPE, 0x5d241a, 0x946510, defaultProperties())); + public static final DeferredItem SPAWN_EGG_AFRIT_UNBOUND = ITEMS.register("spawn_egg/afrit_unbound", + () -> new DeferredSpawnEggItem(OccultismEntities.AFRIT_WILD_TYPE, 0x4d140a, 0x744500, defaultProperties())); public static final DeferredItem SPAWN_EGG_MARID = ITEMS.register("spawn_egg/marid", - () -> new DeferredSpawnEggItem(OccultismEntities.MARID_TYPE::get, 0xaa728d, 0x37222c, defaultProperties())); - + () -> new DeferredSpawnEggItem(OccultismEntities.MARID_TYPE, 0x396265, 0x57c786, defaultProperties())); + public static final DeferredItem SPAWN_EGG_MARID_UNBOUND = ITEMS.register("spawn_egg/marid_unbound", + () -> new DeferredSpawnEggItem(OccultismEntities.MARID_UNBOUND_TYPE, 0x394245, 0x57a766, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_ENDERMITE = ITEMS.register("spawn_egg/possessed_endermite", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ENDERMITE_TYPE::get, 0x161616, 0x6E6E6E, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ENDERMITE_TYPE, 0x161616, 0x6E6E6E, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_SKELETON = ITEMS.register("spawn_egg/possessed_skeleton", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_SKELETON_TYPE::get, 0xC1C1C1, 0x494949, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_SKELETON_TYPE, 0xC1C1C1, 0x494949, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_ENDERMAN = ITEMS.register("spawn_egg/possessed_enderman", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ENDERMAN_TYPE::get, 0x161616, 0x0, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ENDERMAN_TYPE, 0x161616, 0x0, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_GHAST = ITEMS.register("spawn_egg/possessed_ghast", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_GHAST_TYPE::get, 0xe2e2e2, 0xC1C1C1, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_GHAST_TYPE, 0xe2e2e2, 0xC1C1C1, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_PHANTOM = ITEMS.register("spawn_egg/possessed_phantom", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_PHANTOM_TYPE::get, 0x3f4c81, 0x6ccc00, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_PHANTOM_TYPE, 0x3f4c81, 0x6ccc00, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_WEAK_SHULKER = ITEMS.register("spawn_egg/possessed_weak_shulker", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WEAK_SHULKER_TYPE::get, 0x8c628c, 0x342638, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WEAK_SHULKER_TYPE, 0x8c628c, 0x342638, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_SHULKER = ITEMS.register("spawn_egg/possessed_shulker", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_SHULKER_TYPE::get, 0x8c628c, 0x342638, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_SHULKER_TYPE, 0x8c628c, 0x342638, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_ELDER_GUARDIAN = ITEMS.register("spawn_egg/possessed_elder_guardian", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ELDER_GUARDIAN_TYPE::get, 0xb5b3a3, 0x4b4d60, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ELDER_GUARDIAN_TYPE, 0xb5b3a3, 0x4b4d60, defaultProperties())); + public static final DeferredItem SPAWN_EGG_POSSESSED_WITCH = ITEMS.register("spawn_egg/possessed_witch", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WITCH_TYPE, 0x280000, 0x346828, defaultProperties())); + public static final DeferredItem SPAWN_EGG_POSSESSED_ZOMBIE_PIGLIN = ITEMS.register("spawn_egg/possessed_zombie_piglin", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_ZOMBIE_PIGLIN_TYPE, 0xdb8a8a, 0x6a8c46, defaultProperties())); + public static final DeferredItem SPAWN_EGG_POSSESSED_BEE = ITEMS.register("spawn_egg/possessed_bee", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_BEE_TYPE, 0xd6b03c, 0x060606, defaultProperties())); + public static final DeferredItem SPAWN_EGG_GOAT_OF_MERCY = ITEMS.register("spawn_egg/possessed_goat", + () -> new DeferredSpawnEggItem(OccultismEntities.GOAT_OF_MERCY_TYPE, 0xa0a0a0, 0x835432, defaultProperties())); public static final DeferredItem SPAWN_EGG_WILD_HUNT_SKELETON = ITEMS.register("spawn_egg/wild_hunt_skeleton", - () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HUNT_SKELETON_TYPE::get, 12698049, 4802889, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HUNT_SKELETON_TYPE, 12698049, 4802889, defaultProperties())); public static final DeferredItem SPAWN_EGG_WILD_HUNT_WITHER_SKELETON = ITEMS.register("spawn_egg/wild_hunt_wither_skeleton", - () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HUNT_WITHER_SKELETON_TYPE::get, 1315860, 4672845, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HUNT_WITHER_SKELETON_TYPE, 1315860, 4672845, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_WARDEN = ITEMS.register("spawn_egg/possessed_warden", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WARDEN_TYPE::get, 0x0f4649, 0x39d6e0, defaultProperties())); - + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WARDEN_TYPE, 0x0f4649, 0x39d6e0, defaultProperties())); public static final DeferredItem SPAWN_EGG_POSSESSED_HOGLIN = ITEMS.register("spawn_egg/possessed_hoglin", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_HOGLIN_TYPE::get, 0x592a10, 0xf9f3a4, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_HOGLIN_TYPE, 0x592a10, 0xf9f3a4, defaultProperties())); public static final DeferredItem SPAWN_EGG_WILD_HORDE_HUSK = ITEMS.register("spawn_egg/wild_horde_husk", - () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_HUSK_TYPE::get, 0x5f584c, 0x92815e, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_HUSK_TYPE, 0x5f584c, 0x92815e, defaultProperties())); public static final DeferredItem SPAWN_EGG_WILD_HORDE_DROWNED = ITEMS.register("spawn_egg/wild_horde_drowned", - () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_DROWNED_TYPE::get, 0x7bcfb9, 0x577148, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_DROWNED_TYPE, 0x7bcfb9, 0x577148, defaultProperties())); public static final DeferredItem SPAWN_EGG_WILD_HORDE_CREEPER = ITEMS.register("spawn_egg/wild_horde_creeper", - () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_CREEPER_TYPE::get, 0x577148, 0x111111, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_CREEPER_TYPE, 0x577148, 0x111111, defaultProperties())); public static final DeferredItem SPAWN_EGG_WILD_HORDE_SILVERFISH = ITEMS.register("spawn_egg/wild_horde_silverfish", - () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_SILVERFISH_TYPE::get, 0x666666, 0x262626, defaultProperties())); - public static final DeferredItem SPAWN_EGG_POSSESSED_WEAK_BREEZE = ITEMS.register("spawn_egg/possessed_weak_breeze", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WEAK_BREEZE_TYPE::get, 0xa289cf, 0x5d428f, defaultProperties())); - public static final DeferredItem SPAWN_EGG_POSSESSED_BREEZE = ITEMS.register("spawn_egg/possessed_breeze", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_BREEZE_TYPE::get, 0x9279bf, 0x4d327f, defaultProperties())); - public static final DeferredItem SPAWN_EGG_POSSESSED_STRONG_BREEZE = ITEMS.register("spawn_egg/possessed_strong_breeze", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_STRONG_BREEZE_TYPE::get, 0x8269af, 0x3d226f, defaultProperties())); - public static final DeferredItem SPAWN_EGG_POSSESSED_EVOKER = ITEMS.register("spawn_egg/possessed_evoker", - () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_EVOKER_TYPE::get, 0x8e9494, 0xcbc786, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.WILD_HORDE_SILVERFISH_TYPE, 0x666666, 0x262626, defaultProperties())); + public static final DeferredItem SPAWN_EGG_WILD_WEAK_BREEZE = ITEMS.register("spawn_egg/wild_weak_breeze", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_WEAK_BREEZE_TYPE, 0xa289cf, 0x5d428f, defaultProperties())); + public static final DeferredItem SPAWN_EGG_WILD_BREEZE = ITEMS.register("spawn_egg/wild_breeze", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_BREEZE_TYPE, 0x9279bf, 0x4d327f, defaultProperties())); + public static final DeferredItem SPAWN_EGG_WILD_STRONG_BREEZE = ITEMS.register("spawn_egg/wild_strong_breeze", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_STRONG_BREEZE_TYPE, 0x8269af, 0x3d226f, defaultProperties())); + public static final DeferredItem SPAWN_EGG_WILD_EVOKER = ITEMS.register("spawn_egg/wild_evoker", + () -> new DeferredSpawnEggItem(OccultismEntities.POSSESSED_EVOKER_TYPE, 0x8e9494, 0xcbc786, defaultProperties())); public static final DeferredItem SPAWN_EGG_OTHERWORLD_BIRD = ITEMS.register("spawn_egg/otherworld_bird", - () -> new DeferredSpawnEggItem(OccultismEntities.OTHERWORLD_BIRD_TYPE::get, 0x221269, 0x6b56c4, defaultProperties())); - + () -> new DeferredSpawnEggItem(OccultismEntities.OTHERWORLD_BIRD_TYPE, 0x221269, 0x6b56c4, defaultProperties())); public static final DeferredItem SPAWN_EGG_GREEDY_FAMILIAR = ITEMS.register("spawn_egg/familiar_greedy", - () -> new DeferredSpawnEggItem(OccultismEntities.GREEDY_FAMILIAR_TYPE::get, 0x54990f, 0x725025, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.GREEDY_FAMILIAR_TYPE, 0x54990f, 0x725025, defaultProperties())); public static final DeferredItem SPAWN_EGG_BAT_FAMILIAR = ITEMS.register("spawn_egg/familiar_bat", - () -> new DeferredSpawnEggItem(OccultismEntities.BAT_FAMILIAR_TYPE::get, 0x434343, 0xda95de, defaultProperties())); - + () -> new DeferredSpawnEggItem(OccultismEntities.BAT_FAMILIAR_TYPE, 0x434343, 0xda95de, defaultProperties())); public static final DeferredItem SPAWN_EGG_DEER_FAMILIAR = ITEMS.register("spawn_egg/familiar_deer", - () -> new DeferredSpawnEggItem(OccultismEntities.DEER_FAMILIAR_TYPE::get, 0xc9833e, 0xfffdf2, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.DEER_FAMILIAR_TYPE, 0xc9833e, 0xfffdf2, defaultProperties())); public static final DeferredItem SPAWN_EGG_CTHULHU_FAMILIAR = ITEMS.register("spawn_egg/familiar_cthulhu", - () -> new DeferredSpawnEggItem(OccultismEntities.CTHULHU_FAMILIAR_TYPE::get, 0x00cdc2, 0x4ae7c0, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.CTHULHU_FAMILIAR_TYPE, 0x00cdc2, 0x4ae7c0, defaultProperties())); public static final DeferredItem SPAWN_EGG_DEVIL_FAMILIAR = ITEMS.register("spawn_egg/familiar_devil", - () -> new DeferredSpawnEggItem(OccultismEntities.DEVIL_FAMILIAR_TYPE::get, 0xf2f0d7, 0xa01d1d, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.DEVIL_FAMILIAR_TYPE, 0xf2f0d7, 0xa01d1d, defaultProperties())); public static final DeferredItem SPAWN_EGG_DRAGON_FAMILIAR = ITEMS.register("spawn_egg/familiar_dragon", - () -> new DeferredSpawnEggItem(OccultismEntities.DRAGON_FAMILIAR_TYPE::get, 0x18780f, 0x76c47b, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.DRAGON_FAMILIAR_TYPE, 0x18780f, 0x76c47b, defaultProperties())); public static final DeferredItem SPAWN_EGG_BLACKSMITH_FAMILIAR = ITEMS.register("spawn_egg/familiar_blacksmith", - () -> new DeferredSpawnEggItem(OccultismEntities.BLACKSMITH_FAMILIAR_TYPE::get, 0x06bc64, 0x2b2b2b, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.BLACKSMITH_FAMILIAR_TYPE, 0x06bc64, 0x2b2b2b, defaultProperties())); public static final DeferredItem SPAWN_EGG_GUARDIAN_FAMILIAR = ITEMS.register("spawn_egg/familiar_guardian", - () -> new DeferredSpawnEggItem(OccultismEntities.GUARDIAN_FAMILIAR_TYPE::get, 0x787878, 0x515151, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.GUARDIAN_FAMILIAR_TYPE, 0x787878, 0x515151, defaultProperties())); public static final DeferredItem SPAWN_EGG_HEADLESS_FAMILIAR = ITEMS.register("spawn_egg/familiar_headless", - () -> new DeferredSpawnEggItem(OccultismEntities.HEADLESS_FAMILIAR_TYPE::get, 0x0c0606, 0xde7900, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.HEADLESS_FAMILIAR_TYPE, 0x0c0606, 0xde7900, defaultProperties())); public static final DeferredItem SPAWN_EGG_CHIMERA_FAMILIAR = ITEMS.register("spawn_egg/familiar_chimera", - () -> new DeferredSpawnEggItem(OccultismEntities.CHIMERA_FAMILIAR_TYPE::get, 0xcf8441, 0x3e7922, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.CHIMERA_FAMILIAR_TYPE, 0xcf8441, 0x3e7922, defaultProperties())); public static final DeferredItem SPAWN_EGG_GOAT_FAMILIAR = ITEMS.register("spawn_egg/familiar_goat", - () -> new DeferredSpawnEggItem(OccultismEntities.GOAT_FAMILIAR_TYPE::get, 0xe2e2e2, 0x0f0f0e, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.GOAT_FAMILIAR_TYPE, 0xe2e2e2, 0x0f0f0e, defaultProperties())); public static final DeferredItem SPAWN_EGG_SHUB_NIGGURATH_FAMILIAR = ITEMS.register("spawn_egg/familiar_shub_niggurath", - () -> new DeferredSpawnEggItem(OccultismEntities.SHUB_NIGGURATH_FAMILIAR_TYPE::get, 0x362836, 0x594a3a, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.SHUB_NIGGURATH_FAMILIAR_TYPE, 0x362836, 0x594a3a, defaultProperties())); public static final DeferredItem SPAWN_EGG_BEHOLDER_FAMILIAR = ITEMS.register("spawn_egg/familiar_beholder", - () -> new DeferredSpawnEggItem(OccultismEntities.BEHOLDER_FAMILIAR_TYPE::get, 0x340a09, 0xfffbff, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.BEHOLDER_FAMILIAR_TYPE, 0x340a09, 0xfffbff, defaultProperties())); public static final DeferredItem SPAWN_EGG_FAIRY_FAMILIAR = ITEMS.register("spawn_egg/familiar_fairy", - () -> new DeferredSpawnEggItem(OccultismEntities.FAIRY_FAMILIAR_TYPE::get, 0xbd674c, 0xcca896, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.FAIRY_FAMILIAR_TYPE, 0xbd674c, 0xcca896, defaultProperties())); public static final DeferredItem SPAWN_EGG_MUMMY_FAMILIAR = ITEMS.register("spawn_egg/familiar_mummy", - () -> new DeferredSpawnEggItem(OccultismEntities.MUMMY_FAMILIAR_TYPE::get, 0xcbb76a, 0xe0d4a3, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.MUMMY_FAMILIAR_TYPE, 0xcbb76a, 0xe0d4a3, defaultProperties())); public static final DeferredItem SPAWN_EGG_BEAVER_FAMILIAR = ITEMS.register("spawn_egg/familiar_beaver", - () -> new DeferredSpawnEggItem(OccultismEntities.BEAVER_FAMILIAR_TYPE::get, 0x824a2b, 0xdd9973, defaultProperties())); + () -> new DeferredSpawnEggItem(OccultismEntities.BEAVER_FAMILIAR_TYPE, 0x824a2b, 0xdd9973, defaultProperties())); public static final DeferredItem SPAWN_EGG_PARROT_FAMILIAR = ITEMS.register("spawn_egg/familiar_parrot", () -> new DeferredSpawnEggItem(() -> EntityType.PARROT, 894731, 16711680, defaultProperties())); + public static final DeferredItem SPAWN_EGG_DEMONIC_WIFE = ITEMS.register("spawn_egg/demonic_wife", + () -> new DeferredSpawnEggItem(OccultismEntities.DEMONIC_WIFE, 0xf2f0d7, 0xa01d1d, defaultProperties())); + public static final DeferredItem SPAWN_EGG_DEMONIC_HUSBAND = ITEMS.register("spawn_egg/demonic_husband", + () -> new DeferredSpawnEggItem(OccultismEntities.DEMONIC_HUSBAND, 0xf2f0d7, 0xa01d1d, defaultProperties())); - public static final DeferredItem SPAWN_EGG_DEMONIC_WIFE = ITEMS.register("spawn_egg/demonic_wife", () -> new DeferredSpawnEggItem(OccultismEntities.DEMONIC_WIFE::get, 0xf2f0d7, 0xa01d1d, defaultProperties())); - public static final DeferredItem SPAWN_EGG_DEMONIC_HUSBAND = ITEMS.register("spawn_egg/demonic_husband", () -> new DeferredSpawnEggItem(OccultismEntities.DEMONIC_HUSBAND::get, 0xf2f0d7, 0xa01d1d, defaultProperties())); - + // TO DO: make all public static final + //Ritual Dummy Items + static { + // SUMMON + // Foliot + ITEMS.register("ritual_dummy/summon_foliot_crusher", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_foliot_lumberjack", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_foliot_otherstone_trader", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_foliot_sapling_trader", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_foliot_transport_items", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_foliot_cleaner", () -> new DummyTooltipItem(defaultProperties())); + } public static final DeferredItem RITUAL_DUMMY_SUMMON_DEMONIC_WIFE = ITEMS.register("ritual_dummy/summon_demonic_wife", () -> new DummyTooltipItem(defaultProperties())); public static final DeferredItem RITUAL_DUMMY_SUMMON_DEMONIC_HUSBAND = ITEMS.register("ritual_dummy/summon_demonic_husband", () -> new DummyTooltipItem(defaultProperties())); + static { + //Djinni + ITEMS.register("ritual_dummy/summon_djinni_crusher", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_djinni_clear_weather", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_djinni_day_time", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_djinni_manage_machine", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_djinni_night_time", () -> new DummyTooltipItem(defaultProperties())); - public static final DeferredItem RITUAL_DUMMY_RESURRECT_FAMILIAR = ITEMS.register("ritual_dummy/resurrect_familiar", () -> new DummyTooltipItem(defaultProperties())); - public static final DeferredItem RITUAL_DUMMY_SUMMON_RANDOM_ANIMAL = ITEMS.register("ritual_dummy/summon_random_animal", () -> new DummyTooltipItem(defaultProperties())); - public static final DeferredItem RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T1 = ITEMS.register("ritual_dummy/craft_ritual_satchel_t1", () -> new DummyTooltipItem(defaultProperties())); - public static final DeferredItem RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2 = ITEMS.register("ritual_dummy/craft_ritual_satchel_t2", () -> new DummyTooltipItem(defaultProperties())); + //Afrit + ITEMS.register("ritual_dummy/summon_unbound_afrit", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_afrit_crusher", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_afrit_rain_weather", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_afrit_thunder_weather", () -> new DummyTooltipItem(defaultProperties())); + + //Marid + ITEMS.register("ritual_dummy/summon_unbound_marid", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/summon_marid_crusher", () -> new DummyTooltipItem(defaultProperties())); + + //POSSESS + //Familiar + ITEMS.register("ritual_dummy/familiar_beaver", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_blacksmith", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_deer", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_greedy", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_parrot", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_unbound_parrot", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_bat", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_beholder", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_chimera", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_cthulhu", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_devil", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_dragon", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_fairy", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_headless", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_mummy", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_otherworld_bird", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_unbound_otherworld_bird", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/familiar_guardian", () -> new DummyTooltipItem(defaultProperties())); + + //Possessed + ITEMS.register("ritual_dummy/possess_endermite", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_skeleton", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_phantom", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_enderman", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_ghast", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_warden", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_weak_shulker", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_elder_guardian", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_hoglin", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_shulker", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_witch", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_zombie_piglin", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_bee", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/possess_goat", () -> new DummyTooltipItem(defaultProperties())); + } + + public static final DeferredItem RITUAL_DUMMY_POSSESS_RANDOM_ANIMAL = ITEMS.register("ritual_dummy/possess_random_animal", () -> new DummyTooltipItem(defaultProperties())); - //Ritual Dummy Items static { - ITEMS.register("ritual_dummy/custom_ritual", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/craft_wild_trim", () -> new DummyTooltipItem(defaultProperties())); + // CRAFT ITEMS.register("ritual_dummy/craft_dimensional_matrix", () -> new DummyTooltipItem(defaultProperties())); ITEMS.register("ritual_dummy/craft_dimensional_mineshaft", () -> new DummyTooltipItem(defaultProperties())); ITEMS.register("ritual_dummy/craft_infused_lenses", () -> new DummyTooltipItem(defaultProperties())); @@ -529,61 +588,95 @@ public class OccultismItems { ITEMS.register("ritual_dummy/craft_stable_wormhole", () -> new DummyTooltipItem(defaultProperties())); ITEMS.register("ritual_dummy/craft_storage_controller_base", () -> new DummyTooltipItem(defaultProperties())); ITEMS.register("ritual_dummy/craft_storage_remote", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_otherworld_bird", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_parrot", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_greedy", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_bat", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_deer", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_cthulhu", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_devil", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_dragon", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_blacksmith", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_guardian", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_headless", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_chimera", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_beholder", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_fairy", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_mummy", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/familiar_beaver", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_enderman", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_endermite", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_skeleton", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_ghast", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_phantom", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_weak_shulker", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_shulker", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_elder_guardian", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_warden", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_hoglin", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_afrit_rain_weather", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_afrit_thunder_weather", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_djinni_clear_weather", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_djinni_day_time", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_djinni_manage_machine", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_djinni_night_time", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_foliot_lumberjack", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_foliot_otherstone_trader", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_foliot_sapling_trader", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_foliot_transport_items", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_foliot_cleaner", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_afrit", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_hunt", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_husk", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_drowned", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_creeper", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_silverfish", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_weak_breeze", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_breeze", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/possess_strong_breeze", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_horde_illager", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_otherworld_bird", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_wild_parrot", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_allay", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_foliot_crusher", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_djinni_crusher", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_afrit_crusher", () -> new DummyTooltipItem(defaultProperties())); - ITEMS.register("ritual_dummy/summon_marid_crusher", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/craft_nature_paste", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/craft_gray_paste", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/craft_research_fragment_dust", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/craft_witherite_dust", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/craft_dragonyst_dust", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/repair_chalks", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/repair_tools", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/repair_armors", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/repair_miners", () -> new DummyTooltipItem(defaultProperties())); } + public static final DeferredItem RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T1 = ITEMS.register("ritual_dummy/craft_ritual_satchel_t1", () -> new DummyTooltipItem(defaultProperties())); + public static final DeferredItem RITUAL_DUMMY_CRAFT_RITUAL_SATCHEL_T2 = ITEMS.register("ritual_dummy/craft_ritual_satchel_t2", () -> new DummyTooltipItem(defaultProperties())); + public static final DeferredItem RITUAL_DUMMY_CRAFT_MINER_ANCIENT_ELDRITCH = ITEMS.register("ritual_dummy/craft_miner_ancient_eldritch", () -> new DummyTooltipItem(defaultProperties())); + public static final DeferredItem RITUAL_DUMMY_RESURRECT_FAMILIAR = ITEMS.register("ritual_dummy/resurrect_familiar", () -> new DummyTooltipItem(defaultProperties())); + + static { + //CONTACT and others + ITEMS.register("ritual_dummy/resurrect_allay", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/craft_wild_trim", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_hunt", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_husk", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_drowned", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_creeper", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_silverfish", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_weak_breeze", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_breeze", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_strong_breeze", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/wild_horde_illager", () -> new DummyTooltipItem(defaultProperties())); + + // CUSTOM + ITEMS.register("ritual_dummy/custom_ritual_summon", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/custom_ritual_possess", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/custom_ritual_craft", () -> new DummyTooltipItem(defaultProperties())); + ITEMS.register("ritual_dummy/custom_ritual_misc", () -> new DummyTooltipItem(defaultProperties())); + } + public static final DeferredItem RITUAL_DUMMY_CRAFT_BUDDING_AMETHYST = ITEMS.register("ritual_dummy/craft_budding_amethyst", + () -> new DummyTooltipItem(defaultProperties())); + + public static final DeferredItem RITUAL_DUMMY_CRAFT_REINFORCED_DEEPSLATE= ITEMS.register("ritual_dummy/craft_reinforced_deepslate", + () -> new DummyTooltipItem(defaultProperties())); + + //Debug + public static final DeferredItem DEBUG_WAND = ITEMS.register("debug_wand", + () -> new DebugWandItem(defaultProperties().stacksTo(1))); + public static final DeferredItem DEBUG_FOLIOT_LUMBERJACK = ITEMS.register("debug_foliot_lumberjack", + () -> new SummonFoliotLumberjackItem(defaultProperties().stacksTo(1))); + public static final DeferredItem DEBUG_FOLIOT_TRANSPORT_ITEMS = + ITEMS.register("debug_foliot_transport_items", + () -> new SummonFoliotTransportItemsItem(defaultProperties().stacksTo(1))); + public static final DeferredItem DEBUG_FOLIOT_CLEANER = + ITEMS.register("debug_foliot_cleaner", + () -> new SummonFoliotCleanerItem(defaultProperties().stacksTo(1))); + public static final DeferredItem DEBUG_FOLIOT_TRADER_ITEM = ITEMS.register("debug_foliot_trader", + () -> new SummonFoliotTraderItem(defaultProperties().stacksTo(1))); + public static final DeferredItem DEBUG_DJINNI_MANAGE_MACHINE = ITEMS.register("debug_djinni_manage_machine", + () -> new SummonDjinniManageMachineItem(defaultProperties().stacksTo(1))); + public static final DeferredItem DEBUG_DJINNI_TEST = ITEMS.register("debug_djinni_test", + () -> new SummonDjinniTest(defaultProperties().stacksTo(1))); + public static final DeferredItem MINER_DEBUG_UNSPECIALIZED = + ITEMS.register("miner_debug_unspecialized", + () -> new MinerSpiritItem(defaultProperties() + .component(OccultismDataComponents.SPIRIT_NAME, TextUtil.SPIRIT_NAME_NOT_YET_KNOWN) + .durability(10000), () -> 100, () -> 10, () -> 10000)); + + //Placeholders + public static final DeferredItem DICTIONARY_OF_SPIRITS_ICON = + ITEMS.register("dictionary_of_spirits_icon", () -> new Item(new Item.Properties())); + + public static final DeferredItem PENTACLE_SUMMON = ITEMS.register("pentacle_summon", + () -> new Item(defaultProperties())); + public static final DeferredItem PENTACLE_POSSESS = ITEMS.register("pentacle_possess", + () -> new Item(defaultProperties())); + public static final DeferredItem PENTACLE_CRAFT = ITEMS.register("pentacle_craft", + () -> new Item(defaultProperties())); + public static final DeferredItem PENTACLE_MISC = + ITEMS.register("pentacle_misc", () -> new Item(defaultProperties())); + public static final DeferredItem ADVANCEMENT_ICON = + ITEMS.register("advancement_icon", () -> new Item(new Item.Properties())); + public static final DeferredItem REPAIR_ICON = + ITEMS.register("repair_icon", () -> new Item(defaultProperties())); + public static final DeferredItem RESURRECT_ICON = + ITEMS.register("resurrect_icon", () -> new Item(defaultProperties())); + //JEI Dummy Items + public static final DeferredItem JEI_DUMMY_NONE = ITEMS.register( + "jei_dummy/none", () -> new DummyTooltipItem(new Item.Properties())); + public static final DeferredItem JEI_DUMMY_REQUIRE_SACRIFICE = ITEMS.register( + "jei_dummy/require_sacrifice", () -> new DummyTooltipItem(new Item.Properties())); + public static final DeferredItem JEI_DUMMY_REQUIRE_ITEM_USE = ITEMS.register( + "jei_dummy/require_item_use", () -> new DummyTooltipItem(new Item.Properties())); public static Item.Properties defaultProperties() { //historically used to add to occultism tab @@ -591,14 +684,17 @@ public static Item.Properties defaultProperties() { } public static boolean shouldSkipCreativeModTab(Item item) { - if (item == PENTACLE.get() + if (item == PENTACLE_SUMMON.get() + || item == PENTACLE_POSSESS.get() + || item == PENTACLE_CRAFT.get() + || item == PENTACLE_MISC.get() || item == DICTIONARY_OF_SPIRITS_ICON.get() - || item == DICTIONARY_OF_SPIRITS.get() || item == ADVANCEMENT_ICON.get() || item == JEI_DUMMY_NONE.get() || item == JEI_DUMMY_REQUIRE_SACRIFICE.get() || item == JEI_DUMMY_REQUIRE_ITEM_USE.get() -// || item == FAMILIAR_RING.get() + || item == REPAIR_ICON.get() + || item == RESURRECT_ICON.get() ) return true; @@ -608,6 +704,12 @@ public static boolean shouldSkipCreativeModTab(Item item) { return false; } + public static boolean laterCreativeModTab(Item item) { + return item.toString().contains("ritual_dummy") + || item.toString().contains("debug") + || item.toString().contains("spawn_egg"); + } + public static boolean shouldPregenerateSpiritName(Item item) { return item == BOOK_OF_BINDING_BOUND_FOLIOT.get() || item == BOOK_OF_BINDING_BOUND_DJINNI.get() @@ -627,6 +729,7 @@ public static boolean shouldPregenerateSpiritName(Item item) { || item == MINER_DJINNI_ORES.get() || item == MINER_AFRIT_DEEPS.get() || item == MINER_MARID_MASTER.get() + || item == MINER_ANCIENT_ELDRITCH.get() || item == MINER_DEBUG_UNSPECIALIZED.get(); } } diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismRituals.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismRituals.java index 4251f258d..a6973d32f 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismRituals.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismRituals.java @@ -76,6 +76,9 @@ public class OccultismRituals { public static final DeferredHolder CRAFT_MINER_SPIRIT = RITUAL_FACTORIES.register("craft_miner_spirit", () -> new RitualFactory(CraftMinerSpiritRitual::new)); + public static final DeferredHolder REPAIR = + RITUAL_FACTORIES.register("repair", + () -> new RitualFactory(RepairRitual::new)); //Other public static final DeferredHolder COMMAND = diff --git a/src/main/java/com/klikli_dev/occultism/registry/OccultismTags.java b/src/main/java/com/klikli_dev/occultism/registry/OccultismTags.java index f480e709a..c3e69eca2 100644 --- a/src/main/java/com/klikli_dev/occultism/registry/OccultismTags.java +++ b/src/main/java/com/klikli_dev/occultism/registry/OccultismTags.java @@ -43,6 +43,9 @@ public static class Blocks { public static final TagKey NETHERRACK = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "netherrack")); public static final TagKey CANDLES = makeBlockTag(ResourceLocation.fromNamespaceAndPath("minecraft", "candles")); + public static final TagKey FOUNDATION_GLYPHS_ANY = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "foundation_glyphs_any")); + public static final TagKey FOUNDATION_GLYPHS_NO_WHITE = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "foundation_glyphs_no_white")); + public static final TagKey FOUNDATION_GLYPHS_DARK = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "foundation_glyphs_dark")); public static final TagKey CHALK_GLYPHS = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "chalk_glyphs")); public static final TagKey IESNIUM_ORE = makeBlockTag(ResourceLocation.fromNamespaceAndPath("c", "ores/iesnium")); public static final TagKey SILVER_ORE = makeBlockTag(ResourceLocation.fromNamespaceAndPath("c", "ores/silver")); @@ -53,6 +56,7 @@ public static class Blocks { public static final TagKey STORAGE_BLOCKS_RAW_SILVER = makeBlockTag(ResourceLocation.fromNamespaceAndPath("c", "storage_blocks/raw_silver")); public static final TagKey OTHERWORLD_SAPLINGS = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "saplings/otherworld")); + public static final TagKey OTHERWORLD_SAPLINGS_NATURAL = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "saplings/otherworld_natural")); public static final TagKey OCCULTISM_CANDLES = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "candles")); public static final TagKey STORAGE_STABILIZER = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "storage_stabilizer")); public static final TagKey OTHERWORLD_LOGS = makeBlockTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "otherworld_logs")); @@ -63,6 +67,7 @@ public static class Items { public static final TagKey PENTACLE_MATERIALS = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "pentacle_materials")); public static final TagKey SKULLS = makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "skulls")); public static final TagKey OCCULTISM_CANDLES = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "candles")); + public static final TagKey SCUTESHELL = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "armored_items")); public static final TagKey DEMONIC_PARTNER_FOOD = makeItemTag(ResourceLocation.fromNamespaceAndPath("occultism", "demonic_partner_food")); @@ -86,6 +91,23 @@ public static class Items { public static final TagKey OBSIDIAN_DUST=makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "dusts/obsidian")); public static final TagKey BLAZE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "dusts/blaze")); + public static final TagKey AMETHYST_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/amethyst")); + public static final TagKey BLACKSTONE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/blackstone")); + public static final TagKey BLUE_ICE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/blue_ice")); + public static final TagKey CALCITE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/calcite")); + public static final TagKey ICE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/ice")); + public static final TagKey PACKED_ICE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/packed_ice")); + public static final TagKey DRAGONYST_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/dragonyst")); + public static final TagKey ECHO_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/echo")); + public static final TagKey EMERALD_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/emerald")); + public static final TagKey LAPIS_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/lapis")); + public static final TagKey NETHERITE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/netherite")); + public static final TagKey NETHERITE_SCRAP_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/netherite_scrap")); + public static final TagKey RESEARCH_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/research")); + public static final TagKey WITHERITE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/witherite")); + public static final TagKey OTHERSTONE_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/otherstone")); + public static final TagKey OTHERWORLD_WOOD_DUST = makeItemTag(ResourceLocation.fromNamespaceAndPath("c","dusts/otherworld_wood")); + public static final TagKey DATURA_CROP = makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "crops/datura")); // Ingots @@ -118,6 +140,7 @@ public static class Items { public static final TagKey METAL_AXES = makeItemTag(ResourceLocation.fromNamespaceAndPath("c", "tools/metal/axes")); public static final TagKey OTHERWORLD_SAPLINGS = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "saplings/otherworld")); + public static final TagKey OTHERWORLD_SAPLINGS_NATURAL = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "saplings/otherworld_natural")); public static class Miners { public static final TagKey MINERS = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miners")); @@ -126,6 +149,7 @@ public static class Miners { public static final TagKey DEEPS = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miners/deeps")); public static final TagKey MASTER = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miners/master")); public static final TagKey ORES = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miners/ores")); + public static final TagKey ELDRITCH = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "miners/eldritch")); } public static final TagKey TOOLS_CHALK = makeItemTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "tools/chalk")); @@ -136,7 +160,7 @@ public static class Miners { public static class Entities { public static final TagKey> AXOLOTL = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "axolotls")); - public static final TagKey> CHICKEN = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "chicken")); + public static final TagKey> CHICKEN = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "chickens")); public static final TagKey> PARROTS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "parrots")); public static final TagKey> PIGS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "pigs")); public static final TagKey> COWS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "cows")); @@ -155,7 +179,16 @@ public static class Entities { public static final TagKey> PANDAS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "pandas")); public static final TagKey> SHEEP = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "sheep")); public static final TagKey> SPIDERS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "spiders")); - public static final TagKey> SQUID = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "squid")); + public static final TagKey> SQUID = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "squids")); + public static final TagKey> TADPOLES = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "tadpoles")); + public static final TagKey> CAMEL = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "camels")); + public static final TagKey> DOLPHIN = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "dolphins")); + public static final TagKey> WOLFS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "wolfs")); + public static final TagKey> OCELOT = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "ocelots")); + public static final TagKey> CATS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "cats")); + public static final TagKey> WARDEN = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "wardens")); + public static final TagKey> VEX = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "vex")); + public static final TagKey> ALLAY = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath("c", "allay")); //Entity Tags public static final TagKey> SOUL_GEM_DENY_LIST = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "soul_gem_deny_list")); public static final TagKey> AFRIT_ALLIES = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "afrit_allies")); @@ -165,11 +198,6 @@ public static class Entities { public static final TagKey> CUBEMOB = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "cubemob")); public static final TagKey> FLYING_PASSIVE = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "flying_passive")); public static final TagKey> HUMANS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "humans")); - public static final TagKey> CAMEL = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "camel")); - public static final TagKey> DOLPHIN = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "dolphin")); - public static final TagKey> WOLFS = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "wolfs")); - public static final TagKey> OCELOT = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "ocelot")); - public static final TagKey> VEX = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "vex")); public static final TagKey> RANDOM_ANIMALS_TO_SUMMON_LIST = makeEntityTypeTag(ResourceLocation.fromNamespaceAndPath(Occultism.MODID, "random_animals_to_summon_list")); } diff --git a/src/main/resources/assets/occultism/animations/entity/marid.animation.json b/src/main/resources/assets/occultism/animations/entity/marid.animation.json new file mode 100644 index 000000000..08c36edee --- /dev/null +++ b/src/main/resources/assets/occultism/animations/entity/marid.animation.json @@ -0,0 +1,706 @@ +{ + "format_version": "1.8.0", + "animations": { + "idle": { + "loop": true, + "animation_length": 2, + "bones": { + "1": { + "rotation": { + "0.0": { + "vector": [0, 0, 2.5] + }, + "1.0": { + "vector": [0, 0, -5] + }, + "2.0": { + "vector": [0, 0, 2.5] + } + } + }, + "2": { + "rotation": { + "0.0": { + "vector": [-9.99067, -0.43399, -2.46207] + }, + "1.0": { + "vector": [-9.96271, 0.86717, 4.92442] + }, + "2.0": { + "vector": [-9.99067, -0.43399, -2.46207] + } + } + }, + "3": { + "rotation": { + "0.0": { + "vector": [7.49294, -0.32621, 2.47864] + }, + "1.0": { + "vector": [7.43656, 0.9762, -7.43656] + }, + "2.0": { + "vector": [7.49294, -0.32621, 2.47864] + } + } + }, + "Torso": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0.5, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "Lhand": { + "rotation": { + "0.0": { + "vector": [7.5, 0, -10] + }, + "1.0": { + "vector": [7.49294, 0.32621, -12.47864] + }, + "2.0": { + "vector": [7.5, 0, -10] + } + } + }, + "bone": { + "rotation": { + "vector": [-27.5, 0, 0] + } + }, + "Rhand": { + "rotation": { + "0.0": { + "vector": [-32.84189, -17.1222, 29.57358] + }, + "1.0": { + "vector": [-32.84189, -17.1222, 29.57358] + }, + "2.0": { + "vector": [-32.84189, -17.1222, 29.57358] + } + }, + "position": { + "vector": [0, 0, 0] + } + }, + "bone2": { + "rotation": { + "vector": [-14.75008, 58.82558, 27.10954] + }, + "position": { + "vector": [0, 0, 0] + } + }, + "Tail": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "bone3": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -180, 0] + }, + "2.0": { + "vector": [0, -357.5, 0] + } + } + }, + "bone4": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 180, 0] + }, + "2.0": { + "vector": [0, 360, 0] + } + } + }, + "bone5": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -180, 0] + }, + "2.0": { + "vector": [0, -357.5, 0] + } + } + }, + "chest": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "1.0": { + "vector": [1.07, 1, 1] + }, + "2.0": { + "vector": [1, 1, 1] + } + } + } + } + }, + "walk": { + "loop": true, + "animation_length": 2, + "bones": { + "1": { + "rotation": { + "0.0": { + "vector": [0, 0, 2.5] + }, + "1.0": { + "vector": [0, 0, -5] + }, + "2.0": { + "vector": [0, 0, 2.5] + } + } + }, + "2": { + "rotation": { + "0.0": { + "vector": [-9.99067, -0.43399, -2.46207] + }, + "1.0": { + "vector": [-9.96271, 0.86717, 4.92442] + }, + "2.0": { + "vector": [-9.99067, -0.43399, -2.46207] + } + } + }, + "3": { + "rotation": { + "0.0": { + "vector": [7.49294, -0.32621, 2.47864] + }, + "1.0": { + "vector": [7.43656, 0.9762, -7.43656] + }, + "2.0": { + "vector": [7.49294, -0.32621, 2.47864] + } + } + }, + "Torso": { + "position": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 0.5, 0] + }, + "2.0": { + "vector": [0, 0, 0] + } + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "Lhand": { + "rotation": { + "0.0": { + "vector": [-29, 0, -10] + }, + "1.0": { + "vector": [-33, 0, -10] + }, + "2.0": { + "vector": [-29, 0, -10] + } + } + }, + "bone": { + "rotation": { + "vector": [-27.5, 0, 0] + } + }, + "Rhand": { + "rotation": { + "0.0": { + "vector": [21, 0, 12.5] + }, + "1.0": { + "vector": [18, 0, 12.5] + }, + "2.0": { + "vector": [21, 0, 12.5] + } + } + }, + "bone2": { + "rotation": { + "vector": [-21.43432, -6.18092, -9.24859] + }, + "position": { + "vector": [0, 0.5, -0.4] + } + }, + "Tail": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "bone3": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -180, 0] + }, + "2.0": { + "vector": [0, -357.5, 0] + } + } + }, + "bone4": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, 180, 0] + }, + "2.0": { + "vector": [0, 360, 0] + } + } + }, + "bone5": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "1.0": { + "vector": [0, -180, 0] + }, + "2.0": { + "vector": [0, -357.5, 0] + } + } + }, + "chest": { + "scale": { + "0.0": { + "vector": [1, 1, 1] + }, + "1.0": { + "vector": [1.07, 1, 1] + }, + "2.0": { + "vector": [1, 1, 1] + } + } + }, + "All": { + "rotation": { + "vector": [8, 0, 0] + } + } + } + }, + "AttackAfrit": { + "loop": "hold_on_last_frame", + "animation_length": 0.5, + "bones": { + "1": { + "rotation": { + "0.0": { + "vector": [0, 0, 2.5] + }, + "0.25": { + "vector": [0, 0, -5] + }, + "0.5": { + "vector": [0, 0, 2.5] + } + } + }, + "2": { + "rotation": { + "0.0": { + "vector": [-9.99067, -0.43399, -2.46207] + }, + "0.25": { + "vector": [-9.96271, 0.86717, 4.92442] + }, + "0.5": { + "vector": [-9.99067, -0.43399, -2.46207] + } + } + }, + "3": { + "rotation": { + "0.0": { + "vector": [7.49294, -0.32621, 2.47864] + }, + "0.25": { + "vector": [7.43656, 0.9762, -7.43656] + }, + "0.5": { + "vector": [7.49294, -0.32621, 2.47864] + } + } + }, + "Torso": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, -45, 0] + }, + "0.2917": { + "vector": [0, -2, 0] + }, + "0.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "Lhand": { + "rotation": { + "vector": [7.5, 0, -10] + } + }, + "bone": { + "rotation": { + "vector": [-27.5, 0, 0] + } + }, + "Rhand": { + "rotation": { + "0.0": { + "vector": [-10, 0, 12.5] + }, + "0.2083": { + "vector": [-55.11756, -17.98449, 37.66083] + }, + "0.25": { + "vector": [-43.96521, 11.10344, 43.241] + }, + "0.2917": { + "vector": [-4.05266, -5.23211, 27.36235] + }, + "0.375": { + "vector": [-13.12996, 0.13083, 34.13127] + }, + "0.5": { + "vector": [-10, 0, 12.5] + } + } + }, + "bone2": { + "rotation": { + "0.0": { + "vector": [-12, -17.5, 0] + }, + "0.25": { + "vector": [-32, -17.5, 0] + }, + "0.2917": { + "vector": [10.20951, -5.54343, -1.04318] + }, + "0.5": { + "vector": [-12, -17.5, 0] + } + } + }, + "Tail": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "bone3": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, -180, 0] + }, + "0.5": { + "vector": [0, -357.5, 0] + } + } + }, + "bone4": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, 180, 0] + }, + "0.5": { + "vector": [0, 360, 0] + } + } + }, + "bone5": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, -180, 0] + }, + "0.5": { + "vector": [0, -357.5, 0] + } + } + }, + "chest": { + "scale": { + "vector": [1, 1, 1] + } + }, + "Head": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, 45, 0] + }, + "0.2917": { + "vector": [0, 5.75, 0] + }, + "0.4167": { + "vector": [0, 0, 0] + } + } + }, + "bone6": { + "position": { + "vector": [0, 0, -6] + } + } + } + }, + "attack": { + "loop": "hold_on_last_frame", + "animation_length": 0.5, + "bones": { + "1": { + "rotation": { + "0.0": { + "vector": [0, 0, 2.5] + }, + "0.25": { + "vector": [0, 0, -5] + }, + "0.5": { + "vector": [0, 0, 2.5] + } + } + }, + "2": { + "rotation": { + "0.0": { + "vector": [-9.99067, -0.43399, -2.46207] + }, + "0.25": { + "vector": [-9.96271, 0.86717, 4.92442] + }, + "0.5": { + "vector": [-9.99067, -0.43399, -2.46207] + } + } + }, + "3": { + "rotation": { + "0.0": { + "vector": [7.49294, -0.32621, 2.47864] + }, + "0.25": { + "vector": [7.43656, 0.9762, -7.43656] + }, + "0.5": { + "vector": [7.49294, -0.32621, 2.47864] + } + } + }, + "Torso": { + "rotation": { + "0.0": { + "vector": [0, 27.5, 0] + }, + "0.125": { + "vector": [0, -24.5, 0] + }, + "0.25": { + "vector": [0, -24.5, 0] + }, + "0.5": { + "vector": [0, 27.5, 0] + } + }, + "position": { + "vector": [0, 0, 0] + }, + "scale": { + "vector": [1, 1, 1] + } + }, + "Lhand": { + "rotation": { + "vector": [7.5, 0, -10] + } + }, + "bone": { + "rotation": { + "vector": [-27.5, 0, 0] + } + }, + "Rhand": { + "rotation": { + "0.0": { + "vector": [44, 0, 12.5] + }, + "0.125": { + "vector": [-20.9419, 16.88077, 6.15879] + }, + "0.25": { + "vector": [-20.9419, 16.88077, 6.15879] + }, + "0.5": { + "vector": [44, 0, 12.5] + } + } + }, + "bone2": { + "rotation": { + "0.0": { + "vector": [-41, -17.5, 0] + }, + "0.125": { + "vector": [1.00475, -3.99745, 2.31019] + }, + "0.25": { + "vector": [1.00475, -3.99745, 2.31019] + }, + "0.5": { + "vector": [-41, -17.5, 0] + } + } + }, + "Tail": { + "rotation": { + "vector": [0, 0, 0] + } + }, + "bone3": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, -180, 0] + }, + "0.5": { + "vector": [0, -357.5, 0] + } + } + }, + "bone4": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, 180, 0] + }, + "0.5": { + "vector": [0, 360, 0] + } + } + }, + "bone5": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.25": { + "vector": [0, -180, 0] + }, + "0.5": { + "vector": [0, -357.5, 0] + } + } + }, + "chest": { + "scale": { + "vector": [1, 1, 1] + } + }, + "Head": { + "rotation": { + "0.0": { + "vector": [0, -27.5, 0] + }, + "0.125": { + "vector": [0, 23.5, 0] + }, + "0.25": { + "vector": [0, 23.5, 0] + }, + "0.5": { + "vector": [0, -27.5, 0] + } + } + }, + "bone6": { + "rotation": { + "0.0": { + "vector": [0, 0, 0] + }, + "0.125": { + "vector": [12, 0, 0] + }, + "0.25": { + "vector": [12, 0, 0] + }, + "0.5": { + "vector": [0, 0, 0] + } + }, + "position": { + "vector": [0, 0, -6] + } + } + } + } + }, + "geckolib_format_version": 2 +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/geo/entity/marid.geo.json b/src/main/resources/assets/occultism/geo/entity/marid.geo.json new file mode 100644 index 000000000..b7d70f355 --- /dev/null +++ b/src/main/resources/assets/occultism/geo/entity/marid.geo.json @@ -0,0 +1,189 @@ +{ + "format_version": "1.12.0", + "minecraft:geometry": [ + { + "description": { + "identifier": "geometry.marid_worker", + "texture_width": 64, + "texture_height": 64, + "visible_bounds_width": 5, + "visible_bounds_height": 3.5, + "visible_bounds_offset": [0, 1.25, 0] + }, + "bones": [ + { + "name": "All", + "pivot": [0, 0, 0] + }, + { + "name": "Torso", + "parent": "All", + "pivot": [0, 22, 0] + }, + { + "name": "Head", + "parent": "Torso", + "pivot": [0, 0, 0], + "cubes": [ + {"origin": [-2.5, 32, -3], "size": [5, 4, 5], "uv": [32, 0]}, + { + "origin": [0, 33, -1], + "size": [0, 5, 6], + "pivot": [0, 39, 1], + "rotation": [-20, 0, 0], + "uv": { + "north": {"uv": [2, 2], "uv_size": [0, 5]}, + "east": {"uv": [2, 2], "uv_size": [6, 5]}, + "south": {"uv": [8, 2], "uv_size": [0, 5]}, + "west": {"uv": [2, 2], "uv_size": [6, 5]}, + "up": {"uv": [2, -4], "uv_size": [0, 6]}, + "down": {"uv": [2, 2], "uv_size": [0, -6]} + } + }, + {"origin": [0.8, 30.1, -3.8], "size": [1.3, 2.9, 0.8], "pivot": [-0.6, 32, -3.3], "rotation": [-37.65617, -5.52676, -7.11422], "uv": [2, 2], "mirror": true}, + {"origin": [1.2, 29, -4.4], "size": [0.8, 2.2, 0.4], "uv": [2, 2]}, + {"origin": [-2.1, 30.1, -3.8], "size": [1.3, 2.9, 0.8], "pivot": [0.6, 32, -3.3], "rotation": [-37.65617, 5.52676, 7.11422], "uv": [2, 2]}, + {"origin": [-2, 29, -4.4], "size": [0.8, 2.2, 0.4], "uv": [2, 2], "mirror": true} + ] + }, + { + "name": "Lhand", + "parent": "Torso", + "pivot": [5.5, 30, 0], + "cubes": [ + {"origin": [5, 23, -2], "size": [3, 8, 4], "uv": [46, 45]} + ] + }, + { + "name": "bone", + "parent": "Lhand", + "pivot": [6.5, 23.5, 0], + "cubes": [ + {"origin": [5.2, 17.5, -1.8], "size": [2.6, 6, 3.6], "uv": [50, 7]} + ] + }, + { + "name": "Rhand", + "parent": "Torso", + "pivot": [-5.5, 30, 0], + "cubes": [ + {"origin": [-8, 23, -2], "size": [3, 8, 4], "uv": [0, 40]}, + {"origin": [-7.4, 30, -1], "size": [0.9, 4.2, 0.8], "pivot": [-5.5, 30, 0], "rotation": [-28.62959, -4.82924, -8.76703], "uv": [2, 2]}, + {"origin": [-7.4, 30, -1], "size": [0.9, 4.2, 0.8], "pivot": [-5.5, 30, 0], "rotation": [-22.70162, -18.54587, -37.24556], "uv": [2, 2]} + ] + }, + { + "name": "bone2", + "parent": "Rhand", + "pivot": [-6.5, 23, 0], + "cubes": [ + {"origin": [-7.8, 17.3, -1.8], "size": [2.6, 5.7, 3.7], "uv": [50, 17]} + ] + }, + { + "name": "bone6", + "parent": "bone2", + "pivot": [-6.4, 18.7, 6], + "cubes": [ + { + "origin": [-7, 18.3, -8.9], + "size": [1, 1.2, 34.1], + "pivot": [-6.4, 18.7, 0], + "rotation": [0, 0, -37.5], + "uv": { + "north": {"uv": [32, 63], "uv_size": [1, 1]}, + "east": {"uv": [0, 63], "uv_size": [32, 1]}, + "south": {"uv": [65, 63], "uv_size": [1, 1]}, + "west": {"uv": [33, 63], "uv_size": [32, 1]}, + "up": {"uv": [32, 57], "uv_size": [1, 6]}, + "down": {"uv": [33, 63], "uv_size": [1, -5.5]} + } + }, + {"origin": [-9.4, 18.1, -8.9], "size": [6, 1.6, 2], "pivot": [-6.4, 18.7, 0], "rotation": [0, 0, -37.5], "uv": [18, 44]}, + {"origin": [-9.1, 18.5, -13.8], "size": [1.2, 0.9, 4.9], "pivot": [-6.4, 18.7, 0], "rotation": [0, 0, -37.5], "uv": [36, 55]}, + {"origin": [-7.1, 18.5, -13.8], "size": [1.2, 0.9, 4.9], "pivot": [-6.4, 18.7, 0], "rotation": [0, 0, -37.5], "uv": [34, 52]}, + {"origin": [-5.1, 18.5, -13.8], "size": [1.2, 0.9, 4.9], "pivot": [-6.4, 18.7, 0], "rotation": [0, 0, -37.5], "uv": [25, 57]} + ] + }, + { + "name": "chest", + "parent": "Torso", + "pivot": [0, 4, 0], + "cubes": [ + {"origin": [-5, 26, -3], "size": [10, 6, 6], "uv": [0, 16]}, + {"origin": [-3, 20, -2.2], "size": [6, 8, 4.7], "uv": [0, 28]} + ] + }, + { + "name": "Rhand2", + "parent": "Torso", + "pivot": [5.5, 30, 0], + "cubes": [ + {"origin": [6.5, 30, -1], "size": [0.9, 4.2, 0.8], "pivot": [5.5, 30, 0], "rotation": [-22.70162, 18.54587, 37.24556], "uv": [2, 2], "mirror": true} + ] + }, + { + "name": "Rhand3", + "parent": "Torso", + "pivot": [5.5, 30, 0], + "cubes": [ + {"origin": [6.5, 30, -1], "size": [0.9, 4.2, 0.8], "pivot": [5.5, 30, 0], "rotation": [-28.62959, 4.82924, 8.76703], "uv": [2, 2], "mirror": true} + ] + }, + { + "name": "Tail", + "parent": "All", + "pivot": [0, 0, 0] + }, + { + "name": "1", + "parent": "Tail", + "pivot": [0, 19, 0], + "cubes": [ + {"origin": [-2.9, 15.1, -2.1], "size": [5.8, 8, 4.9], "uv": [16, 36]} + ] + }, + { + "name": "bone3", + "parent": "1", + "pivot": [0, 19, 0], + "cubes": [ + {"origin": [-4.4, 15, -4.2], "size": [8.8, 8, 8.4], "uv": [0, 0]} + ] + }, + { + "name": "2", + "parent": "Tail", + "pivot": [0, 12, 0], + "cubes": [ + {"origin": [-2, 9, -1.6], "size": [4, 7, 3.6], "uv": [14, 48]} + ] + }, + { + "name": "bone4", + "parent": "2", + "pivot": [0, 12, 0], + "cubes": [ + {"origin": [-3, 8, -3], "size": [6, 8, 5.9], "uv": [27, 23]} + ] + }, + { + "name": "3", + "parent": "Tail", + "pivot": [0, 4, 0], + "cubes": [ + {"origin": [-1, 4, -1], "size": [2, 5, 2], "uv": [0, 0]} + ] + }, + { + "name": "bone5", + "parent": "3", + "pivot": [0, 5, 0], + "cubes": [ + {"origin": [-2, -0.3, -2], "size": [4, 9, 4], "uv": [34, 36]} + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/textures/entity/old_zombie_piglin.png b/src/main/resources/assets/occultism/textures/entity/old_zombie_piglin.png new file mode 100644 index 000000000..4fa57234e Binary files /dev/null and b/src/main/resources/assets/occultism/textures/entity/old_zombie_piglin.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/bowl_placement.png b/src/main/resources/assets/occultism/textures/gui/book/bowl_placement.png index 528e79b50..25bf075ca 100644 Binary files a/src/main/resources/assets/occultism/textures/gui/book/bowl_placement.png and b/src/main/resources/assets/occultism/textures/gui/book/bowl_placement.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/familiar.png b/src/main/resources/assets/occultism/textures/gui/book/familiar.png new file mode 100644 index 000000000..ded3fe322 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/gui/book/familiar.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/pentacle.png b/src/main/resources/assets/occultism/textures/gui/book/pentacle.png new file mode 100644 index 000000000..65d1fb8f1 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/gui/book/pentacle.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/redstone_clone.png b/src/main/resources/assets/occultism/textures/gui/book/redstone_clone.png new file mode 100644 index 000000000..59a06fe30 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/gui/book/redstone_clone.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/rod_far.png b/src/main/resources/assets/occultism/textures/gui/book/rod_far.png index 182beeabd..be6776fba 100644 Binary files a/src/main/resources/assets/occultism/textures/gui/book/rod_far.png and b/src/main/resources/assets/occultism/textures/gui/book/rod_far.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/rod_mid.png b/src/main/resources/assets/occultism/textures/gui/book/rod_mid.png index c1cc43b3d..41e2d36b8 100644 Binary files a/src/main/resources/assets/occultism/textures/gui/book/rod_mid.png and b/src/main/resources/assets/occultism/textures/gui/book/rod_mid.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/rod_near.png b/src/main/resources/assets/occultism/textures/gui/book/rod_near.png index 07731faca..c4082ca91 100644 Binary files a/src/main/resources/assets/occultism/textures/gui/book/rod_near.png and b/src/main/resources/assets/occultism/textures/gui/book/rod_near.png differ diff --git a/src/main/resources/assets/occultism/textures/gui/book/spiritfire_instructions.png b/src/main/resources/assets/occultism/textures/gui/book/spiritfire_instructions.png index 2c5209955..a0a24d915 100644 Binary files a/src/main/resources/assets/occultism/textures/gui/book/spiritfire_instructions.png and b/src/main/resources/assets/occultism/textures/gui/book/spiritfire_instructions.png differ diff --git a/src/main/resources/assets/occultism/textures/item/amethyst_dust.png b/src/main/resources/assets/occultism/textures/item/amethyst_dust.png new file mode 100644 index 000000000..c08f0321b Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/amethyst_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/book_of_calling_cleaner.png b/src/main/resources/assets/occultism/textures/item/book_of_calling_cleaner.png index 0e4f02065..52ae32580 100644 Binary files a/src/main/resources/assets/occultism/textures/item/book_of_calling_cleaner.png and b/src/main/resources/assets/occultism/textures/item/book_of_calling_cleaner.png differ diff --git a/src/main/resources/assets/occultism/textures/item/chalk_cyan.png b/src/main/resources/assets/occultism/textures/item/chalk_cyan.png index 5ea40e1f7..49412923f 100644 Binary files a/src/main/resources/assets/occultism/textures/item/chalk_cyan.png and b/src/main/resources/assets/occultism/textures/item/chalk_cyan.png differ diff --git a/src/main/resources/assets/occultism/textures/item/chalk_magenta.png b/src/main/resources/assets/occultism/textures/item/chalk_magenta.png index e857e2a47..f372b4e56 100644 Binary files a/src/main/resources/assets/occultism/textures/item/chalk_magenta.png and b/src/main/resources/assets/occultism/textures/item/chalk_magenta.png differ diff --git a/src/main/resources/assets/occultism/textures/item/chalk_purple.png b/src/main/resources/assets/occultism/textures/item/chalk_purple.png index 78042117b..d52fd788b 100644 Binary files a/src/main/resources/assets/occultism/textures/item/chalk_purple.png and b/src/main/resources/assets/occultism/textures/item/chalk_purple.png differ diff --git a/src/main/resources/assets/occultism/textures/item/chalk_red.png b/src/main/resources/assets/occultism/textures/item/chalk_red.png index 04b663322..e89ff61c0 100644 Binary files a/src/main/resources/assets/occultism/textures/item/chalk_red.png and b/src/main/resources/assets/occultism/textures/item/chalk_red.png differ diff --git a/src/main/resources/assets/occultism/textures/item/chalk_yellow.png b/src/main/resources/assets/occultism/textures/item/chalk_yellow.png new file mode 100644 index 000000000..4f9f40a46 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/chalk_yellow.png differ diff --git a/src/main/resources/assets/occultism/textures/item/chalk_gold_impure.png b/src/main/resources/assets/occultism/textures/item/chalk_yellow_impure.png similarity index 100% rename from src/main/resources/assets/occultism/textures/item/chalk_gold_impure.png rename to src/main/resources/assets/occultism/textures/item/chalk_yellow_impure.png diff --git a/src/main/resources/assets/occultism/textures/item/cruelty_essence.png b/src/main/resources/assets/occultism/textures/item/cruelty_essence.png new file mode 100644 index 000000000..08f08a36b Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/cruelty_essence.png differ diff --git a/src/main/resources/assets/occultism/textures/item/crushed_blackstone.png b/src/main/resources/assets/occultism/textures/item/crushed_blackstone.png new file mode 100644 index 000000000..035eb5abd Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/crushed_blackstone.png differ diff --git a/src/main/resources/assets/occultism/textures/item/crushed_blue_ice.png b/src/main/resources/assets/occultism/textures/item/crushed_blue_ice.png new file mode 100644 index 000000000..86f3d7bfb Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/crushed_blue_ice.png differ diff --git a/src/main/resources/assets/occultism/textures/item/crushed_calcite.png b/src/main/resources/assets/occultism/textures/item/crushed_calcite.png new file mode 100644 index 000000000..d1ce6cac1 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/crushed_calcite.png differ diff --git a/src/main/resources/assets/occultism/textures/item/crushed_ice.png b/src/main/resources/assets/occultism/textures/item/crushed_ice.png new file mode 100644 index 000000000..7aca11e92 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/crushed_ice.png differ diff --git a/src/main/resources/assets/occultism/textures/item/crushed_packed_ice.png b/src/main/resources/assets/occultism/textures/item/crushed_packed_ice.png new file mode 100644 index 000000000..a80f14af0 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/crushed_packed_ice.png differ diff --git a/src/main/resources/assets/occultism/textures/item/cursed_honey.png b/src/main/resources/assets/occultism/textures/item/cursed_honey.png new file mode 100644 index 000000000..d905037cd Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/cursed_honey.png differ diff --git a/src/main/resources/assets/occultism/textures/item/demonic_meat.png b/src/main/resources/assets/occultism/textures/item/demonic_meat.png new file mode 100644 index 000000000..b346d2cf1 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/demonic_meat.png differ diff --git a/src/main/resources/assets/occultism/textures/item/dragonyst_dust.png b/src/main/resources/assets/occultism/textures/item/dragonyst_dust.png new file mode 100644 index 000000000..1f63dd186 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/dragonyst_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/echo_dust.png b/src/main/resources/assets/occultism/textures/item/echo_dust.png new file mode 100644 index 000000000..7b896c50f Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/echo_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/emerald_dust.png b/src/main/resources/assets/occultism/textures/item/emerald_dust.png new file mode 100644 index 000000000..2713dfc47 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/emerald_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/gray_paste.png b/src/main/resources/assets/occultism/textures/item/gray_paste.png new file mode 100644 index 000000000..5f7946166 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/gray_paste.png differ diff --git a/src/main/resources/assets/occultism/textures/item/lapis_dust.png b/src/main/resources/assets/occultism/textures/item/lapis_dust.png new file mode 100644 index 000000000..6981cc29e Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/lapis_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/marid_essence.png b/src/main/resources/assets/occultism/textures/item/marid_essence.png new file mode 100644 index 000000000..7ad5f35d0 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/marid_essence.png differ diff --git a/src/main/resources/assets/occultism/textures/item/mining_dim_core.png b/src/main/resources/assets/occultism/textures/item/mining_dim_core.png new file mode 100644 index 000000000..126c94436 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/mining_dim_core.png differ diff --git a/src/main/resources/assets/occultism/textures/item/mining_dim_core.png.mcmeta b/src/main/resources/assets/occultism/textures/item/mining_dim_core.png.mcmeta new file mode 100644 index 000000000..5d874ad0f --- /dev/null +++ b/src/main/resources/assets/occultism/textures/item/mining_dim_core.png.mcmeta @@ -0,0 +1,39 @@ +{ + "animation": { + "interpolate": true, + "frames": [ + { + "index": 0, + "time": 8 + }, + { + "index": 1, + "time": 8 + }, + { + "index": 2, + "time": 8 + }, + { + "index": 3, + "time": 8 + }, + { + "index": 4, + "time": 8 + }, + { + "index": 5, + "time": 8 + }, + { + "index": 6, + "time": 8 + }, + { + "index": 7, + "time": 8 + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/textures/item/nature_paste.png b/src/main/resources/assets/occultism/textures/item/nature_paste.png new file mode 100644 index 000000000..3dc8244d4 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/nature_paste.png differ diff --git a/src/main/resources/assets/occultism/textures/item/netherite_dust.png b/src/main/resources/assets/occultism/textures/item/netherite_dust.png new file mode 100644 index 000000000..4c994cf39 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/netherite_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/netherite_scrap_dust.png b/src/main/resources/assets/occultism/textures/item/netherite_scrap_dust.png new file mode 100644 index 000000000..fd5f92b7a Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/netherite_scrap_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/repair_icon.png b/src/main/resources/assets/occultism/textures/item/repair_icon.png new file mode 100644 index 000000000..c29fc8271 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/repair_icon.png differ diff --git a/src/main/resources/assets/occultism/textures/item/repair_icon.png.mcmeta b/src/main/resources/assets/occultism/textures/item/repair_icon.png.mcmeta new file mode 100644 index 000000000..cf7b1d7ba --- /dev/null +++ b/src/main/resources/assets/occultism/textures/item/repair_icon.png.mcmeta @@ -0,0 +1,23 @@ +{ + "animation": { + "interpolate": false, + "frames": [ + { + "index": 0, + "time": 5 + }, + { + "index": 1, + "time": 5 + }, + { + "index": 2, + "time": 5 + }, + { + "index": 3, + "time": 5 + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/textures/item/research_fragment_dust.png b/src/main/resources/assets/occultism/textures/item/research_fragment_dust.png new file mode 100644 index 000000000..1133eaa1d Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/research_fragment_dust.png differ diff --git a/src/main/resources/assets/occultism/textures/item/resurrect_icon.png b/src/main/resources/assets/occultism/textures/item/resurrect_icon.png new file mode 100644 index 000000000..149a8d0f4 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/resurrect_icon.png differ diff --git a/src/main/resources/assets/occultism/textures/item/resurrect_icon.png.mcmeta b/src/main/resources/assets/occultism/textures/item/resurrect_icon.png.mcmeta new file mode 100644 index 000000000..cf7b1d7ba --- /dev/null +++ b/src/main/resources/assets/occultism/textures/item/resurrect_icon.png.mcmeta @@ -0,0 +1,23 @@ +{ + "animation": { + "interpolate": false, + "frames": [ + { + "index": 0, + "time": 5 + }, + { + "index": 1, + "time": 5 + }, + { + "index": 2, + "time": 5 + }, + { + "index": 3, + "time": 5 + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/occultism/textures/item/ritual_dummy_craft.png b/src/main/resources/assets/occultism/textures/item/ritual_dummy_craft.png new file mode 100644 index 000000000..dd7f16c83 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/ritual_dummy_craft.png differ diff --git a/src/main/resources/assets/occultism/textures/item/ritual_dummy_misc.png b/src/main/resources/assets/occultism/textures/item/ritual_dummy_misc.png new file mode 100644 index 000000000..9f184ec77 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/ritual_dummy_misc.png differ diff --git a/src/main/resources/assets/occultism/textures/item/ritual_dummy_possess.png b/src/main/resources/assets/occultism/textures/item/ritual_dummy_possess.png new file mode 100644 index 000000000..94a1e5810 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/ritual_dummy_possess.png differ diff --git a/src/main/resources/assets/occultism/textures/item/ritual_dummy.png b/src/main/resources/assets/occultism/textures/item/ritual_dummy_summon.png similarity index 100% rename from src/main/resources/assets/occultism/textures/item/ritual_dummy.png rename to src/main/resources/assets/occultism/textures/item/ritual_dummy_summon.png diff --git a/src/main/resources/assets/occultism/textures/item/witherite_dust.png b/src/main/resources/assets/occultism/textures/item/witherite_dust.png new file mode 100644 index 000000000..10a8791e0 Binary files /dev/null and b/src/main/resources/assets/occultism/textures/item/witherite_dust.png differ diff --git a/src/main/resources/data/apotheosis/enchanting_stats/white_candle.json b/src/main/resources/data/apotheosis/enchanting_stats/large_candles.json similarity index 67% rename from src/main/resources/data/apotheosis/enchanting_stats/white_candle.json rename to src/main/resources/data/apotheosis/enchanting_stats/large_candles.json index 2e4542098..4a10c1ff1 100644 --- a/src/main/resources/data/apotheosis/enchanting_stats/white_candle.json +++ b/src/main/resources/data/apotheosis/enchanting_stats/large_candles.json @@ -1,10 +1,10 @@ { - "block": "occultism:candle_white", + "tag": "occultism:candles", "stats": { "maxEterna": 0, "eterna": 0, "quanta": 0, - "arcana": 3, + "arcana": 4, "rectification": 0, "clues": 0 } diff --git a/src/main/resources/data/apotheosis/enchanting_stats/spirit_attuned_crystal.json b/src/main/resources/data/apotheosis/enchanting_stats/spirit_attuned_crystal.json index 4ddc3aea4..9d252bce4 100644 --- a/src/main/resources/data/apotheosis/enchanting_stats/spirit_attuned_crystal.json +++ b/src/main/resources/data/apotheosis/enchanting_stats/spirit_attuned_crystal.json @@ -1,8 +1,8 @@ { "block": "occultism:spirit_attuned_crystal", "stats": { - "maxEterna": 22.5, - "eterna": 1, + "maxEterna": 45, + "eterna": 3, "quanta": 0, "arcana": 0, "rectification": 0, diff --git a/src/main/resources/data/occultism/advancement/chalks/black.json b/src/main/resources/data/occultism/advancement/chalks/black.json new file mode 100644 index 000000000..c0fdda98a --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/black.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_black" + }, + "title": {"translate": "advancements.occultism.chalks.black.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.black.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/red", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_black" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/blue.json b/src/main/resources/data/occultism/advancement/chalks/blue.json new file mode 100644 index 000000000..e060e2f34 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/blue.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_blue" + }, + "title": {"translate": "advancements.occultism.chalks.blue.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.blue.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/black", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_blue" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/brown.json b/src/main/resources/data/occultism/advancement/chalks/brown.json new file mode 100644 index 000000000..8159c85be --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/brown.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_brown" + }, + "title": {"translate": "advancements.occultism.chalks.brown.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.brown.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/blue", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_brown" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/cyan.json b/src/main/resources/data/occultism/advancement/chalks/cyan.json new file mode 100644 index 000000000..8421602ea --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/cyan.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_cyan" + }, + "title": {"translate": "advancements.occultism.chalks.cyan.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.cyan.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/blue", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_cyan" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/gray.json b/src/main/resources/data/occultism/advancement/chalks/gray.json new file mode 100644 index 000000000..275d9db8d --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/gray.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_gray" + }, + "title": {"translate": "advancements.occultism.chalks.gray.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.gray.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/lime", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_gray" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/green.json b/src/main/resources/data/occultism/advancement/chalks/green.json new file mode 100644 index 000000000..35c4ddcb7 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/green.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_green" + }, + "title": {"translate": "advancements.occultism.chalks.green.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.green.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/purple", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_green" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/light_blue.json b/src/main/resources/data/occultism/advancement/chalks/light_blue.json new file mode 100644 index 000000000..fd879ceba --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/light_blue.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_light_blue" + }, + "title": {"translate": "advancements.occultism.chalks.light_blue.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.light_blue.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/lime", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_light_blue" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/light_gray.json b/src/main/resources/data/occultism/advancement/chalks/light_gray.json new file mode 100644 index 000000000..8c7a6c58d --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/light_gray.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_light_gray" + }, + "title": {"translate": "advancements.occultism.chalks.light_gray.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.light_gray.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/white", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_light_gray" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/lime.json b/src/main/resources/data/occultism/advancement/chalks/lime.json new file mode 100644 index 000000000..8ec01fead --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/lime.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_lime" + }, + "title": {"translate": "advancements.occultism.chalks.lime.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.lime.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/purple", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_lime" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/magenta.json b/src/main/resources/data/occultism/advancement/chalks/magenta.json new file mode 100644 index 000000000..b1b870676 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/magenta.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_magenta" + }, + "title": {"translate": "advancements.occultism.chalks.magenta.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.magenta.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/blue", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_magenta" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/orange.json b/src/main/resources/data/occultism/advancement/chalks/orange.json new file mode 100644 index 000000000..a2efcd02c --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/orange.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_orange" + }, + "title": {"translate": "advancements.occultism.chalks.orange.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.orange.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/lime", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_orange" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/pink.json b/src/main/resources/data/occultism/advancement/chalks/pink.json new file mode 100644 index 000000000..a3e91bd88 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/pink.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_pink" + }, + "title": {"translate": "advancements.occultism.chalks.pink.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.pink.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/orange", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_pink" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/purple.json b/src/main/resources/data/occultism/advancement/chalks/purple.json new file mode 100644 index 000000000..fc825ef1a --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/purple.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_purple" + }, + "title": {"translate": "advancements.occultism.chalks.purple.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.purple.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/yellow", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_purple" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/red.json b/src/main/resources/data/occultism/advancement/chalks/red.json new file mode 100644 index 000000000..cf822278c --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/red.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_red" + }, + "title": {"translate": "advancements.occultism.chalks.red.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.red.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/orange", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_red" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/root.json b/src/main/resources/data/occultism/advancement/chalks/root.json new file mode 100644 index 000000000..6dea3f5a0 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/root.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:brush" + }, + "title": {"translate": "advancements.occultism.chalks.root.title"}, + "description": {"color":"#CCCCCC","translate":"advancements.occultism.chalks.root.description"}, + "background": "occultism:textures/block/otherstone.png", + "show_toast": true, + "announce_to_chat": false + }, + "criteria": { + "chalk_impure": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_white_impure" + ] + } + ] + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/data/occultism/advancement/chalks/white.json b/src/main/resources/data/occultism/advancement/chalks/white.json new file mode 100644 index 000000000..0c3e0d544 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/white.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_white" + }, + "title": {"translate": "advancements.occultism.chalks.white.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.white.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/root", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_white" + ] + } + ] + } + } + } +} diff --git a/src/main/resources/data/occultism/advancement/chalks/yellow.json b/src/main/resources/data/occultism/advancement/chalks/yellow.json new file mode 100644 index 000000000..572070260 --- /dev/null +++ b/src/main/resources/data/occultism/advancement/chalks/yellow.json @@ -0,0 +1,26 @@ +{ + "display": { + "icon": { + "id": "occultism:chalk_gold" + }, + "title": {"translate": "advancements.occultism.chalks.yellow.title"}, + "description": {"color":"green","translate":"advancements.occultism.chalks.yellow.description"}, + "show_toast": true, + "announce_to_chat": false + }, + "parent": "occultism:chalks/white", + "criteria": { + "chalk_white": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "occultism:chalk_gold" + ] + } + ] + } + } + } +}