* Initial stab at API structuring
* Throwing all the things into the API*
Eliminated all internal imports
Also added some helpful comments
*except for the ritual stuff
* Reducing the API
Threw back the altar/incense/unnecessary items to main
Added in a functional API instance
* API cleanup
Removing all the unnecessities
Smushed and vaporized some redundant recipe stuffs
* Made API dummy instances
Refactor packaging
* Tooltips are now properly gray
:P
* idk what happened with git
* Updated utility/getting_started
Replaced the first page.
Removed Tier-0. It doesn't exist anymore.
Separated Tier-1 into 4 pages; Blood Altar, Alchemy Table, Alchemy Array, and Hellfire Forge.
* Updated demon_will/soul_snare
Removed the first page. Put my replacement under the crafting step, which is the new first page.
Moved the picture of the Skeleton to after the detailed directions on how to use it, just in case someone doesn't think to turn the page.
* Sigil page order tweak
Make all Sigils have the recipe in the second page. These 5 had pictures on the second page from before the crafting template had been made. That picture has been moved to the third page.
Note: "second page" = page index 1.
* Updated book to match v3.0.4-9.
did a general quality pass, removed extranious $(item) tags where $(l:) tags were already being used, added a page for the explosive charges, added a description of blood transfer to and from the blood altar, added a 2x soulforge template, removed progress bar (for now)
* added changelog
also added links from the changelog to various relevant pages in the book, and added anchors accordingly.
* Update manual to 3.0.6-11
updated changelog, added page for Well of Suffering, rewrote entry on Explosive Charges, slightly tweaked the Anointments to better describe how they wear off, added a $(blood) tag to the manual (same colour as $(fire) so we can talk about Blood more dramatically. This is BLOOD magic after all! (Note, make sure this works - the word 'blood' in the Well of Suffering should be red.
* Improved Ritual Descriptions & Wills
Added links to a few things, formatted some bits to be prettier, elaborated on Fire Fuse, explained that benefits that improve with more Will in the aura don't care about other aspects,
* fixed overlapping URLs
might be a temporary fix until patchouli solves this bug on their end, but the 'NOT YET IMPLEMENTED' link was previously running-over into the clickable area for 'demon will'. Moving it to a new line should solve this.
* Anointments work on Explosives
... unless they don't, that is... Way, be sure to remove the bit for 'looting' working on charges if you can't crack that problem. (I've got faith in you, so i've left it in for now!)
* misc fixes
Cutting Fluid works with the Ritual of the Crusher, and the Self Sacrifice bonus is +150%, not 150%.
* added bloodmagic namespace to links
... editing, like, 3/4 of all files. Hoo boy.
* fixed some boo-boos
Whoops. Also a little more polish here and there. The usual.
* Add Bloodmagic's namespace to Category calls
This has to be updated in every single Entry, and the 3 current sub-categories.
* Corrected Soul Snare's recipe reference
It's now crafted in a Blood Altar.
* Updated Charges
added Fungal and Controlled charges, added the Charge Anointments, added a 3x Soulforge Recipe page to handle them.
* added anchors to new entries
* Create throwing_daggers.json
Ouch! Hey, these are pointy!
* added entry for alchemy table's GUI
* Updated 'Getting Started'
to make note of recent changes to progression - first gold, then the altar, then the snares. Tweaked several related pages accordingly. I think i caught them all!
Co-authored-by: VT-14 <GamingVT14@gmail.com>
* Categories Refactor
Created a (currently empty) Alchemy Table Category.
Resorted the order of all Categories.
Refactored the 3 Sub-Cateogires. They now have folders named inside the categories folder named after their parent category. This will make them easier to keep track of, especially if we end up having multiple sub-categories in a category (such as separate Living Armor upgrades and downgrades).
Updated the Category for all entries in those sub-cagetories.
* Alchemy Array Categories Refactor
Moved Sigils and Living Equipment into Alchemy Arrays as Sub-Categories.
Created a Functional Arrays sub-category in Alchemy Arrays. Moved all of the existing Alchemy Array entries into this category.
Refactored the Category information on all relevant entries.
Also updated the Utility category's sortnum to 99 so it will always appear second to last (just before the Index).
Updated Patchouli version to 1.16.4-48-SNAPSHOT.
With the updated Patchouli version, having a Category with no entries on it places any sub-categories on the right side (like on the book's home page).
* Alchemy Table and Anointments Refactor
Move the Alchemy Table and Anointments entries to the earlier made Alchemy Table category.
Moved all Anointments into a sub-category, and removed them from the Anointments entry. The Anointments Entry is still an overview of the system, and has the Slate-infused Vial recipe on it.
Note to Wrince/Way: These new Categories (Alchemy Table and Annointments) need descriptions. Most of these recent refactors may need slight content tweaks (such as pointing out the sub-categories).
* Added Sigil of Holding page
This includes (I think our first) keybinds in text!
* Hunt of the Broken Links
Fixing as many broken links as I could find from my various refactors.
The new Throwing Daggers deal 8 damage and have a chance to drop a Slate Ampoule based on the mob killed's max health. Crafted using the Hellfire Forge.
Using a Slate Ampoule next to a Blood Altar fills its main tank with 500LP .
Throwing Dagger does 10 damage when it hits a mob, and triggers a 2.5s cooldown similar to Ender Pearls (so they cannot be spammed). If the player has enough Demon Will in their contained gems, when a mob is killed with the Throwing Dagger they give Will to the player similar to the Sentient Sword.
* Updated book to match v3.0.4-9.
did a general quality pass, removed extranious $(item) tags where $(l:) tags were already being used, added a page for the explosive charges, added a description of blood transfer to and from the blood altar, added a 2x soulforge template, removed progress bar (for now)
* added changelog
also added links from the changelog to various relevant pages in the book, and added anchors accordingly.
* Update manual to 3.0.6-11
updated changelog, added page for Well of Suffering, rewrote entry on Explosive Charges, slightly tweaked the Anointments to better describe how they wear off, added a $(blood) tag to the manual (same colour as $(fire) so we can talk about Blood more dramatically. This is BLOOD magic after all! (Note, make sure this works - the word 'blood' in the Well of Suffering should be red.
* Improved Ritual Descriptions & Wills
Added links to a few things, formatted some bits to be prettier, elaborated on Fire Fuse, explained that benefits that improve with more Will in the aura don't care about other aspects,
* fixed overlapping URLs
might be a temporary fix until patchouli solves this bug on their end, but the 'NOT YET IMPLEMENTED' link was previously running-over into the clickable area for 'demon will'. Moving it to a new line should solve this.
* Anointments work on Explosives
... unless they don't, that is... Way, be sure to remove the bit for 'looting' working on charges if you can't crack that problem. (I've got faith in you, so i've left it in for now!)
* misc fixes
Cutting Fluid works with the Ritual of the Crusher, and the Self Sacrifice bonus is +150%, not 150%.
* added bloodmagic namespace to links
... editing, like, 3/4 of all files. Hoo boy.
* fixed some boo-boos
Whoops. Also a little more polish here and there. The usual.
* Add Bloodmagic's namespace to Category calls
This has to be updated in every single Entry, and the 3 current sub-categories.
* Corrected Soul Snare's recipe reference
It's now crafted in a Blood Altar.
Co-authored-by: VT-14 <GamingVT14@gmail.com>
From my research, it appars that runClient.launch, runData.launch, and runServer.launch can't be automatically ignored by .gitignore because they are already files on the main repo.
Removing them from the main repo should make forks easier to maintain. I've been having to manually exclude those files from my commits, and have to regenerate them whenever I create a new branch based on the upstream repository.
Removed all Living Armor Upgrades from Living Upgrades entry.
Created new Sub-Category for Living Armor Upgrades inside of Living Equipment. Furture suggestion: Separate Sub-Category for Downgrades, and possibly more for any Living Tool upgrades/downgrades in the future.
Created separate entries for each upgrade in that sub-category using the data from the original file.
* Updated Arcane Ash entry to use the new Alchemy Table recipe.
* Updated Living Armor Basics to use the new Alchemy Table recipe for Binding reagent.
* Added a heading over Spike Array.
* Added headings over Explosive Charges.
* Corrected Extra Recipe Mapping for Deforester Charge. From what I see in the log, that is the last one that was erroring. I haven't checked to see if all of them line up correctly.
* Updated book to match v3.0.4-9.
did a general quality pass, removed extranious $(item) tags where $(l:) tags were already being used, added a page for the explosive charges, added a description of blood transfer to and from the blood altar, added a 2x soulforge template, removed progress bar (for now)
* added changelog
also added links from the changelog to various relevant pages in the book, and added anchors accordingly.
* Update manual to 3.0.6-11
updated changelog, added page for Well of Suffering, rewrote entry on Explosive Charges, slightly tweaked the Anointments to better describe how they wear off, added a $(blood) tag to the manual (same colour as $(fire) so we can talk about Blood more dramatically. This is BLOOD magic after all! (Note, make sure this works - the word 'blood' in the Well of Suffering should be red.
* Improved Ritual Descriptions & Wills
Added links to a few things, formatted some bits to be prettier, elaborated on Fire Fuse, explained that benefits that improve with more Will in the aura don't care about other aspects,
* fixed overlapping URLs
might be a temporary fix until patchouli solves this bug on their end, but the 'NOT YET IMPLEMENTED' link was previously running-over into the clickable area for 'demon will'. Moving it to a new line should solve this.
* Anointments work on Explosives
... unless they don't, that is... Way, be sure to remove the bit for 'looting' working on charges if you can't crack that problem. (I've got faith in you, so i've left it in for now!)
* misc fixes
Cutting Fluid works with the Ritual of the Crusher, and the Self Sacrifice bonus is +150%, not 150%.
Upgrade nbow removes a portion of your fall distance when falling, thus increasing how far you have to fall in order to receive damage from falling. No longer *directly* decreases fall damage as a result.
* Updated book to match v3.0.4-9.
did a general quality pass, removed extranious $(item) tags where $(l:) tags were already being used, added a page for the explosive charges, added a description of blood transfer to and from the blood altar, added a 2x soulforge template, removed progress bar (for now)
* added changelog
also added links from the changelog to various relevant pages in the book, and added anchors accordingly.
* Update manual to 3.0.6-11
updated changelog, added page for Well of Suffering, rewrote entry on Explosive Charges, slightly tweaked the Anointments to better describe how they wear off, added a $(blood) tag to the manual (same colour as $(fire) so we can talk about Blood more dramatically. This is BLOOD magic after all! (Note, make sure this works - the word 'blood' in the Well of Suffering should be red.
* Update soul_gem.json
to mirror the changes to the hellfire forge. Thanks, Way!
* Register the recipe types with the correct name
* Add CraftTweaker to the build.gradle
Going to change this to compile only when I'm done
* Add ARC support
* Add BloodAltar support
* Add Alchemy Array support
* Add TartaricForge Support
* Add AlchemyTable support
* Update CraftTweaker
* Updated book to match v3.0.4-9.
did a general quality pass, removed extranious $(item) tags where $(l:) tags were already being used, added a page for the explosive charges, added a description of blood transfer to and from the blood altar, added a 2x soulforge template, removed progress bar (for now)
* added changelog
also added links from the changelog to various relevant pages in the book, and added anchors accordingly.
* Update manual to 3.0.6-11
updated changelog, added page for Well of Suffering, rewrote entry on Explosive Charges, slightly tweaked the Anointments to better describe how they wear off, added a $(blood) tag to the manual (same colour as $(fire) so we can talk about Blood more dramatically. This is BLOOD magic after all! (Note, make sure this works - the word 'blood' in the Well of Suffering should be red.
* Updated book to match v3.0.4-9.
did a general quality pass, removed extranious $(item) tags where $(l:) tags were already being used, added a page for the explosive charges, added a description of blood transfer to and from the blood altar, added a 2x soulforge template, removed progress bar (for now)
* added changelog
also added links from the changelog to various relevant pages in the book, and added anchors accordingly.
* Remove Living Armor Extra Recipe Mappings
They don't work, likely due to data on the JEI item. They were also putting errors in the log due to pointing at nonexistant page 4 (starts counting from 0).
* Added more Setup info to Resonance of the Faceted Crystal Ritual.
* Updated "Use Ritual Diviner" Message on Each Ritual.
Let's correctly spell "conStruction" and add links to the Ritual Diviner's page.
I also added a link Anchor to the Ritual Diviner's Dusk version page, and linked each ritual to the appropriate one (Dusk to the Dusk page, and the normal one to the start of the entry)
* Added Error Handling to Patchouli Processors
If a recipe doesn't exist at all, this should log an error and move past it.
* Patchouli Processor Improvements
As recommended by TehNut over Discord.
* Resonance of the Faceted Crystal only needs 5 spires on the Raw Crystal Cluster
* Removed No Longer Needed Examples, Renamed Tome of Peritia Entry
The Double-Array Examles aren't needed anymore since they are actually being used now.
Renaming the Tome of Peritia entry to not end in book.json means the dev environment doesn't try to use it when setting up the book.
* Removed Duplicated Assets
These two folders were renamed to use snake_case when we initially updated the book. I forgot to properly replace the originals and ended up just duplicating them.
* Removed a Few More Unused Assets
These are from before we put all of the Guide's Crafting GUI elements on one texture (located in the textures/gui/patchouli_book folder) to save space.
* Expanded Aspected Will Entry
Note that Sentient Tools will use the largest will type in the player's inventory.
Co-Authored-By: wrincewind <1457878+wrincewind@users.noreply.github.com>
Co-authored-by: wrincewind <1457878+wrincewind@users.noreply.github.com>
- Added new alchemy arrays:
- Two arrays, which changes the current daylight cycle to day and night.
- Fixed the JEI so that it no longer ouputs an error when loading Alchemy Array recipes without a crafting output.
Fixes a net.minecraft.util.ResourceLocationException that happens when the mod is loaded with Actually Additions due to the third party crop integration using an old block ID with deprecated casing.
This gives the Functional Array template a 32x32 output render rather than the previous 16x16.
The Alchemy Table's output texture was removed to make room. That template was tweaked to use the soulforge's output texture (which is/was identical)
The dark box was moved to that position (where there was now room) and enlarged.
The Functional Array template had almost all elements shifted for proper allignment. The new texture was used. The 'crafting method' item (Arcane Ash) was shifted under the arrow to make room. The scale of the rendered output texture was doubled from 0.03125 to 0.0625.
* Double Arrray Template with Example
Added a Double Array Template of type "2x_crafting_array"
An example using this template was added to the Utilities category. This should be removed before release.
* Double Functional Arrays
New template and example using double FUNCTIONAL arrays.
* Initial work on Patchouli Processors
Created Processors for Blood Altar and Hellfire Forge recipes so the upcoming Patchouli Guide will be able to show the current recipes rather than having them hard coded to the mod's defaults.
Still to do: Alchemy Array, Alchemy Table, ARC, and to clean up these first-time passes.
* Improved Altar and Hellfire Forge process
Used Switch statements where possible, and made the multiple inputs on the Hellfire Forge handled under a single entry. Changed key "LP" to lower case (also done on template file).
* Added item input Cycle. Created Alchemy Array, and Forge + Array Processors.
* Added Alchemy Table Processor
* Various Processor Changes.
Added ARCProcessor.
Overhauled AlchemyTableProcessor. It now only handles one recipe at a time. The Templates were changed to use nested templates.
ForgeAndArrayProcessor was removed and replaced with similar nested templates.
* Removed uneeded comments from ARCProcessor.
* Uploaded New Book's Content
This book was written by Wrincewind and myself on #wrincewind/Blood-Magic-Manual.
Co-Authored-By: wrincewind <1457878+wrincewind@users.noreply.github.com>
* Book updates.
Co-Authored-By: wrincewind <1457878+wrincewind@users.noreply.github.com>
Co-authored-by: wrincewind <1457878+wrincewind@users.noreply.github.com>
Added a lot of the regular upgrades, as well as added the recipe for the Binding Reagent. The rituals used for upgrading/removing upgrades for the Living Armour were also added, as well as the Ellipsoid ritual. Complete for BM 3.0.2
* Initial stab at API structuring
* Throwing all the things into the API*
Eliminated all internal imports
Also added some helpful comments
*except for the ritual stuff
* Reducing the API
Threw back the altar/incense/unnecessary items to main
Added in a functional API instance
* API cleanup
Removing all the unnecessities
Smushed and vaporized some redundant recipe stuffs
* Made API dummy instances
Refactor packaging
Fixed the ARC so that it could actually accept FluidStacks via capabilities. Also added several entries to the book regarding the Blood Altar and its runes.
Currently WIP.
Added the ability for the selected Ritual Range to be rendered when holding the RItual Tinkerer.
Also fixed the saving issue for the ritual's Ranges.
Finished 99% of the implementation work for the ARC and recipe system. Still need to populate the recipes (which will require textures for some items have have yet to be added).
Added the serializers, deserializers, builders, etc, for the Alchemical Reaction Chamber recipe, ARCRecipe. The block does not currently have the functionality to use it yet.
And only when I am currently writing this do I realize I forgot to add FluidStack functionality to the recipes. Welp.
Finished fully implementing the Ritual Diviner item. Changed the `cycleDirection` method to occur when the player does not sneak + right clicks, because the method for when a player left clicks with an item seems to have dissapeared.
Added the framework for Rituals, including the automatic registration of rituals using the annotation.
This includes:
- The Master Ritual Stone
- The regular Ritual Stones (all 7 types)
- The Ritual Registration system
- The activation crystal items.
- Reintroduction of the Demon Will Aura (changed saved Dimension ID from Integer to ResourceLocation)
Localization needs to be completed, as well as the implementation of all the rituals.
Initial publishing of the 1.16.3 branch of the mod. A lot of systems are missing (such as Rituals and Living Armour), but enough is present for a decent Alpha release.
* Tentative changelog for next version
* Updated changelog to feature all PRs since the last changelog PR.
Added PR #s for every change.
* Added the Sentient sword sigil buffs PR to the changelog
* Added NPE World load/unload PR
* Added changes from most recent PRs
* Removed duplicate sentient sword sigil effect PR.
Moved 2 commits to "Technical stuff", as they have been committed
* Updated changelog
* Updated changelog + flavor
* Remove Gaia Transformation note
* Add getMinimumOffset() and getMaximumOffset to AreaDescriptor
Add the ability to reset BlockRanges to the Ritual Tinkerer
* Added copy-constructors and functions to AreaDescriptor
Added the ability to reset BlockRanges to the Ritual Tinkerer
- Mode: Define Area, with BloodOrb in offhand & sneaking, right click on MRS
Changed "addBlockRange" and "addBlockRanges" to use .putIfAbsent
Added "setBlockRange" and "setBlockRanges" to IMasterRitualStone
- reference implementation in TileMasterRitualStone is identical to old "addBlockRange" and "addBlockRanges"
Fixed range setting for good.
Tested behavior with RitualWater.
* Minor cleanup
* Remove TODO
* Implemented BloodAltar modification with redstone lamp below altar
- strong and weak Redstone signal of power 15 (similar to BlockLever)
- activates when crafting finishes and a BlockRedstoneLight is directly below the altar
- deactivates when the next crafting cycle is about to begin
Use case:
- Redstone-controlled automatic ejection of crafted goods
* Removed Docs
* Meta to use 0 for off, 1 for on
* Syntactic sugar & storing value
* Some fixes to the German translation because of the translation keys got changed.
Added chapter title translation to newly documented rituals but not the chapters itself.
* Changed Tartaric Gem translation from "Weinstein" -> "Tartarisches Juwel"
* Changed SoundType and visible Material of wooden path blocks from stone/rock to wood. Breaking wooden path blocks is now effective & faster with an axe and slow with a pickaxe type tool.
* Moved hacky to getter.
* Cleanup unneeded override
* Using Enums instead of meta IDs
* Fixes for Ritual of the Eternal Soul
* Use the same code to determine altar location and only cache its offset as is done in Well of Suffering. This prevents keeping a TileEntity loaded after it has been removed from the world, and also means the ritual will function if there are multiple master ritual stones using it in the world.
* Use getCapability to obtain the BloodAltar which implements IFluidHandler, and fill that instead of trying to fill the tile entity.
* Change the structure to match that found in previous versions.
* Set owner HP to 2 (1 heart) if within ritual vincinity.
* Add Soul Fray to every player in the vincinity of the ritual.
Inheriting from CommandTreeBase, the required permission level was 4.
All other BloodMagic commands had a required permission level of 2.
This resulted in network command not able to be executed from a Command Block, which have a permission level of 2.
* Veil of Evil class creation
Signed-off-by: tobias <angryaeon@icloud.com>
* Transplanted legacy code.
* VeilOfEvil and WardOfSacrosanctity base finished.
Added isActive() to IMasterRitualStone
* Renaming, commented out arimethric error
* make it static to make it work
* removed sout & renamed rituals
* Finished up base Veil of Evil & Ward of Sacrosanctity.
Temporarily removed Gaia's Transformation.
* Performance improvements, small cleanup
* Moved the saved stacks to class scope to have an actual effect.
* Variable scope change (no effect)
* Saving known recipes to a Map in CompressionRegistry now, allowing quick lookup as long as the server has not been restarted for all but the first compression recipe of every itemstack type encountered.
Fixed compression process consuming items even though the compression would not finish.
* Possible fix to (many of the) abnormal death events concerning the sacrifical dagger.
=> #1444
Works with Grim Reaper's Sprint, not tested for anything else.
* Being special, players can survive massive blood loss up until 1 heart remains.
(Math.floor() caused players to die when they sacrificed with 3 health remaining)
* Veil of Evil class creation
Signed-off-by: tobias <angryaeon@icloud.com>
* Some getBlockRange() oversights.
* Delete RitualVeilOfEvil.java
should not be in this branch.
* Removed TODO.
Usable in both SSP (creative mode) and SMP (op).
Required permission level for commands is 2 (server's "op" permission level can be seen and changed in the server.properties).
* The onArrowFire event handler for LivingArmour now checks whether the arrows were fired from a sentient bow, and if they are it calls a getDuplicateArrows method in ItemSentientBow. Said method gets the will and potion types, without changing the bow's durability or consuming will or arrows.
* Extra line breaks removed
No more flickering. If you're in the dark, it will apply a max duration effect. If you're in the light and (as far as it can tell) the effect was applied by the armor, the effect will be removed.
* Fixed softFall / fallProtect upgrade for living armour. Previously it
relied on regular armor properties, which fall damage bypasses by being
marked is unblockable. Created a method subscribed to onPlayerFall which
applies the damage multiplier and the fallProtect stat-tracker. Removed
the armorProperties method of LivingAmourUpgradeFallProtect.java and
replaced it with getDamageMultiplier.
* Fixed formatting issues. [1+1 vs 1 + 1, 1.0F instead of 1.0f]
* Added a tag to arrows created through Living Armor's Trickshot Ability.
Added a subscribeevent method for the onProjectileImpact event that
removes the tag and sets the hurtresistanttime to zero.
* Formatted trickshot arrow tags to snake_case
* Potion tipped arrows now get the will effects applied alongside them
- Destructive releases a splash potion at the target location
- potion amplifiers are increased if the potion effect is already applied by the will type (poison, levitation, slowness)
* On hold for now, I'll do the commands first (I've had enough of arrows for this week).
* Revert Sentient Bow/Arrow to handle only potion arrows and fire regular modded arrows.
* Removed last remnants of modded arrow creation code.
* arrowHit() now supports modded Arrows (onUpdate() has the issue of TNT arrows exploding indefinitely atm)
* Crashes when firing a TNT arrow from the SimplyArrows mod with destructive will infused sentient bow
* Fixed potion arrows.
Modded arrows now work fully when hitting the ground (no splash visual effect).
* Added scaling for explosive potion arrows + cleanup
* Added explicit Tooltip for unbound items and restructured Bindable inheritance
- Added a "Item is not bound" tooltip to ItemBindableBase
- Streamlined inheritance. All Sigils now extend ItemBindableBase at some point.
- removed redundant hasTextCompound check
* Removed TextHelper usages in the affected files.
* Nobody likes tooltips.
* Forgot the translation entry.
* Reverted change
* Bounding boxes, first part:
- BlockDemonCrystal ATTACHED "UP" (facing upwards) (AABB_UP) finished all ages
- BlockDemonCrystal Age 0 finished for all ATTACHED values
TODO: Remaining ATTACHED/AGE values, making it look a bit more tidy.
- BlockIncenseAltar: changed bounding box to the closest full pixel
- BlockDemonPylon: Made bounding box a bit higher
TODO: remaining blocks that are visually higher or smaller than a full block, how should values be displayed: "x / 16F" or "0.X"
* Bounding boxes, second part:
- up to EAST, age 1
TODO: Remaining ATTACHED/AGE values.
TODO: remaining blocks that are visually higher or smaller than a full block, how should values be displayed: "x / 16F" or "0.X"
* Finished EAST, started WEST
* finished WEST
* Changed Bounding and Collision boxes for:
BlockAlchemyTable - lowered by 2 pixels (fits with base model without "accessoires" on the table)
BlockAltar - lowered by 4 pixels (fits with base model)
BlockDemonCrucible - seperated into ARMS, BODY and LEGS, each with their own collision boxes. Uses BODY as Bounding box
BlockDemonPylon - seperated into BODY and LEGS, uses BODY as Bounding box.
* Alchemy Table BB
These Rituals will require an Awakened Activation Crystal:
From 1.7.10:
- RitualMeteor (Mark of the falling Tower)
New:
- all Living Armor related Rituals (because it is the most end-game/powerful stuff right now).
I changed the Activation Crystal level for the Living Armor related rituals based on the (old) Bound Armor related rituals.
Remaining (non-ported) Rituals (from 1.7.10) that require an Awakened Activation Crystal:
NOTE: Some of those Rituals represent an outdated concept, don't assume that they will be ported.
- DrillOfTheDead (Sanguimancy - More powerful version of Well of Suffering)
- AW016FeatheredEarth (no fall damage?); "Ritual of the Feathered Earth"
- AW017Gaia (no idea); "Ritual of Gaia's Transformation"
- AW018Condor (localized creative flight); "Ritual of the Condor"
- AW025Conduit (transferring LP from network to Altar); "Cry of the Eternal Soul"
- AW031Convocation (how do I get Tier6?); "Convocation of the Damned"
- AW032Symmetry (Omega upgrade for Bound Armor); "Symmetry of the Omega"
- AW033Stalling (permanent Omega upgrade?); "Duet of the Fused Souls"
- AW036SphereIsland (Shard of Laputa alike); "Blood of the New Moon"
* Groundwork for Reader part 1
* More Ritual Reader information & more intuitive to use.
* Added `getCurrentRitual()` to `IMasterRitualStone`
RitualReader can now only be used on MRS with a set Ritual (this prevents a (caught) NPE).
* Refactored
* Added Enum
* Network part finished.
* Should be more reasonable now
* This should be good enough.
* Orb finished, needs strings
* Bind finished. Needs strings.
* Reformat & Help subcommand
* Cleanup, strings, no negative amounts
* Removed TODOs
* Added missing MaxTier check for Blood Orbs.
Added TODO: Test with custom Blood Orbs.
* Ritual commands finished.
Check for valid placement might be optimized. (TODO)
* Access modifiers, moved TODO
* Added TODOs for localized strings
* DrainUtils postponed until the necessary functionality is available with SoulTickets (telling SoulTicket network from soul ticket, a list of all registered soul tickets per network)
* Replaced all occurrences of TextHelper with TextComponentTranslation in the commands section
* - Moved Teleports.java to teleport package
- added teleposer command
- added missing strings
- cleanup
* Fixed spelling of "Successful(ly)"
* getUsage() now returns translation keys.
getInfo() is now an explicit String
ritual creation command now has proper tab completions
help is an additional argument with "-h" or "?"
cleanup
* teleposerSet final
cleanup.
* Removed ritual removal command
Signed-off-by: tobias <angryaeon@icloud.com>
* Check if the tile has a ritual first
Signed-off-by: tobias <angryaeon@icloud.com>
* A bit more optimisation
Signed-off-by: tobias <angryaeon@icloud.com>
* Cleanup part 1
Signed-off-by: tobias <angryaeon@icloud.com>
* Cleanup part 2
Signed-off-by: tobias <angryaeon@icloud.com>
* Part 3
Signed-off-by: tobias <angryaeon@icloud.com>
* Part 4
Signed-off-by: tobias <angryaeon@icloud.com>
* Updated language file to reflect cleanup & continuity changes.
Signed-off-by: tobias <angryaeon@icloud.com>
* Change to use an abstract class that gets called instead of calling super on overriden execute() for commands
Signed-off-by: tobias <angryaeon@icloud.com>
* Use player facing for ritual creation.
Signed-off-by: tobias <angryaeon@icloud.com>
Need to see the sky AND needs to be day, instead of or.
Before:
- Solar Powered works at night
- Solar Powered works at day underground
After:
- Solar Powered works only during daytime if the sky is in line of sight, as well
* Implemented Ritual of Grounding, a Ritual to change gravity behavior
[x] <- x are new potion effects
- (NoMod) moves entities towards the ground, prevents jumping [Grounded]
- (Raw) affects players
- (Corrosive) disables gravity [Suspension]
- (Destructive) increases fall damage [Heavy Heart]
- (Steadfast) affects bosses
- (Vengeful) stronger effects, (+Corrosive) applies levitation (+Destructive) stronger effect
[Grounded] prevents jumping and moves entities towards the ground, higher amplifiers cause a faster descend, interesting interaction with Sigil of Air
[Suspension] disables gravity (keeps movement)
[Heavy Heart] increases fall height and fall damage multiplier by 1 per level.
Fixed a possible division by 0 in RitualConder.
Saved event entity variable in PotionEventHandlers.
Made rune configuration more readable in RitualHarvest.
Signed-off-by: tobias <angryaeon@icloud.com>
* Fixed Ritual area
* Lists are cleared on world unload.
* Ported Ritual of the Feathered Earth to BM2.
* Changed maximum area
* Feathered Earth Hurt timer fall damage negation based on Set part1
* Part 2, switched to handling through potions, digging into area descriptor range bug
* Fixed Ritual area
* Update gradle.properties
* Ported RitualDismantler
Signed-off-by: tobias <angryaeon@icloud.com>
* Added Hellfire Forge recipe
Destructive Will Crystal, Destructive Will Crystal, Ritual Diviner (default), Weak Blood Shard
Requires a minimum of 500 will and consumes 100 will to craft
* Changed costs (lazy proposal):
- 50 LP per normal Ritual Stone
- discount cost of 200 LP for a whole ritual (smallest ritual has 4 ritual stones)
- 100 LP for an MRS
* Make Movement & Updraft arrays stronger by adding more of their ingredients!
Reduced base motion for Movement & Updraft arrays
* Reverted Bound Tool change
* Readability & using tailored methods
(not sure if there might be edge cases that it tries to display both the divination sigil and seer sigil information at the same time (as could be possible for the blood altar), however it doesn't seem to be the case as removing elements from blood_altar_adv removes them from the seer sigil view)
* Inital commit.
Water Sigil can now be used as infinite water tank item to fill machines with water (as long as you have LP) (Doesn't use LP yet).
* Should now work for all fluid sigils.
* Reverted Bound tool change
* Moved the code out of the spacey loft
IDE said it's ok... or something
* Mark of the Falling Tower meteor costs are now configurable
via an additonal field "cost" in the .json config files
if BM is updated from an old version, this would require meteor configuration to be regenerated or costs to be added manually; meteors would be for free (LP-wise) otherwise.
These are the new default costs:
IRON: 1,000,000 (same as before)
GOLD: 2,500,000
DIAMOND: 5,000,000 (requires Archmage Blood Orb)
* Meteor version update
* Reverted Bound tool change
* Probably proper preconfigured power proposition
* Added simple GuideBook documentation for all rituals (including coming ups from PRs) without Lore (added an info at the top of each entry that it requires lore (##REQ-LORE##)).
This should enable everyone that uses the GuideBook to use the rituals.
* Reverted Bound tool change
* Hymn of Syphoning (pump) tank render fix
Every Hymn of Syphoning (RitualPump) filling of the IFluidHandler now also triggers a block update for the block above the MRS, rerendering the tank contents to be up to date with the new fill status immediatly.
* Stonestate for replaced blocks
* Add Handlers for Ritual of Crushing
Fixes the crushing ritual's corrosive will augment.
* Simplify Handler Class
Use Primitives, ensure return value is non-null
* Make the Handler Handle Draining Per Use
* Revert "Make the Handler Handle Draining Per Use"
This reverts commit bacaa610febc5a609a7a891ceed41b0e0fb2f05d.
* Reinstated Compression sigil.
- does not compress wooden planks into crafting tables
- searches for reversible 3x3/2x2 recipes with a single material type
- probably has a lot of redundant stuff and looks silly
- uses try/catch (might want to find a different approach, some people scoff at this)
- should probably have spent the night sleeping, I'm taking exams tomorrow and will probably sleep the whole day through.
* Learned how to properly handle the "NullPointerException"-situation.
* Update BaseCompressionHandler.java
* Update CompressionRegistry.java
* Removed (almost) all code comments (only a one-liner remains that serves as pointer to a completly commented-out class (StorageBlockCraftingRecipeAssimilator)).
Made methods and variables for long function calls to be more efficient.
Fixed an oversight that resulted in a NullPointerException after removing redundant checks that were made to prevent exactly that.
Rearranged and reformatted code.
* corrected something that could be considered a typo but was an oversight
* This should be it. An Array should be more efficient but you can correct me if I'm wrong. In either case it does what it is supposed to do.
* Fixed. Needed a seperate inventory for the reversible check (or clear the previously used one, but then I'd had to repopulate again and that would just have been messy)
* Forgot one of my lines.
* Fix and cleanup.
Could definitely clean more but that should suffice for now.
* Modified sigils of lava, water, and void to interact with tanks correctly.
* Fixed up some formatting errors
* Fixed?
* Reimplemented necessary fluid code as extensible functions in ItemSigilFluidBase and made the fluid sigils draw functions from there rather than FluidUtil
* Fixed up formatting and used an actual IDE for once.
* Added a new DamageSource for the Well of Suffering
Added an event handler for death through Well of Suffering
Added a config option to enable (true) or disable (false) Well of Suffering Mob drops.
* Moved the DamageSource creation to RitualManager
Renamed the new DamageSource to "RITUAL_DAMAGE"
DamageSource "RITUAL_DAMAGE" is now used by RitualForsakenSoul and RitualWellOfSuffering
Added death message string for "RITUAL_DAMAGE" for en_US and de_DE
* Cleanup, removed the ability to damage entities in creative mode (creative mode should be considered as having infinite health, the rituals only damage mobs anyways).
* Update GenericHandler.java
* Teleportation now works similar to the Nether Portal:
if teleportation is attempted before the cooldown (10 ticks) is over, the cooldown gets reset.
This way teleportation loops are prevented.
You can now:
- Stand on a loop of permanently activated (well, constantly refreshing through a high-speed redstone clock) Teleposers, only getting teleposed once per stepping on it
- AFK in the Gate of the Fold without getting teleported constantly
- and other things, I guess.
* Bound Pickaxe AoE ability now destroys blocks properly.
closes#1001
* Streamlined bound tool harvest code.
Cleanup, duplicate code for bound tools moved as method to ItemBoundTool.sharedHarvest()
Tested aoe harvest with Stone, Dirt/Grass and Oak trees. Same result as before.
* silkTouch and fortuneLvl are now passed instead of recalculated on every block
* Rework. Desyncs for no apparent reason.
Apart from that, it works.
Desyncing started after I implemented the "diagTemplate" methods.
Can definitely be optimised, some advice for that would be good (lots of duplicated code for the "templates").
* Code cleanup.
Reverted stuff that I didn't want to commit.
* Some fine tuning for speed.
playerVel is not very accurate still but this should work out for most stuff.
Might need a lot of testing.
Might still not work properly on servers.
Diagonal templates are inconsistent, need variables switched.
Will deal with that later (maybe).
In any case, this works just fine unless you're speeding diagonally.
* The occasional stuff that should not be pushed.
Meaningless whitespaces or code reformatting.
* The occasional stuff that should not be pushed.
Meaningless whitespaces or code reformatting.
Take 2.
* MERGE ME I'M AWESOME
* removed unused import
* Refactoring, adding braces, renaming constants etc etc.
done.
* take 2
* take 2
* Removed one-liners
they grew organically because I initially created every "bridge" with a unique for loop before I removed duplicate code by passing variables/ranges
they were helpful until I found good names for the variables, now they've outlived their usefulness
* tiny bit of fine tuning
* various fluff / small fixes
more fine tuning, code reformatting, meaningful variables, for loop fix (variable mismatch), shrinking a redundant method to a call to an advanced method
- Checks if the arrow is the vanilla arrow, if it is then it continues with normal use. But, if arrow isn't the vanilla arrow it uses their custom arrow entity.
* Added Soul Fray check.
Sacrificial dagger now glows even more if you're fully prepared!
Added NBT field for maximum incense altar bonus from the last incense altar the player has encountered.
(There is a case in which the dagger glows even if the player is not at maximum incense bonus:
The player must have been at maximum incense bonus and then gone into the vincinity of a stronger incense altar.
The maximum incense bonus data field only updates once the maximum bonus has been reached for efficiency.)
* Multiplayer fixed.
* Fixed weirdness that occurred during a phase I don't remember.
* AWAITING ALLOWANCE FROM BRANDON3055 (PERMISSION TO USE CODE SNIPPET FOR INTERDIMENSIONAL/CROSSDIMENSIONAL TELEPORT) COPYRIGHT ALL RIGHTS RESERVED FOR BRANDON3055 (CODE SNIPPET)
AWAITING ALLOWANCE FROM TEHNUT, WAYOFTIME TO USE FOREIGN CODE (AS IT NEEDS ALLOWANCE & POSSIBLE CREDITS)
DO NOT USE.
* Forgot something.
Requires permission from Brandon3055 (copyright on code snippet)
Requires permission from WayofTime, TehNut (because it uses foreign code that might need attribution)
Do not use.
* License permits usage.
Sorry for bothering everyone involved.
Don't merge. Teleposer broken. Teleposition sigil works though.
* IT WORKS!!!!
- re-enabled cross dimensional telepositioning
- works even if target teleposer is unloaded at the time of activation (force loads the chunk so the teleposer can be found, releases ticket when player arrives)
- entity teleposition works properly
- I'm tired and slightly insane
- nobody asked for this.
closes#973 (rewrite might still be needed though)
might be able to close the following issue:
- #1198 (improved cross dimensional teleportation code thanks to brandon3055)
* Zombies stop holding onto tickets now.
* Oversight.
* Fixed downgrade level inconsistency
* Squashed commit of the following:
commit 7263e6fbc2
Author: PiscesdanAT <40119554+PiscesdanAT@users.noreply.github.com>
Date: Sat Jun 9 18:01:30 2018 +0200
Update de_DE.lang (#1337)
Someone mixed up dusk and dawn
Updated de_DE.lang
Added some missing stuff in en_US.lang
* Update en_US.lang
Fixed the typo I inserted with previous commit.
* bloodmagic/.../de_DE.lang
* more fitting translations
bloodmagicguide/.../de_DE.lang
* 1/3 finished
.. en_US.lang
Whitespaces
Signed-off-by: Iorce <tgremeyer@icloud.com>
* bloodmagic/.../de_DE.lang:
- improved translations - again
bloodmagicguide/.../en_US:
- mudpack -> modpack (someone doesn't like them, it seems)
- wares off -> wears off (Typo)
bloodmagicguide/.../de_DE:
- another batch of translations
Signed-off-by: Iorce <tgremeyer@icloud.com>
* bloodmagic/.../de_DE.lang:
- improved translations - again
bloodmagicguide/.../en_US:
- mudpack -> modpack (someone doesn't like them, it seems)
- wares off -> wears off (Typo)
bloodmagicguide/.../de_DE:
- another batch of translations
- finished the "Ritual Master"
Signed-off-by: Iorce <tgremeyer@icloud.com>
* bloodmagic/.../de_DE.lang:
- improved translations - a bit more literal for some while keeping variety (Suppression and Displacement can have the same translation)
bloodmagicguide/.../de_DE:
- translated architect entry texts / titles
* bloodmagicguide/.../en_US.lang:
consistency (was Sacrificial Knife, every occurrence of that item is now called "Sacrifical Dagger"
bloodmagicguide/.../de_DE.lang:
some more....
* bloodmagicguide/.../en_US.lang:
corrected required Blood Altar tier from "greater than" to "greater than or equal to"
bloodmagicguide/.../de_DE.lang:
some more....
* bloodmagicguide/.../en_US.lang:
added clarification for Incense Altar block range
bloodmagicguide/.../de_DE.lang:
changed "Wahrheitssiegel" to "Siegel der Weissagung"
changed "Weihrauchaltar" to "Räucheraltar"
some more....
* bloodmagicguide/.../en_US.lang:
clarification for Sigil of the Fast Miner entry ("and" -> "at")
bloodmagicguide/.../de_DE.lang:
some more....
* bloodmagicguide/.../de_DE.lang:
some more....
* Changed "Blutorb" to "Blutkugel" in translation. Might have missed some cases of severe german grammar.
bloodmagicguide/.../en_US.lang:
Removed a "my", if someone misses it, it myght be readded.
bloodmagicguide/.../de_DE.lang:
some more....
* long overdue: closes#1320 (the disorient thing that nobody cares about)
bloodmagicguide/.../en_US.lang:
people are now less warry and more wary about sentient mimics.
bloodmagicguide/.../de_DE.lang:
some more.... (just the mimic stuff, since I commit after every typo I fix :o )
* bloodmagicguide/.../de_DE.lang:
some more....
Completed "The Architect"
* bloodmagic/.../de_DE.lang:
Leere Tafel -> Leere Schiefertafel (material clarification, remaining names unchanged to keep the names short)
Rudimentäre Falle -> [...] Schlinge (item icon looks like the latter, word has multiple meanings)
Ansammlung Kristalle [...] -> Kirstallansammlung (easier on the tongue, better text flow)
bloodmagicguide/.../en_US.lang:
fixed mistake in textflow
bloodmagicguide/.../de_DE.lang:
some more....
* bloodmagic/.../de_DE.lang:
clarification
Haupt- -> Meister
bloodmagicguide/.../de_DE.lang:
some more....
bloodmagicguide/.../en_US.lang:
Updated entry to reflect the new mechanic for creating pure will types
* bloodmagic/.../de_DE.lang:
Ansammlung -> Gruppe
bloodmagicguide/.../de_DE.lang:
finished!
bloodmagicguide/.../en_US.lang:
fixed ritual name
* Finalized de_DE.lang
Ätzend -> Korrosiv
Contains: -> Enthält:
* Finalized de_DE.lang
ätzend -> korrosiv
* Update de_DE.lang
* Update de_DE.lang
Drained -> Verbraucht
Item -> Gegenstand
* Update de_DE.lang
Knoten-Router -> Netzknoten-Router
* Update de_DE.lang
Changed the base names for demonic Will to "Willpower"
-> clarification for the user that the residue is actualy willpower and the quality of said will is a measure of the potential
-> not changing other occurrences or notions in the book as no sane person would repeat "willpower" at every occasion.
* Applied quick fixes to de_DE.lang
* Merge me!
reverted a whitespace change in gradle.properties (no idea where that came from) and moved the disorient thingy to another PR)
* Take No.2
at fixing whitespaces.
* TAKE NO.3
(HOPEFULLY FINAL TAKE)
* Reimplemented a lot of mimic logic and did a first run of changing how mimics store their states.
* Finished removing all metadata calls for blocks replaced by mimics.
* Update EntityMimic.java
* Update ItemBlockMimic.java
* Update TileMimic.java
* How did I even replace a semicolon with a slash.
* Changed all tabs to 4 spaces. Changed Serializer to StateUtil
* Fixed spacing again, hopefully for the last time
* Players in creative mode can now add crystals to crystal blocks by right clicking them with an item demon crystal.
Crystal block texture now updates on the next tick. The render update is only called when a new crystal has been added (by natural or unnatural means).
Adding a crystal imitates a positive result of checkAndGrowCrystal()
closes#1151
* fixed conditional to allow harvesting crystals if not in creative and holding crystal
* Should close#1121
Not tested (yet) (because I haven't figured out how to launch the server with a fake player entity... yet).
* will close#1121
Tested.
Specters only attack players if they attack the owner or the specter.
Spectres now autoattack every instance of EntityMob in range.
//TODO: (fluff) make Bow Specter change angle based on target position (it currently always looks like it shoots into the ground)
* Fix the Blood Tank BB
* Add modid to command localizations to prevent conflicts
* Fixed the items not being drawn on the right Y-level for the Sigil of Holding HUD
Corrected localizations of other lang files
* SoulTicket internal implementation
* do what TehNut says
* implement hashCode()
* Fix toggleable sigils draining on r-click when it shouldn't
Also moved the ItemSigil and ItemSigilToggleable to the sigil package (why wasn't it there???)
* Add modid to command localizations to prevent conflicts
* Corrected localizations of other lang files
* Fixed the items not being drawn on the right Y-level for the Sigil of Holding HUD
This is solving the issue I raised in https://github.com/WayofTime/BloodMagic/issues/1368
Added a single check to line 123 of src/main/java/WayofTime/bloodmagic/alchemyArray/AlchemyArrayEffectMobSacrifice.java.
The check makes sure the effective health of the currently targeted entity is above 0. So bosses and players are no longer set to -1 health when the array finishes crafting.
The old access to IBloodMagicRecipeRegistrar still exists, but should not
be used so mods like CraftTweaker can do their thing.
This commit also introduces @BloodMagicPlugin.Inject which will inject the
active API instance into an annotated field with the API interface as it's
type. These fields are populated during pre init.
Rewrites the crafting recipe portion of alchemy arrays. Currently the rewritten
portion is wrapped in the old stuff. Ideally the remaining old stuff will
be rewritten as well.
Mods who wish to do custom array effects still need to depend on internal
classes and I think this is fine.
The new one is now built for the api jar and the old one is now internal.
It will slowly be moved around to sane places within the internal code. Most
of the features provided in the old "api" are addon specific features which
will generally rely on the main jar anyways. The new API will be specific
to compatibility features, such as blacklists, recipes, and value modification.
I got so sick and tired of people bothering me about this, that you have
to deal with whatever comes of this. Rather than waiting patiently, all I
got was constant annoyances. So here you go. Have fun. Go away.
All old configs must be deleted for this to work properly. Since the rest
of the update is filled with world breaking changes, this should be fine.
Also some mapping updates
(cherry picked from commit d587a8c)
Create a class that implements IBloodMagicPlugin and annotate it with
`@BloodMagicPlugin`. The `register` method will be called during init.
Currently implemented systems:
- Blacklisting
- Teleposer
- Teleposer (entity)
- Transposition
- Well of Suffering
- Green Grove
- Setting sacrificial values
- Adding altar components
* Simp. Chinese translation for SANGVINE SCIENTIEM, round I
* Simp. Chinese translation for SANGVINE SCIENTIEM, round I
Also contains update for main language file
* Amendment I
* Amendment II
* use "/cut" to trick String.split(), so that we could manually split page
* Minor improvements on translation
* Amendment III
* Amendment IV
* Amendment V
* Amendment VI
(cherry picked from commit ad46745)
Includes a slight nerf: Instead of placing the entire 25x25 at the same time, it now places 1 block at a time.
This was brought on by 30 minutes of debugging an intended feature that was mistaken for a bug in #1103
TODO: Rewrite most of the rituals to get rid of any remaining legacy code
* Replaced the Entity registration code. Before, the code was manually adding entities to the GameRegistry.
Doing this prevents the engine from fully registering the added entities in all the proper places. The result was that the Client was never informed of when these entities were created or what they were doing, as all of that behavior is managed by the EntityRegistry.
Changing to the proper EntityRegistry calls fixes issue #1065.
* Changed ResourceLocation calls to the one with two arguments. Didn't know that was a thing before. :D
Also added more consistent whitespace.
You cannot bake GL stuff. This is bad. Also it got broken at one point.
I'll re-add this once I remove the need for a TESR.
(cherry picked from commit 13228f6)
Right click a water source (any block that uses Material.WATER, same as vanilla potions) to refill it. This removes all potion effects. The model will display without the fluid inside as a visual indicator.
(cherry picked from commit 4c614df)
Added a search bar to the Upgrade Tomes Creative Tab
Updated some Altar fluid code (remove deprecated stuff)
Moved Rendering classes into appropriate package
Fix the localization errors on the Demon Crystals
A few cleanups here and there
* Create bg_BG.lang
done until L23
--------------------
* Update bg_BG.lang
DONE #L43 - #L48 ; #L66 - #L92
~~~~~~~~~~~~~~~~~~~~~~~~
TODO #L25 - #L41 ; #l50- #L64
* More Translation
Still not doe *Will finish it tomorrow* (Ping me at discord if I forget :P)
* here you go
- Increased the effectiveness of animals for the Gathering of the Forsaken Souls ritual by a factor of 4.
- Added the framework for the Purification Altar.
- Changed the Ritual of the Feathered Knife so it respects the Tough Palms Living Armour Upgrade.
- Fixed the Ritual of the Feathered Knife so that its health threshold is percent-based.
When applying the bonemeal effect, apply it from the player using the sigil,
rather than from a fake player. (Looking at the commit history, this seems
to be this way solely because of overzealous copying and pasting from vanilla
ItemDye.) Also, play the effect for the use of bonemeal, rather than for
breaking a block. Finally, remove a parameter that's no longer necessary.
Currently, the Sigil of the Green Grove uses ForgeEventFactory.onApplyBonemeal
for its effects, which gives the right answer for all crops, but for modded
crops, it has the side effect of removing one item from the current stack
(since it's intended for actual bonemeal). That's not desired in this case,
since the sigil isn't supposed to get used up, so this change directly makes
and fires the event itself. This problem was originally reported in
josephcsible/ExpandedBonemeal#1.
- Added the Charging rune, which accumulates charge by using the LP from the Blood Altar (1 charge = 1 LP always). If enough charge is stored when crafting, the crafting occurs instantly.
Now requires new rooms to be registered in `resources/assets/bloodmagic/schematics/Schematics.json`. This *can* be overwritten by a resource pack, so adding new rooms is still possible. Also allows sub-folders, so sorting rooms is now possible (sort by themes maybe?)
The guide's index after loading a world may not be the same as the guide's index at preInit.
In the 1.10 version of GuideAPI, there is a `setMappingFunction(Function<Book, Void>)` method that will clean this up.
@WayofTime @TehNut lots of code changes are needed, e.g. the actual
potion liquid part is an UNDERLAY and then comes the flask and then the
ribbon as an OVERLAY. I put the bar stuff in a HUD folder for structure
reasons and added the demon bar. Each bar is a pixel thick for each
demon will
About the changes in ClientHandler
* onModelBake() - Suppresses model/variant errors from our domain. At any given time we have X amount of models missing. No reason to inform the player as it has nothing to do with them.
* onTextureStitch() - As far as I can tell, we *need* to pass bad textures in all of the Crystal#.mtl files in order for the correct texture to be applied later on. These bad textures fall under the Minecraft domain. This strips those from the list and then removes the MC domain if there are no other errors there.
* Update zh_CN.lang
Updated and fixed.
There is a little question about the sanguineBook. Is "Inspectoris" meaning "viewer", and "Scandalum" meaning "stumbling block" which is stumbling to get the next tier?
* Update zh_CN.lang
Meaning "Book of Viewer". Most of the time, It will be strange that translate word by word.
* Update zh_CN.lang
* Added holograms to TileMasterRitualStone and TileAltar
-Right click with either Ritual Diviner or (name pending) Sanguine Sanctum to show up the hologram
-Ritual hologram disappears once ritual is activated
-Altar hologram disappears once altar reaches specified tier
-Fixed the Sigil of Holding configs
-Someone still needs to add in a recipe for the Sigil of Holding
-Disabled the Sanguine Sanctum right-click effect for now
-Kept the hologram from holding the Ritual Diviner in hand
-Someone needs to fix the lighting for the ritual hologram!
* Getters and formatting changes
* Re-implement commented out feature
* Moved the rendering completely to client-side
Have the Sanguine Book work again
Make it actually work
Tidy things up
* Cycles through tier when right clicked
* Re put onItemUse
* Add IAltarReader to ItemSigilHolding
Need to allow moving and such by specifying a clickable area
Will probably have the element override getClickableArea() and return a default. We'll then set that to new values after being moved.
Instead of creating a new file for each player with their UUID as the name, we create a single file and store it all in a List. That List gets converted to a UUID -> SoulNetwork map when read from the file.
MigrateNetworkDataHandler is used to migrate players from the old system to the new one. It reads both data files and sets the LP of the new network to the LP of the old network (if the old network is larger). Once conversion is done, we delete the old file so that it doesn't happen again and overwrite player progress.
This is an API breaking change due to an import change.
* Backstage Sigil of Holding
All Sigil of Holding features work, just need to add the aesthetics -> TehNut
Somebody might want to look at adding LP costs to the Sigil?
Also recipes need to be added
Added a keybinding system for future usage
Standardized some NBT tags
Compact classes
Fix lang stuff?
* Fancify Sigil of Holding GUI
Displays the selected sigil in the GUI now
Woops
* Quick fix
* Unused import
* Final commit I promise
Update things
Fix some more things
Update once more
Refactoring and removing unnecessary null checks
Woops
Fix
Nother fix
Moar fix
Fix imports
Update ItemBindable.java
BM will now only load with Forge 1840+ as that is the version that PIE was re-implemented. Set dependency to avoid crashes. Also updated JEI version so it wouldn't crash with new Forge.
OreDict support for altar and alchemy array recipes!
Changed the alchemy array JEI image
Recipe modularizations
Fix
Like this?
Tehnut patch
Change to List<ItemStack>
Still need to figure out why delombok is priting an error for every non-BM import. It was apparently fixed in `gradle-lombok` 1.5 but it seems to have returned.
* Hid Dimensional Portal from JEI and Creative
* Fixed stacktrace spam when invalid portal was stepped into
* Fixed tank rendering no model at all
* Fixed NBT saving for Dimensional Portal
This username can be defined in a `gradle.properties` file. For the purposes of this project, use your global property file in `USERHOME\.gradle\gradle.properties`. If no username is set there, it will default to `BloodMagicDev`.
This should help with dev so you don't start with a brand new username each time you load up the game (without manually setting it otherwise)
Added a lot of things:
- Blood Tank
- Teleposition Sigil
- Transposition Sigil
- Cobblestone/Netherrack/Obisidian generation Ritual
- Tree Cutter Ritual
- Pump Ritual
- Altar Builder Ritual
- Block Placing Ritual
- Portal Ritual
- Teleportation System and API Components
- Cross pattern Area Descriptor
- Two reagents and their textures for the sigils’ crafting
Fixed:
- Teleposer not teleporting entities correctly
And probably other things I forgot!
Default behavior is to check the amount of LP currently inside the Altar. To modify the behavior to check the amount of LP in a network (As it did in 1.7.10), place a Blood Stone Brick (either kind) directly underneath the altar.
No more manual handling of binding items to players. Retains all previous functionality.
I have tested on both the Client and Server and it seems to work just fine. If any issues arise from this, do not hesitate to yell at me.
The deprecated methods will be removed after beta.
Combine a Living Helmet with an undamaged Goggles of Revealing in an anvil (+1 level) to combine the two. Currently no way to split afterwards.
Thoughts:
- Tweak level requirement to be higher? 1 was chosen in order to make it work.
- Require full set of armor to be worn? This would keep it in line with all the other upgrades.
- I only used the full Thaumcraft jar because the uploaded API is a zip which does not work as a Gradle library.
tterrag is a meany face and yelled at me for using class.getSimpleName(). So here's an API-friendly re-work of the registration system. This allows all our Items/Blocks to be obtained via the API. Just add a new enum.
I think it's safe to say that if the player is null here, the places we use this check should probably not continue. Will see how it goes.
Also added the check to imperfect rituals and removed a redundant check from the dagger.
The blocks in this list cannot be changed via config file. The two lists are kept (instead just one) so that the config one can be refreshed at any point with ConfigChangedEvent.
When attempting to place an unbound Lava Crystal into a furnace, it would crash when looking for the bound player because... well... it was unbound... :D
Created reagents to be used in array crafting and added the array recipes for the water, lava, void, green grove, fast miner, elemental affinity, sight and air sigils.
Fixed the textures for the Sight sigil and Fast Miner sigil.
- Mod compiles now.
- Drop the deobfJar compilation because we now have deobfCompile for deps.
- Temporarily disable creation of sourceJar due to issue with Gradle 2.9 and FG2.1.
- Add a -ss suffix to version to indicate SnapShots
Note: If this bug occurs in a modpack, please report this to the modpack author. Otherwise, delete this line and add your description here. If this is a feature request, this template does not apply to you. Just delete everything.
Have you ever picked up a magic mod for Minecraft, and thought that it was too tame? Was there not enough danger involved when creating your next high-tech gadget? Bored with all of those peaceful animals just staring at you without a care in the world? Well then, I am glad you came here!
Blood Magic is an arcane art that is practiced by mages who attempt to gather a vast amount of power through utilizing a forbidden material: blood. Even though it does grant a huge amount of power, every single action that is performed with this volatile magic can prove deadly. You have been warned.
* Versions of any mods potentially related to the issue
* Any relevant screenshots are greatly appreciated.
* For crashes:
* Steps to reproduce
* ForgeModLoader-client-0.log (the FML log) from the root folder of the client
##Development Setup
## Development Setup
1. Fork this project to your own Github repository and clone it to your desktop.
2. Navigate to the directory you cloned to. Open a command window there and run `gradlew setupDevWorkspace` then (if you use Eclipse) `gradlew eclipse` or (if you use IDEA) `gradlew idea`.
3. This process will setup [Forge](http://www.minecraftforge.net/forum/), your workspace, and link [MineTweaker](http://minetweaker3.powerofbytes.com/) as a dependency.
4. Open the project in your IDE of choice.
5. Set `../src/api/java` as a source directory.
2. Navigate to the directory you cloned to. Follow the [Forge Documentation](http://mcforge.readthedocs.io/en/latest/gettingstarted/#from-zero-to-modding) (start at step 4) to setup your workspace. If you use IDEA, follow [this set](http://mcforge.readthedocs.io/en/latest/gettingstarted/#terminal-free-intellij-idea-configuration) of steps.
#### IntelliJ IDEA extra steps
1. Navigate to `File > Settings > Plugins > Browse repositories...`. Search for Lombok and install the plugin.
[Setup video](https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be) by LexManos. For more information, refer to the [Forge Forums](http://www.minecraftforge.net/forum/index.php/topic,14048.0.html).
##Custom Builds
###Custom builds are unsupported. If you have an issue using a build not by me (WayofTime), it is not guaranteed that you will get support.
Blood Magic: AlchemicalWizardry by WayofTime is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
##Installation Instructions
##Installation Instructions
This mod requires "Minecraft Forge" in order to operate. It is incredibly easy to download and set up, so might as well get to it!
@ -65,14 +72,12 @@ This mod requires "Minecraft Forge" in order to operate. It is incredibly easy t
3. Place the mod in the **mods** folder of your .minecraft. If you are unsure of where that is located, it is here: `../Users/you/AppData/roaming/.minecraft`.
##FAQ
##FAQ
**Q**: My weak blood orb doesn't show my current LP! Fix it please.
**A**: The mechanic for viewing the player's essence has changed due to some issues with mechanics. You now need a Divination Sigil to view a player's essence. It does other things, too, so it is worth it!
**Q**: Why am I dying so much?
**A**: It might be a good idea to make sure that you have enough essence to do a task. If you don't have enough essence for, say, an imperfect ritual, it will take it out of your health. If your health reaches 0... Well, you don't have to be a genius to see what would happen.
@ -110,8 +115,6 @@ This mod requires "Minecraft Forge" in order to operate. It is incredibly easy t
**A**: This is a config option. The person you saw with an orb had a config that changed the knife to an orb. The orb and knife function exactly the same way, but you can change it in the configs by looking for the "Idontlikefun" option.
**Q**: When I respawn, I appear to only come back with 3 hearts. What's happening?
**A**: This is due to another config option in the "WhimpySettings," which is due to my attempt to combat Zerg Rushing. You can disable this if you really want to, but it shouldn't hurt unduly.
**A**: This is due to another config option in the "WhimpySettings," which is due to my attempt to combat Zerg Rushing. You can disable this if you really want to, but it shouldn't hurt unduly.
"bloodmagic.keybind.open_holding":"Open Sigil of Holding",
"chat.bloodmagic.damageSource":"%s's soul became too weak",
"chat.bloodmagic.living_upgrade_level_increase":"%s has leveled up to %d",
"chat.bloodmagic.ritual.activate":"A rush of energy flows through the ritual!",
"chat.bloodmagic.ritual.notValid":"You feel that these runes are not configured correctly...",
"chat.bloodmagic.ritual.prevent":"The ritual is actively resisting you!",
"chat.bloodmagic.ritual.weak":"You feel a push, but are too weak to perform this ritual.",
"gui.bloodmagic.empty":"Empty",
"guide.bloodmagic.landing_text":"\"It is my dear hope that by holding this tome in your hands, I may impart the knowledge of the lost art that is Blood Magic\"$(br)$(o)- Magus Arcana$()",
"ritual.bloodmagic.animalGrowthRitual.default.info":"(Raw) Increases the speed of the ritual based on the total Will in the Aura.",
"ritual.bloodmagic.animalGrowthRitual.destructive.info":"(Destructive) Causes adults that have not bred lately to run at mobs and explode.",
"ritual.bloodmagic.animalGrowthRitual.growing.info":"(Growth) Animals within this range will grow much faster.",
"ritual.bloodmagic.animalGrowthRitual.info":"Increases the maturity rate of baby animals within its range.",
"ritual.bloodmagic.animalGrowthRitual.steadfast.info":"(Steadfast) Automatically breeds adults within its area using items in the connected chest.",
"ritual.bloodmagic.animalGrowthRitual.vengeful.info":"(Vengeful) Decreases the time it takes for adults to breed again.",
"ritual.bloodmagic.armourEvolveRitual":"Ritual of Living Evolution",
"ritual.bloodmagic.armourEvolveRitual.info":"Increases the amount of maximum Upgrade Points on your Living Armor to 300.",
"ritual.bloodmagic.blockRange.firstBlock":"First block for new range stored.",
"ritual.bloodmagic.blockRange.inactive":"The ritual stone is currently inactive, and cannot have its range modified.",
"ritual.bloodmagic.blockRange.noRange":"The range was not properly chosen.",
"ritual.bloodmagic.blockRange.success":"New range successfully set!",
"ritual.bloodmagic.blockRange.tooBig":"The block range given is too big! Needs to be at most %s blocks.",
"ritual.bloodmagic.blockRange.tooFar":"The block range given is too far! Needs to be within a vertical range of %s blocks and a horizontal range of %s blocks.",
"ritual.bloodmagic.condorRitual.info":"Provides flight in an area around the ritual.",
"ritual.bloodmagic.containmentRitual":"Ritual of Containment",
"ritual.bloodmagic.containmentRitual.containmentRange.info":"(Containment) The area of the ritual where mobs will be pulled. All mobs are pulled towards the master ritual stone, regardless of where this area is.",
"ritual.bloodmagic.containmentRitual.info":"Pulls all mobs within its area towards the master ritual stone.",
"ritual.bloodmagic.crushingRitual":"Ritual of the Crusher",
"ritual.bloodmagic.crushingRitual.chest.info":"(Chest) The location of the inventory that the ritual will place the broken blocks into.",
"ritual.bloodmagic.crushingRitual.corrosive.info":"(Corrosive) All blocks are broken to be processed with a form of cutting fluid. Overrides Silk Touch where applicable.",
"ritual.bloodmagic.crushingRitual.crushingRange.info":"(Crushing) The blocks that the ritual will break.",
"ritual.bloodmagic.crushingRitual.default.info":"(Raw) Increases the speed of the ritual based on total Will.",
"ritual.bloodmagic.crushingRitual.destructive.info":"(Destructive) Blocks are broken down forcefully: all blocks broken are affected by Fortune III.",
"ritual.bloodmagic.crushingRitual.info":"Breaks blocks within its crushing range and places the items into the linked chest.",
"ritual.bloodmagic.crushingRitual.steadfast.info":"(Steadfast) Causes all blocks that are broken to be picked up with silk touch. Overrides Fortune where applicable.",
"ritual.bloodmagic.crushingRitual.vengeful.info":"(Vengeful) Compresses the inventory on successful operation. Currently only does one compression per operation.",
"ritual.bloodmagic.crystalHarvestRitual":"Crack of the Fractured Crystal",
"ritual.bloodmagic.crystalHarvestRitual.crystal.info":"(Crystal) All Demon Will crystal clusters have a single crystal broken off, spawning the crystal into the world. If there is only one crystal on the cluster, it will not break it.",
"ritual.bloodmagic.crystalHarvestRitual.info":"Breaks Demon Will crystal clusters within its range, dropping the results on top of the crystals.",
"ritual.bloodmagic.crystalSplitRitual":"Resonance of the Faceted Crystal",
"ritual.bloodmagic.crystalSplitRitual.info":"Splits apart a well-grown Raw crystal cluster into seperal aspected crystal clusters.",
"ritual.bloodmagic.ellipseRitual":"Focus of the Ellipsoid",
"ritual.bloodmagic.ellipseRitual.chest.info":"(Chest) The location of the inventory that the ritual will grab blocks from to place in the world.",
"ritual.bloodmagic.ellipseRitual.info":"Creates a hollow spheroid around the ritual using the blocks in the attached chest.",
"ritual.bloodmagic.ellipseRitual.spheroidRange.info":"(Placement) The range that the ritual will place its blocks in. Spheroid is centered on the ritual - if one side is shorter than the side opposite the spheroid is truncated.",
"ritual.bloodmagic.eternalSoulRitual.info":"Capable of transferring Life Essence from a Network back into an Altar at a cost.",
"ritual.bloodmagic.expulsionRitual":"Aura of Expulsion",
"ritual.bloodmagic.expulsionRitual.expulsionRange.info":"(Expulsion) The area from which players that are not owner or have an orb in the chest will be teleported away from.",
"ritual.bloodmagic.expulsionRitual.info":"Expels players from its range that are neither the owner nor have a bound blood orb in the chest on top of the master ritual stone.",
"ritual.bloodmagic.featheredKnifeRitual":"Ritual of the Feathered Knife",
"ritual.bloodmagic.featheredKnifeRitual.altar.info":"(Altar) This range defines the area that the ritual searches for the blood altar. Changing this will either expand or limit the range to a certain region.",
"ritual.bloodmagic.featheredKnifeRitual.corrosive.info":"(Corrosive) Uses the player's Incense to increase the yield.",
"ritual.bloodmagic.featheredKnifeRitual.damage.info":"(Damage) This defines where the ritual will damage a player. Players inside of this range will receive damage over time up to the specified limit.",
"ritual.bloodmagic.featheredKnifeRitual.default.info":"(Raw) Increases the speed of the ritual based on the total Will in the Aura.",
"ritual.bloodmagic.featheredKnifeRitual.destructive.info":"(Destructive) Increases the yield of the ritual based on total Will.",
"ritual.bloodmagic.featheredKnifeRitual.info":"Drains health from players in its area and puts the LP into a nearby blood altar.",
"ritual.bloodmagic.featheredKnifeRitual.steadfast.info":"(Steadfast) Sets the minimum health for sacrificing from 30%% to 70%%.",
"ritual.bloodmagic.featheredKnifeRitual.vengeful.info":"(Vengeful) Sets the minimum health for sacrificing to 10%%. Overridden by Steadfast for the Owner if active.",
"ritual.bloodmagic.fellingRitual.chest.info":"(Chest) The location of the inventory that the ritual will place the results into.",
"ritual.bloodmagic.fellingRitual.fellingRange.info":"(Cutting) The range that the ritual will search out logs and leaves in order to cut down.",
"ritual.bloodmagic.fellingRitual.info":"A standard tree-cutting machine, this ritual will cut down all trees and leaves within its area and collect the drops.",
"ritual.bloodmagic.forsakenSoulRitual":"Gathering of the Forsaken Souls",
"ritual.bloodmagic.forsakenSoulRitual.crystal.info":"(Crystal) Demon Crystals in this range receive an increase in growth speed when a mob is killed by the ritual.",
"ritual.bloodmagic.forsakenSoulRitual.damage.info":"(Damage) Mobs within this range will be slowly damaged, and when killed will grow the crystals.",
"ritual.bloodmagic.forsakenSoulRitual.info":"Damages mobs within its damage range and when the mob dies a demon crystal within its crystal range will be grown.",
"ritual.bloodmagic.fullStomachRitual":"Ritual of the Satiated Stomach",
"ritual.bloodmagic.fullStomachRitual.chest.info":"(Chest) The location of the inventory that the ritual will grab food from to feed players in range.",
"ritual.bloodmagic.fullStomachRitual.fillRange.info":"(Feeding) The range that the ritual will look at to feed players.",
"ritual.bloodmagic.fullStomachRitual.info":"Takes food from the linked chest and fills the player's saturation with it.",
"ritual.bloodmagic.greenGroveRitual":"Ritual of the Green Grove",
"ritual.bloodmagic.greenGroveRitual.corrosive.info":"(Corrosive) Entities within range are attacked by nearby plants, leeching away their life.",
"ritual.bloodmagic.greenGroveRitual.default.info":"(Raw) Increases the speed of all of the ritual operations depending on the total Will in the Aura.",
"ritual.bloodmagic.greenGroveRitual.destructive.info":"(Destructive) Growing range is increased based on total Will.",
"ritual.bloodmagic.greenGroveRitual.growing.info":"(Growth) The area that the ritual will grow plants in.",
"ritual.bloodmagic.greenGroveRitual.hydrate.info":"(Steadfast) Blocks within this range are rehydrated into farmland, and seeds within the area are planted nearby.",
"ritual.bloodmagic.greenGroveRitual.info":"Grows crops within its area.",
"ritual.bloodmagic.greenGroveRitual.leech.info":"(Corrosive) Entities in this area have their life drained to grow nearby crops.",
"ritual.bloodmagic.greenGroveRitual.steadfast.info":"(Steadfast) Seeds are replanted and blocks are hydrated within the Hydration range.",
"ritual.bloodmagic.greenGroveRitual.vengeful.info":"(Vengeful) Increases the rate that a growth tick is successful.",
"ritual.bloodmagic.groundingRitual.destructive.info":"(Destructive) Applies Heavy Heart (increases fall damage) (+Vengeful) Stronger effect.",
"ritual.bloodmagic.groundingRitual.info":"Forces entities on the ground and prevents jumping.",
"ritual.bloodmagic.groundingRitual.steadfast.info":"(Steadfast) Affects Bosses. Doesn't affect bosses that are immune against motion change or immune against potions (except Wither and Ender Dragon).",
"ritual.bloodmagic.groundingRitual.vengeful.info":"(Vengeful) Makes effects stronger. (+Corrosive) Applies Levitation. (+Destructive) Higher Heavy Heart amplifier.",
"ritual.bloodmagic.harvestRitual":"Reap of the Harvest Moon",
"ritual.bloodmagic.harvestRitual.harvestRange.info":"(Harvesting) Plants within this range will be harvested.",
"ritual.bloodmagic.harvestRitual.info":"Harvests plants within its range, dropping the results on the ground.",
"ritual.bloodmagic.interdictionRitual":"Ritual of Interdiction",
"ritual.bloodmagic.interdictionRitual.info":"Pushes all mobs within its area away from the master ritual stone.",
"ritual.bloodmagic.interdictionRitual.interdictionRange.info":"(Push) The area of the ritual where mobs will be pushed. All mobs are pushed away from the master ritual stone, regardless of where this area is.",
"ritual.bloodmagic.jumpRitual":"Ritual of the High Jump",
"ritual.bloodmagic.jumpRitual.info":"Causes entities to leap up into the air.",
"ritual.bloodmagic.jumpRitual.jumpRange.info":"(Jumping) Entities in this range will be launched in the air.",
"ritual.bloodmagic.lavaRitual":"Serenade of the Nether",
"ritual.bloodmagic.lavaRitual.corrosive.info":"(Corrosive) Entities within range that are immune to fire are damaged severely.",
"ritual.bloodmagic.lavaRitual.default.info":"(Raw) Decreases the LP cost of placing lava and allows lava to be placed insided of a linked container.",
"ritual.bloodmagic.lavaRitual.destructive.info":"(Destructive) Lava placement range is increased based on total Will.",
"ritual.bloodmagic.lavaRitual.fireDamage.info":"(Corrosive) Entities within this range that are immune to fire damage are hurt proportional to the Will.",
"ritual.bloodmagic.lavaRitual.fireFuse.info":"(Vengeful) Entities in this range are afflicted by Fire Fuse.",
"ritual.bloodmagic.lavaRitual.fireResist.info":"(Steadfast) Players in this range have Fire Resist applied.",
"ritual.bloodmagic.lavaRitual.info":"Generates a source of lava from the master ritual stone.",
"ritual.bloodmagic.lavaRitual.lavaRange.info":"(Lava) The area that the ritual will place lava source blocks.",
"ritual.bloodmagic.lavaRitual.lavaTank.info":"(Raw) The tank that the ritual will place lava into.",
"ritual.bloodmagic.lavaRitual.steadfast.info":"(Steadfast) Players within a designated range have Fire Resistance applied to them.",
"ritual.bloodmagic.lavaRitual.vengeful.info":"(Vengeful) Entities within range have Fire Fuse applied to them.",
"ritual.bloodmagic.magneticRitual":"Ritual of Magnetism",
"ritual.bloodmagic.magneticRitual.info":"Pulls up ores from the ground and puts them into its placement range.",
"ritual.bloodmagic.magneticRitual.placementRange.info":"(Placement) The range that the ritual will place the grabbed ores into.",
"ritual.bloodmagic.meteorRitual.info":"Consumes an item inside of its item range to summon a meteor full of resources from the sky, aimed directly at the ritual.",
"ritual.bloodmagic.placerRitual":"The Filler",
"ritual.bloodmagic.placerRitual.chest.info":"(Chest) The location of the inventory that the ritual will grab blocks from to place in the world.",
"ritual.bloodmagic.placerRitual.info":"Grabs blocks that are inside of the connected inventory and places them into the world.",
"ritual.bloodmagic.placerRitual.placerRange.info":"(Placement) The range that the ritual will place its blocks in.",
"ritual.bloodmagic.portalRitual":"The Gate of the Fold",
"ritual.bloodmagic.portalRitual.info":"Creates a portal network based on the activator and the immediately surrounding blocks. Blocks can be changed after activation without changing the network of portals, and portals with the same \"key\" will link together.",
"ritual.bloodmagic.pumpRitual":"Hymn of Siphoning",
"ritual.bloodmagic.pumpRitual.info":"Looks around the world and grabs fluids from the defined area. Will only remove and put the fluid into the connected tank if the tank has at least a bucket's worth of the same fluid.",
"ritual.bloodmagic.pumpRitual.pumpRange.info":"(Pump) The region that the ritual will look for fluids to grab from the world.",
"ritual.bloodmagic.regenerationRitual":"Ritual of Regeneration",
"ritual.bloodmagic.regenerationRitual.corrosive.info":"(Corrosive) Steals health from non-players inside of its Vampirism range and directly heals players.",
"ritual.bloodmagic.regenerationRitual.vampire.info":"(Vampirism) Mobs within this range have their health syphoned to heal players in the Healing range.",
"ritual.bloodmagic.speedRitual":"Ritual of Speed",
"ritual.bloodmagic.speedRitual.default.info":"(Raw) Increases the velocity caused by the ritual based on total Will.",
"ritual.bloodmagic.speedRitual.destructive.info":"(Destructive) Prevents child mobs and players from being transported. Players are transported if paired with Vengeful.",
"ritual.bloodmagic.speedRitual.info":"Launches players within its range in the direction of the ritual.",
"ritual.bloodmagic.speedRitual.sanicRange.info":"(Speed) All entities within this area are launched in the direction of the arrow formed by the ritual.",
"ritual.bloodmagic.speedRitual.vengeful.info":"(Vengeful) Prevents adult mobs and players from being transported. Players are transported if paired with Destructive.",
"ritual.bloodmagic.suppressionRitual":"Ritual of Suppression",
"ritual.bloodmagic.suppressionRitual.info":"Suppresses fluids within its range - deactivating the ritual returns the fluids back to the world.",
"ritual.bloodmagic.suppressionRitual.suppressionRange.info":"(Suppress) All liquids within the range are suppressed.",
"ritual.bloodmagic.testRitual":"Test Ritual",
"ritual.bloodmagic.upgradeRemoveRitual":"Sound of the Cleansing Soul",
"ritual.bloodmagic.upgradeRemoveRitual.info":"Removes all upgrades (and downgrades) from your Living Armor and gives you the corresponding Upgrade (and Downgrade) Tomes. These Tomes can be used to be applied to your Living Armor again.",
"ritual.bloodmagic.waterRitual":"Ritual of the Full Spring",
"ritual.bloodmagic.waterRitual.info":"Generates a source of water from the master ritual stone.",
"ritual.bloodmagic.waterRitual.waterRange.info":"(Water) The area that the ritual will place water source blocks.",
"ritual.bloodmagic.waterRitual.waterTank.info":"(Raw) The tank that the ritual will place water into.",
"ritual.bloodmagic.wellOfSufferingRitual":"Well of Suffering",
"ritual.bloodmagic.wellOfSufferingRitual.altar.info":"(Altar) This range defines the area that the ritual searches for the blood altar. Changing this will either expand or limit the range to a certain region.",
"ritual.bloodmagic.wellOfSufferingRitual.damage.info":"(Damage) This defines where the ritual will damage a mob. All mobs inside of this range (except for players) will receive damage over time.",
"ritual.bloodmagic.wellOfSufferingRitual.info":"Attacks mobs within its damage zone and puts the LP into a nearby blood altar.",
"ritual.bloodmagic.willConfig.set":"The ritual will use these Demon Will types: %s",
"ritual.bloodmagic.willConfig.void":"The ritual no longer uses Demon Will",
"ritual.bloodmagic.zephyrRitual":"Call of the Zephyr",
"ritual.bloodmagic.zephyrRitual.chest.info":"(Chest) The location of the inventory that the ritual will place the picked up items into.",
"ritual.bloodmagic.zephyrRitual.info":"Picks up items within its range and places them into the linked chest.",
"ritual.bloodmagic.zephyrRitual.zephyrRange.info":"(Suction) Items within this range will be sucked into the linked chest.",
"tooltip.bloodmagic.ritualReader.desc.information":"Right click on an active Master Ritual Stone to gather basic information about the ritual.",
"tooltip.bloodmagic.ritualReader.desc.set_area":"Right click on an active Master Ritual stone to cycle what area of the ritual you want to modify. Then click on the two corners of the new range you want to set the range.",
"tooltip.bloodmagic.ritualReader.desc.set_will_types":"Set the types of demon will that the ritual will consume from the aura by right clicking on the MRS with the same types of crystals on your hotbar.",