Compare commits

...

603 commits
1.9 ... 1.16.3

Author SHA1 Message Date
WayofTime 5d33f99d47 Fixed Tough not upgrading. 2021-02-01 10:42:25 -05:00
WayofTime a3d7a8c3b1 Fixed possible NPE for when harvesting blocks. 2021-01-29 14:18:15 -05:00
WayofTime 94aa68caf9 Updated the Snare description to indicate that the success rate is now 100%. 2021-01-29 11:04:37 -05:00
WayofTime 8ca36731ac Updated changelog.txt and changelog.json 2021-01-28 09:30:31 -05:00
WayofTime 5aae0d5c0b Fixed Living Upgrade Tomes so that you cannot over upgrade the armour.
Also updated the changelog for the next version.
2021-01-28 09:01:23 -05:00
Arcaratus e947f7d4f6
Make tooltips gray (#1772)
* 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
2021-01-27 17:19:03 -05:00
VT-14 ae3d28a1c8
Book: Updated Progression Tweaks (#1771)
* 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.
2021-01-27 10:11:06 -05:00
wrincewind 008db4a70e
Charges, Daggers & Getting Started (#1770)
* 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>
2021-01-26 18:44:03 -05:00
VT-14 d64f6aa16b
Book - More Refactors. Updated Patchouli version. (#1768)
* 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.
2021-01-26 14:45:03 -05:00
WayofTime 2ce874d83c Added the recipes for Anointed Charges
No, it's not a new type of charge. Just the existing charges infused with the Anointments!
2021-01-26 08:59:00 -05:00
WayofTime bc84ca95a7 Slightly nerfed the recipe for the Syringe daggers
Honestly, no one would pay 2 iron for 16 10 damage daggers if they could pay 1 stone and 1 glass for 16 8 damage daggers.
2021-01-26 08:34:39 -05:00
WayofTime d15daa737c Added Syringe Throwing Daggers and Slate Ampoules
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 .
2021-01-26 08:26:33 -05:00
WayofTime abe7333e64 Updated the Throwing Daggers so that they can now render a custom ItemStack 2021-01-25 12:38:27 -05:00
WayofTime 83c584983e Fixed the EntityShapedCharge so that it renders the proper block model. 2021-01-25 12:21:08 -05:00
WayofTime 66c1f2f4ac Fixed the throwing dagger so that it only gives Will when the entity actually gets killed. 2021-01-25 10:22:42 -05:00
WayofTime 1b06cea133 Added the Iron Throwing Dagger
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.
2021-01-25 10:17:38 -05:00
Michał Dominiak e349c424bf
Add integration of Harvest Moon with Mystical Agriculture. (#1766) 2021-01-25 09:11:51 -05:00
wrincewind e5755c0a8c
Added 'bloodmagic' namespace to links (#1765)
* 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>
2021-01-25 09:11:07 -05:00
VT-14 7a9d399017
Remove Launch Profiles from GitHub. Clean gitignore (#1767)
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.
2021-01-25 09:10:45 -05:00
VT-14 e269d15859
Guide: Move Living Armor Upgrades to their own Sub-Category (#1763)
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.
2021-01-24 12:40:11 -05:00
VT-14 df71f89cc4
Various minor fixes for the guidebook (#1762)
* 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.
2021-01-24 12:40:01 -05:00
WayofTime 6ce08de6b1 Changed the Alchemy Table so that the player may designate which slots are accessible from which directions.
Click on an empty slot in order to select the desired directions. Green outline = enabled, red outline = disabled.
2021-01-24 12:39:03 -05:00
WayofTime d40d8afb71 Fixed minor referencing error in the book 2021-01-23 19:13:42 -05:00
WayofTime df286a73f1 Added the Fungal charge.
Fungal Charges work on all nether and giant mushrooms.
2021-01-23 19:06:35 -05:00
WayofTime 2c3af715d7 Fixed the Blood Altar not inputting Fluids properly.
Also added the Vein Mining charge.
2021-01-23 17:54:32 -05:00
WayofTime 4749eecccf Fixed Plunderer's Glint
Now it actually works! Thanks @SkySom
2021-01-23 14:59:49 -05:00
WayofTime 0a0742d8eb Refactored the Explosive Charges to have a proper base class. 2021-01-23 14:52:46 -05:00
wrincewind cac20388f8
Improved Ritual descriptions (et al) (#1761)
* 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%.
2021-01-23 14:38:01 -05:00
WayofTime 948f0933e4 Removed the recipe for the Looting anointment "Plunderer's Glint" because Minecraft just has to "private". 2021-01-23 14:19:19 -05:00
WayofTime 3dfb8e5f55 Removed "CrunchyLegs.exe" from the Strong Legs upgrade.
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.
2021-01-23 11:01:51 -05:00
WayofTime 37051b4e34 Fixed the null check in GenericHandler for using a bow. 2021-01-23 10:05:56 -05:00
WayofTime 5fda25052d Allowed Shaped Charges to have Anointments applied to them
Reformatted the checks, and also readded the Arcane Ash recipe
2021-01-23 06:51:03 -05:00
wrincewind e0b0f13792
Update nyi.json (#1759)
* Update nyi.json

We've added a few rituals since i wrote this. Oops. 
[note: double check that it's right? Please?]

* Update nyi.json. Again. :x

oops.
2021-01-22 21:01:18 -05:00
WayofTime 8cfa00f06d Update BM3 Progression.drawio 2021-01-22 16:11:52 -05:00
WayofTime 3d51f61915 Finished reimplementing the Sigil of Holding
Probably missed a few System.out messages for testing, but ah well.
2021-01-20 12:50:34 -05:00
WayofTime b7e06f23bf Very WIP implementation of Sigil of Holding 2021-01-19 19:26:23 -05:00
WayofTime 072b83f440 Updated Sigil reagent recipes
Also updated the book sections and pages involving the reagents.
2021-01-17 16:42:42 -05:00
wrincewind 10affa65fa
updated Soul Gem crafting (#1753)
* 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!
2021-01-17 16:15:14 -05:00
WayofTime 7491ba5762 Changed the Hellfire Forge so that it can use the Tartaric Gem in the crafting grid, and moves the remaining Will into the crafted gem 2021-01-17 15:19:34 -05:00
WayofTime 99792acbb7 Changed the .gitignore, and started adding a few recipe changes
Got distracted due to wanting to change the Hellfire Forge recipes.
2021-01-17 14:34:24 -05:00
Jared 1fa7f88a77
Add CraftTweaker Support (#1751)
* 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
2021-01-17 12:22:37 -05:00
wrincewind 3a3e619225
1.16.3-3.0.6-11 (#1752)
* 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.
2021-01-17 12:20:37 -05:00
WayofTime 113c33ca5c Fixed server-side crashes and fixed a wrong check for the Smelting anointment. 2021-01-16 11:51:26 -05:00
WayofTime 9d1d8fc01f Added a quick and dirty section on anointments. Probably messed up the formatting for "extra_recipe_mappings" 2021-01-16 09:54:00 -05:00
WayofTime afcd09753a Reimplemented the Well of Suffering
And about time, too
2021-01-15 11:06:59 -05:00
WayofTime 5713d6db2a Added additional anointments as well as some misc things
Added several Anointments (still need to list them fully).
Also made it so that the Charges can be thrown.
2021-01-15 10:10:55 -05:00
WayofTime e2ce9a473b Update BM3 Progression.drawio 2021-01-14 12:51:14 -05:00
WayofTime cbec048ab3 Update BM3 Progression.drawio 2021-01-14 10:21:53 -05:00
WayofTime f840e9b86a Added BM3 Progression.drawio 2021-01-14 09:55:57 -05:00
WayofTime 68f917cb5b Added a couple new Anointments
This includes Holy Water and Hidden Knowledge.
Also fixed the JEI compat for the Alchemy Table so that hovering over the arrow shows the requirements.
2021-01-12 11:44:41 -05:00
WayofTime 4593f1f030 Properly added the Alchemy Table recipe
Look, TehNut, I was distracted. Ok?
2021-01-12 08:31:29 -05:00
WayofTime 37193406d6 Fix to #1748.
Properly namespaced the Life Essence tag. Whoops~
2021-01-12 08:28:36 -05:00
WayofTime 7f2c40a1c4 Added most of the rest of the Anointment framework and a few more items.
Includes a Fortune, Silk Touch, and +damage Anointment.
2021-01-12 08:27:47 -05:00
WayofTime 8d9319e271 Updated the changelog book
Also fixed some chat spam for the Demon Crystal
2021-01-10 18:24:38 -05:00
wrincewind 62dc0e9402
Updated book to match v3.0.4-9. (#1746)
* 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.
2021-01-10 18:19:05 -05:00
WayofTime d7b7750226 Fixed Altar crash because I am a goofy goober. 2021-01-10 18:18:41 -05:00
WayofTime b86595beaa Initial framework for Anointments
None added yet, but the registration is working now.
2021-01-10 16:50:19 -05:00
WayofTime b3af1b8e77 Added recipes to Shaped and Deforester charges.
Also fixed bug with Living Armour that prevented it from upgrading under certain conditions.
2021-01-10 09:00:06 -05:00
VT-14 8e6f36d2a9
Book Updates (#1740)
* 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>
2021-01-05 17:34:22 -05:00
WayofTime 48ef87303a Fix to Lava Crystal 2021-01-05 17:33:53 -05:00
WayofTime d719b85958 Fixed NPE in Blood Altar and added some WIP blocks
Also included is a fix for the Blood Altar not receiving piped in fluids, as well as standardizing the Blood Altar's capabilities.
2021-01-02 12:13:51 -05:00
WayofTime e36f8f4e24 Fixed a typo in the book. 2021-01-01 11:25:28 -05:00
WayofTime a96db67381 Fixed Experienced upgrade 2021-01-01 10:52:10 -05:00
WayofTime 0354045796 Fixed the Body Builder upgrade
Yay for not setting the map correctly!
2020-12-31 20:56:56 -05:00
WayofTime b8396a7969 Removed console spam when players pick up xp 2020-12-31 17:44:05 -05:00
WayofTime c85a605b5a Added the Bounce Array and the temp recipe for the "Grove Array" (name pending, and NYI) 2020-12-31 15:50:14 -05:00
WayofTime 510ec5cce5 Merge branch '1.16.3' of https://github.com/WayofTime/BloodMagic into 1.16.3 2020-12-30 17:57:37 -05:00
WayofTime dac93b7ec4 Added Day and Night alchemy arrays
- 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.
2020-12-30 17:57:33 -05:00
Tobias d63875e5d0
Merge pull request #1719 from Keraldi/patch-2
Improved capacity formula
2020-12-30 20:36:00 +01:00
Sydney e0477dede7
Remove unused URLs (#1731)
This is to prevent console spam when loading the mod.
2020-12-30 13:14:05 -05:00
wrincewind 2d4ea508c0
fixed typo - language file has ritual.notValid (#1722) 2020-12-30 13:13:33 -05:00
Victorsueca 9c1e1a7050
Fix non [a-z0-9/._-] character in path of location (#1732)
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.
2020-12-30 13:13:00 -05:00
VT-14 a0b756240f
Moved Functional Array Output Texture Up 1 Pixel (#1737)
To fixe the allignment issue.  Hey, the only example I had at the time had a protrusion on the top!
2020-12-30 13:07:00 -05:00
VT-14 7b0aa17632
Improved Functional Array Template (#1736)
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.
2020-12-30 12:49:33 -05:00
VT-14 7a354e4381
Double Arrray Template with Example (#1735)
* 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.
2020-12-30 10:43:47 -05:00
WayofTime f01a743a3e Readded Spike and Updraft Arrays. Also WIP Day Array 2020-12-28 16:28:33 -05:00
WayofTime 64b20227b2 Updated the changelog and attempted to figure out why my game sucks. 2020-12-26 15:33:11 -05:00
VT-14 2ec58c1e60
Updated Sanguine Scientiem. (#1730)
* 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>
2020-12-26 14:57:15 -05:00
WayofTime 9d18353a2e Fixed the Living Armour causing a NPE under certain conditions
In most cases where it is pertinent, changed the LivingStats calls to check if the stats actually exist on the chestpiece.
2020-12-15 18:53:33 -05:00
Tobias 8393b63344
Improved capacity formula
```
def keraldi2(cap, cap_aug):
    cap_aug = cap_aug * (0.99 ** abs(cap_aug - cap))
    return round(2000 * (cap + 5) * 1.1 ** cap_aug)
```
results:
```
assignMax(keraldi2, 6)
(6, 0, 22000)
assignMax(keraldi2, 7)
(6, 1, 24087)
assignMax(keraldi2, 8)
(5, 3, 26469)
assignMax(keraldi2, 9)
(5, 4, 29171)
assignMax(keraldi2, 10)
(5, 5, 32210)
assignMax(keraldi2, 20)
(9, 11, 78238)
assignMax(keraldi2, 30)
(12, 18, 170980)
assignMax(keraldi2, 40)
(16, 24, 346678)
assignMax(keraldi2, 50)
(21, 29, 666277)
assignMax(keraldi2, 60)
(27, 33, 1236525)
assignMax(keraldi2, 70)
(34, 36, 2252048)
assignMax(keraldi2, 80)
(40, 40, 4073333)
assignMax(keraldi2, 90)
(45, 45, 7289048)
assignMax(keraldi2, 100)
(50, 50, 12912994)
```
2020-12-09 16:52:16 +01:00
WayofTime 3d0e3c696b Fixed Augmented Capacity runes
They didn't work when you had no regular capacity runes. rooDerp
2020-12-07 19:37:36 -05:00
WayofTime 12e42438b5 Added Bloodstone Bricks as a valid altar component
Quick, before anyone notices!
2020-12-07 15:14:13 -05:00
WayofTime 7b938c28b4 Added more to the upgrades
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
2020-12-07 09:09:50 -05:00
WayofTime 953bac9298 Added a few more upgrades to the Living Armour
... Wait, was I supposed to put something in here?
2020-12-05 11:26:01 -05:00
WayofTime 507c541d5b Added the Binding array
Hehe lightning go brrrrrr
2020-11-28 21:41:28 -05:00
WayofTime 2075fa5be3 First stab at Living Armour reimplementation.
Added a lot of the upgrades, but there's still more testing/upgrades to be done/reimplemented.
2020-11-28 12:04:11 -05:00
WayofTime 06faa916c3 Added more rituals
Includes the Green Grove, Regen, Animal Growth, and a fix to the Feathered Knife ritual so that it... doesn't cause the damage animation.
2020-11-26 15:21:03 -05:00
WayofTime e312e3d854 Ritual reimplementation
Reimplemented the following rituals:
	- Resonance of the Faceted Crystal
	- Crack of the Fractured Crystal
	- Reap of the Harvest Moon
2020-11-26 13:32:56 -05:00
WayofTime 907a0f27e7 Fixed the repairing for Sentient equipment.
WHoopsies, forgot that line was commented out!
2020-11-25 10:23:00 -05:00
WayofTime 69ad344aa0 Fixed Hellfire Forge Aura Consumption
Fixed the Hellfire Forge so that it actually consumes Will from the Aura.
2020-11-24 21:19:25 -05:00
WayofTime ab9de5341e Worked on the Sentient Scythe
First stab (pun intended) on the Sentient Scythe. Still have a bit of work to do (such as balancing) but it's... usable.
2020-11-23 21:06:08 -05:00
Arcaratus 574d6a8e74
Creating a usable API (#1713)
* 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
2020-11-23 21:03:19 -05:00
WayofTime 952b6aeeb0 Added Tome of Peritia
Final push before the build.
2020-11-21 10:54:40 -05:00
WayofTime 9b79acaad6 Fixed the Lava Crystal crash
Maybe not the most elegant method? But it works.
2020-11-21 10:24:35 -05:00
WayofTime 295488f144 Finished adding the "Creeping Doubt" plant block.
Still need to do some more work, such as adding the seeds and the material you get from the plant.
2020-11-21 09:54:13 -05:00
WayofTime 032e163795 Initial work on Netherrack Soil.
Also added the processing for Ancient Debris and some of the intermediates for the new Hellforged Ingots (no uses yet).
2020-11-19 21:42:30 -05:00
Arcaratus 1ae356c886
Initial stab at API structuring (#1711) 2020-11-18 13:53:20 -05:00
WayofTime 546215ab37 Work on mimics as well as some structure tinkering. 2020-11-18 13:51:58 -05:00
WayofTime 545b50ac82 Revered API changes
Because I obviously don't know what I'm doing. Building the jar wasn't working, so reverted for now.
2020-11-15 21:34:18 -05:00
WayofTime 5e5ecfd30a Update ItemSigilGreenGrove
...Again. Fixes a server crash when using the sigil on plants.
2020-11-15 21:12:14 -05:00
WayofTime bc2530583a Properly added API
Actually put the API in the correct spot >.>
2020-11-15 16:33:42 -05:00
WayofTime 2dafb837f1 Dungeon Fix
:rooBlank:
2020-11-15 14:17:20 -05:00
WayofTime 6f7cd030e6 Green Grove Sigil fix.
Fixed the Green Grove sigil so that it checs if a plant can grow first.
2020-11-15 12:09:18 -05:00
WayofTime 71ba0229c5 Dungeon tinkering
Nothing gameplay-affecting here.
2020-11-15 12:07:01 -05:00
WayofTime 6d07184b18 Created API framework
Very very initial framework to the API, mainly through moving the relevant files to a separate source folder.
2020-11-14 16:20:55 -05:00
WayofTime ddadbef425 Added a bunch of the dungeon blocks to the mod.
Mainly only the "Raw" variants right now. No recipes have been added yet.
2020-11-14 16:15:26 -05:00
WayofTime cb2db9bc50 Finished implementation of Incense Altar and associated blocks.
Also added the recipe for the Ritual Tinkerer, as well as the finalized book entry for the Incense Altar.
2020-11-13 19:44:57 -05:00
WayofTime 7634404dac Added Demon Will Gauge config.
Added some code snippets trying to add a command, but added a simple Client Config for the Demon Will Gauge instead.
2020-11-12 13:16:44 -05:00
WayofTime b6931a3116 Initial work on DemonWillGauge
Includes the PacketHandler as well as the base system for HUDElements. Still need a replacement for the GuiConfig.
2020-11-11 21:15:58 -05:00
WayofTime 648b96601d Fixed ARC Packet
Made it so that the Packet's `updateTanks` method was not visible on the Server side.
2020-11-11 11:28:51 -05:00
WayofTime 797963ff04 Fixed ARC FluidTanks + book work
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.
2020-11-11 11:19:21 -05:00
WayofTime 4ada12dd5e Changed texture for Ritual Range
Changed the placeholder texture to use the chiseled sandstone from vanilla, tinted red.
2020-11-10 14:56:55 -05:00
WayofTime 0e6c57076d Added ritual range rendering
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.
2020-11-10 12:51:20 -05:00
WayofTime bac2af8857 Fixed a bug in the Ritual setting system.
Apparently `null` was being passed for the Will Config and the Will Holder. Seriously, who designed this system!?

... Oh.
2020-11-09 17:12:35 -05:00
WayofTime f9e78fcb40 Initial work on the Ritual Tinkerer
Includes the code for the Item and the generation of the translation strings.
2020-11-09 16:54:26 -05:00
WayofTime d182b90f9a Fixed player sounds
Fixed the player sounds so that the Sacrificial Knife and Air Sigil played their respective sounds properly.
2020-11-08 21:43:46 -05:00
WayofTime de5b422a41 Reimplemented Sentient Tools
Reimplemented the Sentient Axe, Pickaxe, and Shovel, as well as fixed the ability for the sentient weaponry to drop aspected Will.
2020-11-08 21:35:26 -05:00
WayofTime 0297f3a979 Readded Fluid capabilities to altar.
Also readded the recipe for the bucket of life.
2020-11-08 21:04:20 -05:00
WayofTime be8737c096 Will Crystall drop fix
Fixed the LootTable generator so that it actually dropped the correct number of crystals on breaking.
2020-11-07 20:26:45 -05:00
WayofTime eb1fb71f43 Recipe Fixes and mods.toml fix
Actually added the Blood lamp reagent to the recipes (oops). Also reduced the cost of the blank rune by one slate.
2020-11-07 19:38:56 -05:00
WayofTime d8ba32c412 Did I forget some things? O wO 2020-11-06 17:00:08 -05:00
WayofTime 15e538c800 Work on the ore tripling and various other things
Finished adding items required for the ore processing systems. Almost to the point where things are finalized for the first alpha release.
2020-11-05 16:10:50 -05:00
WayofTime 5e8437fe58 Demon Crucible implementation
Readded the Demon Crucible to test the World's Will Chunk saving/loading.
2020-11-03 17:23:44 -05:00
WayofTime bacd3d27f2 Added more items
Added more items from previous versions, including the Demon Crystal Clusters.
2020-11-02 18:53:48 -05:00
WayofTime 4f46dc150d Added reversion recipes
Added reversion recipes to the Alchemical Reaction Chamber. This allows no longer used blood orbs to be converted back to their pre-crafted form.
2020-11-01 19:07:00 -05:00
Jeremiah Winsley 204fbb3c28
Register entities immediately within FMLClientSetupEvent (#1704) 2020-11-01 17:17:44 -05:00
Jeremiah Winsley 990f67cf55
Remove buffer writes from read method (#1705) 2020-11-01 17:17:31 -05:00
WayofTime c41021aba1 Alchemy Table recipes
Added some more recipes.
2020-11-01 17:15:28 -05:00
WayofTime bf6250272c Readded the Alchemy Table
Finished adding the Alchemy Table with JEI compatability. Also added recipes for the ARC block and the Alchemy Table.
2020-10-31 13:42:28 -04:00
WayofTime 37c5e807b0 Added a few recipes
These include the Bloodstone Brick and a way to get the Weak Blood Shard! Yay!
Now if only the ARC was obtainable yet, lol.
2020-10-30 17:56:25 -04:00
WayofTime 1ead4ff820 Finalized ARC
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).
2020-10-30 16:41:41 -04:00
WayofTime 9fa68e86ae Attempt to fix 1.16.3 branch's issues on the repository
Added the original 'wayoftime' folder back, so see if that fixed the multiple folder issue.
2020-10-29 15:50:03 -04:00
WayofTime 6b4145a67c Attempt to try to fix the 1.16.3's branch having multiple 'wayoftime' folders. 2020-10-29 15:48:44 -04:00
WayofTime c159828248 Initial work on the Sanguine Scientiem
Downloaded patchouli and, after lots of remorse, managed to get the beginnings of a guide.
2020-10-29 15:45:38 -04:00
WayofTime fea894a2b2 Work on the ARC
Properly implemented the fluid handling for the input/output buckets.
2020-10-27 19:54:46 -04:00
WayofTime 4dfa414a56 Fixed the ARC Serialization 2020-10-27 18:32:43 -04:00
WayofTime bacaf114fb Fixed Sentient Sword
Fixed the sentient sword so that it now extends `SwordItem`
2020-10-27 18:32:03 -04:00
WayofTime 6f6f2049c1 Update TartaricForgeRecipeProvider.java
Updated the recipes so that the Air Reagent is craftable.
2020-10-27 14:55:48 -04:00
WayofTime ab230b7af4 Fixed recipes and System messages
I'm stupid rooDerp
2020-10-27 14:49:26 -04:00
WayofTime f0d62b997a Part 2 of ARC Recipe Implementation
Added the ability for FluidStacks to be used as inputs and outputs, with a bit of cribbing off of how Mekanism handled their FluidStackIngredient.
2020-10-27 10:40:39 -04:00
WayofTime f9327d8f5a ARC Recipe Framework Part 1
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.
2020-10-26 21:48:53 -04:00
WayofTime 152525bbe3 Fixed crash on death for servers
Fixed an issue where the client would crash when you died by the Sacrificial Knife when on a server.
2020-10-26 16:08:04 -04:00
WayofTime ec1b0644cb Framework for ARC
Initial framework for the ARC block, including GUI, Container, Tile Entity, and Block.
2020-10-26 15:53:09 -04:00
WayofTime 2a8143844a Crushing Ritual fix
Fixed a crash on servers for the Crushing Ritual. Also added the Ritual of the Feathered Knife.
2020-10-25 14:19:05 -04:00
WayofTime 4ac0f31124 Additional Rituals
Added Ritual of Magnetism and Ritual of Crushing.
2020-10-25 14:00:11 -04:00
WayofTime 6e3f1b3a4e RItual Recipes
Finished adding the base recipes that are required for the Rituals.
2020-10-25 11:51:58 -04:00
WayofTime 9a274186b7 Ghost block fix
Fixed the ClientHandler method for rendering the Ritual's ghost block.
2020-10-25 11:28:44 -04:00
WayofTime 3f158b8908 Added lava crystal
Added the Lava Crystal and fixed a bug where it would take a lot of LP initially. Now correctly only draws LP when getContainer is called.
2020-10-25 11:17:22 -04:00
WayofTime e254287a5e Implemented RitualDiviner
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.
2020-10-25 10:55:38 -04:00
WayofTime 85e47dbfa8 Part 1 of reimplementing Ritual Diviner
Finished the placement of the Ritual Stones from the ItemRitualDiviner.
Still need to finish the rendering system for the ghost blocks.
2020-10-24 22:37:04 -04:00
WayofTime 446fe9cef7 rooBooli
Fixed the improper files in the main directory so that they are not the default files from Forge.
2020-10-24 14:53:54 -04:00
WayofTime 1f0dcb608a Initial Work on Rituals
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.
2020-10-24 14:50:25 -04:00
WayofTime 0a9717f1ed Readded the fancier README
Readded the fancier README file so that TehNut wouldn't laugh at my ineptitude.
2020-10-24 09:00:46 -04:00
WayofTime d617911d7a Creation of 1.16.3 branch
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.
2020-10-24 08:59:04 -04:00
Nicholas Ignoffo 0e02b983f1 Add missing gradle file 2019-10-30 21:25:48 -07:00
Nicholas Ignoffo c8996c8fba Sweeping changes, mainly NBT related 2019-09-23 09:51:22 -07:00
Nicholas Ignoffo 4035d91151 Run migration mappings
Everything is still broken, but at least we reduced the amount of errors by hundreds, if not thousands.
2019-09-22 12:55:43 -07:00
Nicholas Ignoffo 1caae69992 Bump version 2019-09-04 19:25:07 -07:00
Tobias 5cb3ff5af5 Tentative changelog for next version (#1610)
* 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
2019-09-04 19:24:43 -07:00
Tobias 39cdc0c42f Lava Crystals can now set things on fire! (#1652)
* Lava Crystals can now set things on fire!

* Remove unecessary else
2019-09-04 19:02:39 -07:00
Tobias 1155be6d6b Fixed Ritual Tinkerer & added range reset (#1636)
* 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
2019-09-04 18:58:45 -07:00
Tobias a23cd35556 Implemented BloodAltar modification with redstone lamp below altar (#1635)
* 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
2019-09-04 18:55:53 -07:00
Tobias 4f1308874d Fixes BloodAltar being able to obtain negative progress. (#1649)
* Fixes BloodAltar being able to obtain negative progress.

* Updated to use Math.max()
2019-09-04 18:51:25 -07:00
Tobias 24b3552b60 Guide capacity recipe, rearranged some entries (#1641)
* Fix meta ID's (recipes shown) in the guide book for Displacement and Capacity

* Rearranged topics to be closer to a natural progression.
2019-09-04 18:50:21 -07:00
Tobias 0cbaa13cfc Some fixes to the German translation because of the translation keys got changed. (#1640)
* 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"
2019-09-04 18:49:04 -07:00
Tobias 845ca65cab Changed SoundType and visible Material of wooden path blocks from stone/rock to wood (#1638)
* 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
2019-09-04 18:48:54 -07:00
Sam Kirby 97d4967d31 Fixes for Ritual of the Eternal Soul (#1633)
* 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.
2019-09-04 18:39:54 -07:00
Tobias 3cdf4517a8 Fixed some black magic that occurred when a mob was summoned in a world that was loaded but didn't have a list entry that is supposed to be generated on world load. (#1618) 2019-09-04 18:38:52 -07:00
Jonas Herzig 6587068296 Fix GLSL shader compilation with certain graphics drivers (fixes #1325) (#1624) 2019-09-04 08:39:25 -07:00
Tobias cbefc14f72 Fixes /bloodmagic network command permissions required for executing the command. (#1613)
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.
2019-09-04 08:38:42 -07:00
Tobias a6a5704a42 Removed overseen debug print statements from Rituals veil of evel & ward of sacrosanctity (#1639) 2019-08-11 11:49:30 -07:00
Tobias f34a89efa7 Level 4 StormTrooper downgrade to correctly cost -65 upgrade points (was 65) (#1631) 2019-08-07 08:29:38 -07:00
Tobias 1250f1015e Changelog. (#1601)
* Changelog.
Some stuff still pending.

* "Unbending" mod has been renamed to "Unmending"

* Clarifications & Formatting

* Update

* Added Compression Sigil PR

* Update changelog.txt

* Added Network command PR change

* Added JEI Recipes PR

* Update changelog.txt

* Removed empty bugfix category.

From V2.0.0

* Update changelog.txt

* Moved pending PR texts, added RitualJumping PR text, bumped version number

* forgot version number

* Remove pending merges
2019-05-19 10:06:01 -07:00
Tobias 1d52a137d5 Added getHeight() to AreaDescriptor, Jumping power modifyable (#1608) 2019-05-19 09:59:25 -07:00
Nicholas Ignoffo 28057bd3f6 Fix sigil of holding saving data to the wrong inventory tag (#1584) 2019-05-19 09:40:48 -07:00
Big Energy f87a63ba99 Add russian guide book (#1607)
* Create tussian guide book

* Delete English phrases
2019-05-19 09:23:49 -07:00
Nicholas Ignoffo 6420c2635e Fix tough palms being trainable without an altar nearby (#1588)
*When using an empowered sacrificial dagger
2019-05-19 09:04:20 -07:00
Tobias 39f1ac0c7d Added JEI recipes for repairing Sentient Tools & Living Armor (#1606)
* Added sentient tool repair recipes to JEI.

* Added living armor repair recipes to JEI.
2019-05-19 08:37:21 -07:00
Tobias a5a5899b7c Fixed /bloodmagic network get not having a network to get from, (#1604)
added translation keys for tickethistory
2019-05-19 08:36:05 -07:00
Tobias 7f5a5a24ff Veil of Evil & Ward of Sacrosanctity (#1578)
* 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.
2019-05-19 08:35:38 -07:00
Tobias bf35baac77 Improved Compression Sigil performance & fixed leftover eating bug (#1603)
* 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.
2019-05-19 08:34:04 -07:00
Tobias 0090ec0a56 Lava will not replaced with lava anymore unless it's flowing lava. (#1599)
* Lava will not replaced with lava anymore unless it's flowing lava.

* Fixed Flowing Liquid detection

* Removed unnecessary function arguments
2019-05-19 08:03:48 -07:00
Tobias Gremeyer 21f3b9047c Made teleposers a bit more foolproof (#1592)
Fixed an issue where a teleposer that somehow got filled with nasty items would crash on tick because the teleposer throws a fit at that nasty item.
2019-04-25 00:09:15 -07:00
Nicholas Ignoffo 73d2459c6c angery 2019-04-14 08:59:21 -07:00
Nicholas Ignoffo f997aee891 Fix crash on world unload
Don't know how to reproduce, but this will make sure we don't call clear
on null
2019-04-14 08:49:26 -07:00
Nicholas Ignoffo 59f5fe9407 Fix incompatibility with Unmending mod (#1566) 2019-04-14 08:48:47 -07:00
Nicholas Ignoffo d5834a34ba Merge remote-tracking branch 'origin/1.12' into 1.12 2019-04-14 08:42:02 -07:00
Tobias Gremeyer 572d8eff4f Possible fix to (many of the) abnormal death events concerning the sacrificial Dagger (#1554)
* 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)
2019-04-14 08:38:17 -07:00
Phil 7c767b3bbf Stop insertions into Demon Crucible if the inventory is not empty (#1567) 2019-04-14 08:29:51 -07:00
Nicholas Ignoffo eec64695b5 Fix Blood Letter's Pack and Coat of Arms passing the wrong hand (#1582) 2019-04-14 08:28:46 -07:00
Nicholas Ignoffo f832103386 Fix state parsing (#1573) 2019-04-14 08:23:02 -07:00
Nicholas Ignoffo 53b6030ba9 Run code formatter
🦀 Way is gone 🦀
2019-04-14 08:22:42 -07:00
Phil 7c1565a68c Quick fix for ritual of grounding, which was applying gravity to every entity. (#1576)
Added a check to determine if an entity already has no gravity, in which case it would not track them.
2019-04-05 14:26:18 -07:00
Tobias Gremeyer 6b176bebf3 Block range fixes (#1571)
* 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.
2019-03-31 14:53:35 -07:00
Tobias Gremeyer dea733a76e Fixed Sigil tooltip formatting (#1559) 2019-03-10 14:52:42 -07:00
Richard Freimer bc168a3937 Use TextFormatting rather than including color codes in block lang name (#1546) 2019-03-02 23:16:25 -08:00
Phil c8b004c9b6 Added Whirlwind to the potion registry - fixing a bug where the fast miner sigil would also cause the whirlwind effect. Increased the effect of the fast miner sigil to haste 2, to correspond with what the Sanguine Scientium states. (#1552) 2019-02-28 12:13:48 -08:00
Tobias Gremeyer 22ac5b0da5 Tested everything again, noticed 2 oversights that didn't have any impact. (#1548)
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).
2019-02-20 14:28:04 -08:00
Phil 069051bf3b Modified Living Armour's Step Assist to only apply when the player is not sneaking. (#1545) 2019-02-17 13:45:57 -08:00
Phil 2d49fab893 Trickshot - Sentient Arrows Implementation (#1540)
* 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
2019-02-13 16:27:41 -08:00
Phil 4a59dede53 Fixed an error where firing a tipped arrow with a sentient bow without (#1542)
demon will would still result in the effect of the tipped arrow being
multiplied.
2019-02-13 15:59:56 -08:00
Tobias Gremeyer 77ca407630 no idea why I didn't put it before the switch statement to begin with; (#1538)
that would just have been too logical

#1537
2019-02-10 17:29:57 -08:00
Nicholas Ignoffo 8e2a93fa34 Improve nocturnal prowess behavior (#1461)
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.
2019-02-08 20:33:43 -08:00
Nicholas Ignoffo cb69f84ed6 Fix oredict filter passing invalid stacks to oredict (#1481) 2019-02-08 20:21:59 -08:00
Phil 28b5caa5aa (#1415) Soft Fall / fallProtect Implementation (#1536)
* 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]
2019-02-08 19:34:41 -08:00
Phil 2c49be1bdd Trickshot Arrows to reset hurtresistancetime. (#1487) (#1535)
* 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
2019-02-08 10:04:41 -08:00
Nicholas Ignoffo 5903cc7e0a big kek 2019-01-31 19:53:46 -08:00
Nicholas Ignoffo 0e4f6c0fb9 Let's start pushing to curse under my name so people stop blaming Way 2019-01-31 19:45:47 -08:00
Nicholas Ignoffo 465a2beade Update changelog + version 2019-01-31 19:42:42 -08:00
Nicholas Ignoffo 83f0eefa15 Update mappings + dependencies 2019-01-31 19:10:37 -08:00
Tobias Gremeyer 1426e49164 Potion tipped & modded arrows now get the will effects applied alongside them. (#1424)
* 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
2019-01-31 17:17:00 -08:00
Tobias Gremeyer 05f0bb733b Removed some redundant stuff for Bindable items, improved inheritance (#1455)
* 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
2019-01-31 17:16:02 -08:00
Tobias Gremeyer 95464ca509 Bounding boxes / Collision boxes rework (#1464)
* 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
2019-01-31 17:15:11 -08:00
Tobias Gremeyer 4bf8e94d26 Changed required Activation Crystal levels for Ritual Activation (#1456)
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"
2019-01-31 17:13:24 -08:00
Tobias Gremeyer e8eb44632d Ritual Reader Quality of Life (#1528)
* 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
2019-01-31 17:11:32 -08:00
Tobias Gremeyer 95d99c0a01 Command rework (#1434)
* 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>
2019-01-31 16:46:02 -08:00
Saurabh Totey 2a8e1f1271 Fixed Sigil of Magnetism attraction area for #1315 (#1453) 2019-01-31 16:36:55 -08:00
Tobias Gremeyer a04e4d7a09 SolarPowered logic fix. (#1454)
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
2019-01-31 16:36:31 -08:00
Tobias Gremeyer 827ee85e81 Implemented Ritual of Grounding, a Ritual to change gravity behavior (#1501)
*  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.
2019-01-31 16:33:46 -08:00
Tobias Gremeyer 865968a4b8 Ported Ritual of the Feathered Earth to BM2. (#1492)
* 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
2019-01-31 16:29:51 -08:00
Phillip 6b25caa06d Fixing the previous PR mess. (#1467) 2019-01-31 16:28:36 -08:00
Tobias Gremeyer 05446742ef Ported RitualDismantler (#1499)
* 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
2019-01-31 16:25:18 -08:00
Tobias Gremeyer 5b4e624d44 Make Movement & Updraft arrays stronger by adding more of their ingredients! (#1520)
* 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
2019-01-31 16:22:00 -08:00
Tobias Gremeyer 3751a51935 Fixed Ritual area (#1532) 2019-01-23 10:04:25 -08:00
Tobias Gremeyer 74436a1338 This should do it but I would like you to test it again just in case (not sure if I would have gotten the NPE to begin with) (#1522) 2019-01-22 19:34:03 -08:00
Tobias Gremeyer e001943c41 Seer Sigil can now be used in place of divination sigil in additon to it's own functions for HUD elements (#1527)
(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)
2019-01-22 10:09:08 -08:00
Nicholas Ignoffo 9af6b4fbfa Remove unnecessary field declaration from IMasterRitualStone 2019-01-21 15:18:34 -08:00
Tobias Gremeyer 415d3f1f42 Fixed RitualReader (RitualTinkerer) area setting ability. (#1505)
* Fixed RitualReader (RitualTinkerer) area setting ability.

Signed-off-by: tobias <angryaeon@icloud.com>

* Update TileMasterRitualStone.java

* Interface tidied up
2019-01-21 15:06:38 -08:00
Tobias Gremeyer 399c2723d3 Capable fluid sigils (#1517)
* 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
2019-01-20 15:24:28 -08:00
Tobias Gremeyer 31c606495c Mark of the Falling Tower meteor costs are now configurable (#1518)
* 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
2019-01-20 15:20:03 -08:00
Tobias Gremeyer ffdf627c18 Added simple GuideBook documentation for all rituals (#1515)
* 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
2019-01-20 15:17:00 -08:00
Tobias Gremeyer c6a315a51c Fixed compile-time fatal error (#1510)
Added Creative handling
2019-01-20 15:16:22 -08:00
Tobias Gremeyer 7e2251b8e5 Hymn of Syphoning (pump) tank render fix (#1521)
* 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
2019-01-20 14:50:31 -08:00
tommyTT fa87ed0e17 Bugfix attempt to remove render lag (see WayofTime#1457) (#1458)
Simplified the whole branch since it got really messed up
2019-01-05 09:34:45 -08:00
Tobias Gremeyer 4f04fde127 Optimized and updated Bound Tools (#1500)
Signed-off-by: tobias <angryaeon@icloud.com>
2019-01-02 21:59:46 -08:00
Andrew Fontaine 297771af81 Add Handlers for Ritual of Crushing (#1469)
* 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.
2018-12-30 16:14:27 -08:00
iPopstop 6b1e9f4014 Update ru_RU.lang (#1473)
* Update ru_RU.lang

Minor grammar fixes

* Update ru_RU.lang

* Update

Added: 
- alchemic_vial
- baseComponent.catalyst_length_1
- baseComponent.catalyst_power_1
- bloodmagic.extraInfo (tooltip)
- commands.bloodmagic.error.*
Fixed:
- bloodmagic.blood_shard
- baseComponent.sulfur
- bloodmagic.monster_soul.raw
- bloodmagic.path.woodtile
- bloodmagic.path.stonetile
- bloodmagic.path.wornstonetile
- bloodmagic.path.obsidiantile
Updated:
- bloodmagic.sanguineBook
2018-12-30 16:13:46 -08:00
Tobias Gremeyer 03d087595f Reverence of the Condor port (#1490)
* Ported Reverence of the Condor from 1.7.10.

* Ported Reverence of the Condor from 1.7.10.

* Removed my shame
2018-12-30 16:13:13 -08:00
Tobias Gremeyer 7435d49824 Refactored Cry of Eternal Soul for BM2. (#1488)
* Refactored Cry of Eternal Soul for BM2.

* Added entries for the english translation strings

* Ticket handling fix

* Using more comprehensive `addOffsetRunes` instead of `addRune`'s

* Update src/main/java/WayofTime/bloodmagic/ritual/types/RitualEternalSoul.java

Co-Authored-By: Iorce <angryAEon@icloud.com>

* Update src/main/java/WayofTime/bloodmagic/ritual/types/RitualEternalSoul.java

Co-Authored-By: Iorce <angryAEon@icloud.com>

* Cleanup round 1

* cleanup round 2
2018-12-30 16:11:54 -08:00
Bunsan 8b9764036a Fix for small demon stone brick recipe so that it outputs 4 blocks as expected. (#1486) 2018-12-10 19:24:37 -08:00
TeamDman 002f23c53d Changed LavaCrystal getBinding behaviour, cleaned up JEI hiding 2018-12-06 23:33:23 -08:00
TeamDman 88e72ee013 Revert "fixed typo in readme"
This reverts commit c6980fba
2018-12-06 23:33:23 -08:00
TeamDman b8f57eca32 Fix javadoc typo 2018-12-06 23:33:23 -08:00
TeamDman 6f8741694c Reenable tier 6 with config option
Revert of fd03265764
2018-12-06 23:33:23 -08:00
TeamDman 54a2b053d0 Fix Binding::fromStack returning null on stacks with binding tags
Added Binding::toString
2018-12-06 23:33:23 -08:00
TeamDman 259b631f7d added unregisterAltarComponent method 2018-12-06 23:33:23 -08:00
TeamDman b59d5ce5b4 fixed typo in readme 2018-12-06 23:33:23 -08:00
Nicholas Ignoffo fd03265764 Fix "how do i get tier 6" questions 2018-09-16 11:13:25 -07:00
Nicholas Ignoffo d54c828fba Fix Harvest Moon not working with Pumpkins (#1432) 2018-09-03 11:35:15 -07:00
Nicholas Ignoffo 2b587e84af Update changelog + version 2018-08-28 21:51:59 -07:00
Nicholas Ignoffo 39087ccf70 Fix obo causing altars to not fill orbs of the same tier (#1423) 2018-08-27 21:30:03 -07:00
Nicholas Ignoffo 6ba4a02c48 I love when Curse breaks their API so my buildscript fai;s 2018-08-26 14:13:07 -07:00
Nicholas Ignoffo c5d3f8012c Update changelog + version 2018-08-26 14:05:41 -07:00
Nicholas Ignoffo 6d43e416e4 *Now* sentient repairing is proper 2018-08-26 14:05:25 -07:00
Nicholas Ignoffo 6062b68661 Fixed placement of chunk ticket release due to scoping
Added in missing ticket releases
2018-08-26 13:49:02 -07:00
Nicholas Ignoffo 8e16e590ea Sentient tools should use the proper material and have a repair material
crystals are used to repair
2018-08-26 13:40:40 -07:00
Nicholas Ignoffo 70cf5d2bea Low tier altars should not be able to fill high tier orbs 2018-08-26 13:12:49 -07:00
AEon - Tobias 1f392721fa Reinstated Compression sigil. (#1374)
*  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.
2018-08-26 13:05:30 -07:00
KohaiKhaos 9440d3c0b9 This should fix a few existing issues with Teleposers, they no longer syphon from the bound player. (#1414) 2018-08-26 13:00:07 -07:00
KohaiKhaos 81047734a6 Changed the lava, water, and void sigils to work with fluid tanks better (#1406)
* 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.
2018-08-26 12:59:41 -07:00
AEon - Tobias 7942465edc Well of Suffering item drop control (#1388)
* 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
2018-08-26 12:55:23 -07:00
AEon - Tobias 753958ac9c Ritual portal delay / Bound Pickaxe fix/improvement (#1387)
* 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
2018-08-26 12:50:02 -07:00
AEon - Tobias 72eb314da8 Ritual Stones have been nerfed to be Rocky instead of Irony. (#1417)
Their material strength has been adjusted to the one of the MRS.
2018-08-26 12:16:14 -07:00
AEon - Tobias f5282bd767 Phantom bridge (#1397)
* 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
2018-08-17 18:14:41 -07:00
AEon - Tobias 3d3ce53ddd Fix: Interaction Sigil of Holding + Seer/Divination Sigil (no render) (#1391)
* Seer Sigil and Sigil of Divination now work properly when placed inside the Sigil of Holding

closes #1285

* cleanup

* Cleanup.
2018-08-17 18:13:00 -07:00
AEon - Tobias 92e3333701 Splash potions now throwable! (#1401) 2018-08-17 18:08:04 -07:00
KohaiKhaos 98e474b287 Someone missed an import (#1403)
* Someone missed an import, how have you people even been compiling to test stuff since you added my commit

* Missed GameProfile too apparently
2018-08-17 18:07:29 -07:00
palaster 34cfcfedba Allows custom arrows to work with the Sentient Bow. (#1404)
- 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.
2018-08-17 18:07:02 -07:00
AEon - Tobias ecebe75f33 Third stage of "Dagger of Sacrifice"-glow (#1389)
* 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.
2018-08-07 17:51:46 -07:00
AEon - Tobias 2c92a9e0c1 Crossdimensional Teleposition (including entities, into unloaded chunks etc) (#1385)
* 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.
2018-08-07 17:50:56 -07:00
AEon - Tobias c0570af36f Disorient upgrade typo fix (#1320) (#1395) 2018-08-07 16:50:26 -07:00
AEon - Tobias 4941d0b361 Language files en_US -> de_DE (FINISHED), minor language file edits (#1321)
* 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)
2018-08-07 16:45:15 -07:00
KohaiKhaos ebfd8ce9a3 Several mimic fixes, with actually cleaned up commit history. (#1379)
* 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
2018-08-07 16:28:55 -07:00
KohaiKhaos 7954d04421 Fixed a null pointer exception with certain modded blocks with the Ritual of Magnetism (#1380)
* Replaced a null RayTraceResult in Magnetism Ritual with a real one

* Added a fake player to the code. No more passing nulls.
2018-08-07 16:24:41 -07:00
AEon - Tobias e8ad057662 Added RitualReader/Ritual Tinkerer to creative tab (#1393) 2018-08-07 16:02:22 -07:00
AEon - Tobias ce46de0d0a Fixed Crystal Cluster behavior. (#1390)
* 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
2018-08-07 15:59:09 -07:00
Urey. Xue daa52f4d3d Corrections of manual translation (#1386)
* Update zh_CN.lang of blood magic guide

* Clarification

* Clarification on Laputa Shard

* "Messagner" -> "Child"

* More fix

* Correct some misintepretations
2018-08-07 15:52:11 -07:00
AEon - Tobias d30dcf1ae5 Sentient Sword to not attack players unless provoked/auto attack mobs (#1381)
* 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)
2018-08-07 15:48:01 -07:00
Arcaratus b441e7fc1e SoulTicket internal implementation (#1372)
* 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???)
2018-08-07 15:27:12 -07:00
Nicholas Ignoffo 093cfb13ef Changelog + version 2018-07-22 07:10:00 -07:00
Arcaratus 6c5bbed348 Quick Fixes (#1362)
* 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
2018-07-22 07:07:27 -07:00
Nicholas Ignoffo e82510d553 Fix will type serializer using lowercased names for lookups (#1369) 2018-07-22 06:56:10 -07:00
KohaiKhaos 5ac52fa8c9 Mob Sacrifice Array no longer kills bosses or players (#1371)
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.
2018-07-22 06:54:46 -07:00
Nicholas Ignoffo 7aadc505ab Fix Ritual of Magnetism not being registered 2018-07-22 06:51:38 -07:00
Nicholas Ignoffo a28f6308aa Update changelog + version 2018-07-16 16:42:24 -07:00
Nicholas Ignoffo fb90656335 Green Grove ritual should apply to Reeds and Cactus (#1359) 2018-07-16 16:42:10 -07:00
Nicholas Ignoffo a7fcfbd2d0 Laputa Array should not be able to move unbreakable blocks (#1360) 2018-07-16 16:05:13 -07:00
Nicholas Ignoffo 42c69eb557 Rework of ritual registration
Moves to annotation based registration. Configs are handled for automatically
2018-06-28 21:56:25 -07:00
Nicholas Ignoffo e3d65a9e3a Rework of HUD element system
Allows configuration because that's probably a good thing. The values in
the json config are percentages of the screen.
2018-06-28 20:37:53 -07:00
Nicholas Ignoffo 47b88b95b0 Base work for ticket based syphoning
To be used for providing a history. This commit breaks any usage of the
network events.

Heads up @TeamDMan @Arcaratus
2018-06-28 18:24:17 -07:00
Nicholas Ignoffo c8e42e3288 Fix lava crystal not syphoning LP (#1326) 2018-06-26 17:15:45 -07:00
Nicholas Ignoffo 22e8290921 Teleposition Sigil should make sure a Teleposer is the destination (#1328) 2018-06-26 17:09:18 -07:00
Nicholas Ignoffo 86f54886c5 Mending should not work on potion flasks (#1332) 2018-06-26 16:53:16 -07:00
Nicholas Ignoffo d1e77acc73 Bandaid crushing ritual to pass a valid player instance (#1345)
This entire thing needs to be cleaned up. It's so bad right now :(
2018-06-26 16:50:34 -07:00
Nicholas Ignoffo 954f2c87e1 Fix bound orbs not allowing JEI interactions (#1349) 2018-06-26 16:42:35 -07:00
Nicholas Ignoffo b38c3022ee Fix crafted inscription tools not having the proper durability (#1353) 2018-06-26 16:32:07 -07:00
Arcaratus 1096c697f4 Fix the Blood Tank BB (#1347) 2018-06-20 18:43:33 -07:00
Urey. Xue 8bec2f3872 Update zh_CN.lang of blood magic guide (#1327)
* Update zh_CN.lang of blood magic guide

* Clarification

* Clarification on Laputa Shard

* "Messagner" -> "Child"

* More fix
2018-06-12 21:49:24 -07:00
PiscesdanAT 7263e6fbc2 Update de_DE.lang (#1337)
Someone mixed up dusk and dawn
2018-06-09 09:01:30 -07:00
WayofTime edf4564a07 Fancied up the rendering of the Mob Sacrifice array, as well as added more behaviour 2018-05-15 12:40:00 -04:00
Nicholas Ignoffo f563da152e Fix Teleposer swapping blocks even if the event is cancelled (#1303) 2018-05-13 22:20:33 -07:00
WayofTime 389043dc64 Implemented the Mob Sacrifice Array.
Needs some cleaning up + added visuals, but appears functional.
2018-05-07 22:10:59 -04:00
WayofTime 32227afd9d Fixed Syntax error in the recipes, as well as annoyed Nut with another class with bracing changes.
(Wonder when I should change all the classes...)
2018-05-05 15:20:37 -04:00
Vegar Guldal c94af26a64 Require water potion instead of uncraftable potion (#1297)
Fixes issue where cutting fluid is uncraftable.
2018-05-04 13:58:39 -07:00
WayofTime 6a56a13aac Final push before 2.2.12. 2018-05-04 14:34:46 -04:00
cpw 778838e2b0 Fix light calculation to use actual visible level. Should now work on (#1295)
surface at night as well as underground. Tweak duration to reduce
flicker.
2018-05-03 19:26:28 -07:00
WayofTime 383be360ff Improved collision "i.e. actually made a non-retarded position update" for the Scroll of Icarus. 2018-05-01 21:39:15 -04:00
WayofTime 3f8a455b90 Made some WIP additions to the Scroll of Icarus, allowing it to pick up mobs. Lacks costs and may break. 2018-05-01 16:29:19 -04:00
WayofTime 920d105374 Needed to be more pushy. 2018-05-01 06:51:37 -04:00
Nicholas Ignoffo 29ae24b044 Fix altar double counting upgrades (#1291) 2018-04-30 19:01:54 -07:00
WayofTime d29b91a106 Fixed the Fluid filters so that they now work perfectly in the routing system. 2018-04-29 09:57:29 -04:00
WayofTime b20e1ac4d7 Fixed Cutting Fluids so they now work properly. 2018-04-29 08:40:42 -04:00
WayofTime 7cecdef6c5 Fixed the Hellfire Forge and Alchemy Table so that they now accept ingredients in any order. 2018-04-29 07:39:20 -04:00
WayofTime eb6b8a3aa5 Small bit of framework for Soul Breath items, plus testing with the "Scroll of Icarus". Crafting mechanic as well as refilling of its resource not implemented. 2018-04-28 21:56:57 -04:00
Nicholas Ignoffo 560d167765 Check the proper maps when looking up fluid priorities (#1286)
When copypasta goes wrong.
2018-04-26 19:12:14 -07:00
WayofTime 26d67e68eb Quickly fixed something to avoid the wrath that anyone with a nut allergy would fear. 2018-04-26 17:16:41 -04:00
WayofTime 842c9d1411 Fixed the Alchemy Array from voiding items when broken when it shouldn't have. 2018-04-26 16:33:22 -04:00
Nicholas Ignoffo 151c1dfd67 "way pls" - TehNut 2018 (#1279) 2018-04-24 17:08:08 -07:00
Nicholas Ignoffo da8e43a8b4 Fix Blood Tank NBT transfer between item/tile form (#1283) 2018-04-24 17:06:43 -07:00
WayofTime 6522b0fa1b Fixed the Blood Altar so it can actually fill Blood Orbs (derp). 2018-04-22 20:59:29 -04:00
WayofTime f4aef16ed1 Fixed the Turret Array.
(Deja vu)
2018-04-22 16:14:36 -04:00
WayofTime 37f9ea2ab2 Fixed server-sided crash for the turret array (why is Vec2f not found on the server???) 2018-04-22 16:04:08 -04:00
Nicholas Ignoffo afcf1a1822 Add a recipe for the fluid filter 2018-04-21 16:53:19 -07:00
Nicholas Ignoffo ddf07acf70 "way pls" - WayofTime 2018 2018-04-21 16:42:22 -07:00
WayofTime c9319477bd Made the Blood Altar check if it had a null recipe on update while active. (Actual change on line 271)
Potential fix for #1275.
2018-04-20 16:11:05 -04:00
WayofTime 60c8441115 Added the "Resonance of the Faceted Crystal" 2018-04-20 13:39:05 -04:00
Nicholas Ignoffo 7e2dc3f4e7 Merge remote-tracking branch 'origin/1.12' into 1.12 2018-04-17 16:16:14 -07:00
Nicholas Ignoffo 19cdfbfb0a This file slipped through the craks :think: 2018-04-17 16:16:03 -07:00
WayofTime 07ae96a60e Fixed Demon Crystals growing at an accelerated rate (all the time). 2018-04-17 19:12:29 -04:00
Nicholas Ignoffo 79ccd1f3bb Add inputs to crafting events + implement SF/AT events (#1270) 2018-04-15 11:21:14 -07:00
Nicholas Ignoffo 2d83e8047d Fix Blood Light not being punchable (#1272)
Also makes it more visible while holding the sigil.
2018-04-15 11:05:02 -07:00
WayofTime af3e1fecb6 Fixed an interaction issue between vanilla hoppers and the Alchemy Table, due to the hoppers not actually using the Forge capabilities for all of its checking methods. 2018-04-13 16:44:00 -04:00
WayofTime 2db0ce5639 Added an entry to the book that explains you can, in fact, use Sea Lanterns instead of glowstone blocks for your Tier 3 altar. 2018-04-13 12:20:39 -04:00
WayofTime 765a7a2998 Updated changelog. 2018-04-13 11:34:21 -04:00
WayofTime ebdc66d063 Changed the Alchemy Table to use Bindable for checking the Orb's stored LP. Also fixed a crafting exploit with the table. #1269 2018-04-13 11:31:52 -04:00
Nicholas Ignoffo b63c383747 Fix Sanguine Scientium recipe (#1267) 2018-04-11 16:46:09 -07:00
Nicholas Ignoffo e64e481a11 Fix errant MRS tags displaying on fresh MRSs (#1265)
I literally totally hate everybody who downvoted my comment in that issue
and will show them my wrath.
2018-04-08 12:55:23 -07:00
Nicholas Ignoffo dc7af258ff Upgradle 2018-04-08 12:53:23 -07:00
WayofTime 9c2621e93a Fixed stupid NPE in the Furnace Array 2018-04-07 18:51:21 -04:00
Nicholas Ignoffo f01e1bfee0 Update changelog + version 2018-04-07 13:18:57 -07:00
Nicholas Ignoffo 6944e5e8d4 Add missing demon pylon itemblock (#1259) 2018-04-07 13:08:28 -07:00
Nicholas Ignoffo c8b394bf86 Add missing itemblock for demon crystals (#1252)
Still need to figure out the rendering issue. Might just need to rewrite
them to store the age as meta instead of the type.
2018-04-07 13:05:32 -07:00
Nicholas Ignoffo 234ccd4935 Fixed a null stack check in holding GUI 2018-04-07 12:47:46 -07:00
Nicholas Ignoffo 03a2904bd1 Fixed holding sigil internal interactions
It will no longer tick unbound sigils and checks binding of stored sigil
on right click..
2018-04-07 12:24:28 -07:00
Nicholas Ignoffo bf18c337e2 Fix of by one with altar upgrade calculation 2018-04-01 15:37:55 -07:00
Nicholas Ignoffo a5a9224f6d Merge remote-tracking branch 'origin/1.12' into 1.12 2018-04-01 15:37:07 -07:00
WayofTime 467bcb4d52 Readded the ritual "Focus of the Ellipsoid": creates a hollow ellipsoid from blocks provided in the connecting chest.
Also added the guide page for the Shard of Laputa.
2018-03-30 19:42:11 -04:00
WayofTime 58ca46b6bd Disabled the added Health in the "Quick Feet" upgrade. 2018-03-30 18:03:31 -04:00
WayofTime fff793ea7d Fixed the Haste sigil and "Quick Feet" so that they work with MC's new movement method.
Also added better looking potion effects for a few things
Enabled Shard of Laputa array - no book entry yet.
2018-03-30 18:01:23 -04:00
WayofTime d2a84c0e7c Added in the Spike Array 2018-03-30 11:35:40 -04:00
WayofTime b7adad76e7 Added in book entries for the Teleport Array and the Turret Array. 2018-03-30 07:15:38 -04:00
WayofTime 6e7b387e6a Added additional effects to the Sentient Bow when aspected to different Will types. 2018-03-29 16:05:56 -04:00
Nicholas Ignoffo 8dce592787 Fix out of bounds on invalid enum items 2018-03-23 17:12:32 -07:00
Nicholas Ignoffo 58d9678c40 Switch some more instances of chat spam to the action bar 2018-03-23 16:50:17 -07:00
Nicholas Ignoffo 7ec27febc6 Apply same model to all alchemic vials 2018-03-23 16:42:18 -07:00
Nicholas Ignoffo cdfc77be03 Cleanup ritual events (#1256)
Also actually fire the imperfect one ¬_¬
2018-03-23 16:18:16 -07:00
WayofTime 25f492ef65 *Hopefully* make Nut cry a bit less. 2018-03-23 13:24:33 -04:00
WayofTime dd6b5bd3b5 Added an example item whose variants use the same textures but different colours for the layers. 2018-03-23 11:02:43 -04:00
Nicholas Ignoffo f535e331dd Removed all usages of PleaseStopUsingMe 2018-03-17 22:30:14 -07:00
Nicholas Ignoffo 77e5beb9e1 Fully remove old LogHelper usage 2018-03-17 17:18:20 -07:00
Nicholas Ignoffo 924dc7b38d Fix server crash when handling dye recipes (#1250) 2018-03-13 23:10:13 -07:00
Nicholas Ignoffo 46389368ec Fix default potion flask recipe 2018-03-12 16:20:32 -07:00
Nicholas Ignoffo c7af09a458 Fixed Master Blood Orb cost (#1248)
This has been wrong for almost 2 years now. Neat.
2018-03-11 12:48:49 -07:00
WayofTime bbe026dda9 Added a new (slightly WIP?) array, the Turret Array 2018-03-11 11:19:34 -04:00
Nicholas Ignoffo ecb81a7017 A bit more altar cleanup 2018-03-10 00:07:19 -08:00
Nicholas Ignoffo e2d2ecb3ba Run formatter on build.gradle 2018-03-09 23:53:56 -08:00
Nicholas Ignoffo eada60f436 Some altar cleanup and renaming 2018-03-09 18:00:04 -08:00
Nicholas Ignoffo fefeaf26af Holding sigil can provide it's own mesh provider now 2018-03-07 19:55:32 -08:00
Nicholas Ignoffo 554993ea79 Cleanup model registration 2018-03-07 19:43:00 -08:00
WayofTime c4527d157f Worked on the Laputa array. Yes, I went there. 2018-03-07 19:58:59 -05:00
qianzha c079da7969 Update zh_CN.lang (#1240)
* Update zh_CN.lang

* Update zh_CN.lang

* Update zh_TW.lang
2018-03-07 16:12:52 -08:00
Nicholas Ignoffo b011623333 Switch ritual component gathering to a Consumer rather than direct list access 2018-03-05 00:10:30 -08:00
WayofTime 3a83b4ca8a Increased the max number of items transferable by the Master Routing Node in its system to 64 per second. 2018-03-04 19:11:46 -05:00
Nicholas Ignoffo 2b86e5c8ad More removal of BlockStack usages 2018-03-04 10:47:15 -08:00
Nicholas Ignoffo 8a61741e0d Rewrite Transposition Sigil 2018-03-04 10:15:03 -08:00
Nicholas Ignoffo 3f5178dd6a A bit of Ritual cleanup
Slowly getting rid of these BlockStack references. Slowly moving towards
a proper "API" in our internals.
2018-03-04 09:17:24 -08:00
WayofTime 986852e265 Added the ability to set the array to no longer drop its ingredients.
- I need to just change all of the files to my format, so Nut doesn't cry each push.
2018-03-04 09:36:03 -05:00
WayofTime e2f7772e82 Improved the Ellipsoid effect. 2018-03-04 09:29:19 -05:00
Nicholas Ignoffo 81ad9bf764 Cleaner fuel handling 2018-03-03 19:17:06 -08:00
Nicholas Ignoffo 927fc6498f Cleanup harvest handling 2018-03-03 19:16:53 -08:00
WayofTime 7a02783e31 Changed the recipe of the Teleport array. 2018-03-02 15:29:45 -05:00
WayofTime 08031e65f8 Fixed client-sided crash in the Blood Light sigil by rearranging a few arguments. 2018-03-02 15:21:51 -05:00
Nicholas Ignoffo 4a709157b8 Merge remote-tracking branch 'origin/1.12' into 1.12 2018-03-02 11:52:32 -08:00
WayofTime 022fe00847 Worked on the Ellipsoid Ritual (currently disabled). No, it is not used to summon mathematical demons. 2018-03-02 14:46:59 -05:00
Nicholas Ignoffo f025407014 Move fuel handling to new event 2018-03-01 19:40:37 -08:00
Nicholas Ignoffo 70d98455b7 Cleaned up a lot of different inspections 2018-03-01 19:27:39 -08:00
Nicholas Ignoffo 0dd0854bd9 Move all SysOut references to debug logging 2018-03-01 18:23:56 -08:00
Nicholas Ignoffo b1be099d67 Update changelog + version 2018-02-28 18:06:39 -08:00
Nicholas Ignoffo 91d7f23b4f Add API method for registering recipes at proper time
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.
2018-02-28 17:53:23 -08:00
Nicholas Ignoffo 395f1188e7 Put fast miner array back up at Haste 3
It was ~~our~~ my fault.
2018-02-27 18:19:41 -08:00
WayofTime d783c1419b Merge branch '1.12' of https://github.com/wayoftime/bloodmagic into 1.12 2018-02-27 21:18:07 -05:00
WayofTime f4b72bed8b Added temp recipe to try out a new Teleport array. Don't stick only your hand in it, though. 2018-02-27 21:17:31 -05:00
Nicholas Ignoffo caab4dcbef Fix rituals crashing when deserializing the owner 2018-02-27 18:17:30 -08:00
Nicholas Ignoffo eaf4bfb857 Fix Haste being... *constricted* when above level 2 (#1239) 2018-02-27 18:17:03 -08:00
Nicholas Ignoffo 2a43e53842 Rewrite IBindable to provide an object instead of storing 2 strings 2018-02-27 16:59:51 -08:00
WayofTime 941173dbf4 Added book entry for the Burning Furnace array. 2018-02-27 17:25:41 -05:00
WayofTime 57c25f0064 - Added the Furnace Array (name pending), which takes health from nearby players to power adjacent furnaces. Not covered by standard medical insurance. 2018-02-24 20:31:09 -05:00
Nicholas Ignoffo bf2fe1166e Safety for UUID check in lava crystal (#1238)
some weird mod was doing weird tooltip things weirdly
2018-02-23 16:47:34 -08:00
Nicholas Ignoffo cf9e6e207f Add Discord badge to readme 2018-02-21 18:03:36 -08:00
Nicholas Ignoffo 106532061d Alchemy Table now supports new recipe API 2018-02-19 15:41:18 -08:00
Nicholas Ignoffo 562e62725c Add Sulfur and Saltpeter to OreDict (#1235) 2018-02-19 14:07:44 -08:00
Nicholas Ignoffo 77bdbed8b5 Nullcheck tile in Lava/Water/Void sigils (#1236) 2018-02-19 14:06:05 -08:00
Nicholas Ignoffo 0beef19ba1 Seer Sigil should display tranquility data (#1234) 2018-02-19 14:04:32 -08:00
Nicholas Ignoffo 7a288a7292 Update changelog + version 2018-02-18 16:05:11 -08:00
Nicholas Ignoffo 37c8012741 Ignore blank inscription tools 2018-02-18 15:56:03 -08:00
Nicholas Ignoffo 64336f6f78 Sigils should only stack to 1 2018-02-18 15:55:52 -08:00
Nicholas Ignoffo c5b0b61315 Add HUD elements for tranquility (#1233) 2018-02-18 15:55:40 -08:00
Nicholas Ignoffo ea47db3e5d Wrong extenderoo 2018-02-18 14:33:50 -08:00
Nicholas Ignoffo ee42f6ddc2 Slates and inscription tools should use ItemEnum properly 2018-02-18 14:20:36 -08:00
Nicholas Ignoffo 600326acce Update changelog + version 2018-02-17 16:56:16 -08:00
Nicholas Ignoffo 74eaabff8e Bounce array now behaves as a pillow while sneak (#1196) 2018-02-17 16:37:04 -08:00
Nicholas Ignoffo c05336ac9f "Temporarily" disable cross-dimension entity teleports 2018-02-17 16:27:57 -08:00
Nicholas Ignoffo 539879dbd7 Mod ID filter should only be based on the modid (#1179)
Dangit way
2018-02-17 16:10:27 -08:00
Nicholas Ignoffo 0cb9d66c81 Satiated Stomach will now let you gorge yourself if you're really hungry (#1188)
If the user is below 5 saturation, it will no longer ignore above-max saturation
foods.
2018-02-17 15:50:11 -08:00
Nicholas Ignoffo 6ffe4b8f58 Fix localization for augmented capacity and self sacrifice runes 2018-02-17 15:36:50 -08:00
Nicholas Ignoffo 41baaaf28e YARTF (yet another ray trace fix) (#1228) 2018-02-17 15:07:54 -08:00
Nicholas Ignoffo 441e7b8952 Fix Lava Crystal being consumed 2018-02-17 10:38:33 -08:00
Nicholas Ignoffo b0b62de7fd Mark builds as alpha status 2018-02-17 10:14:53 -08:00
Nicholas Ignoffo 009711583e Update changelog + version 2018-02-17 10:08:23 -08:00
Nicholas Ignoffo 90a071ae23 Fix some logger usages 2018-02-17 09:54:29 -08:00
Nicholas Ignoffo f89b5a005a Logging for plugin gathering
Moved spammy API stuff to a separate logger
2018-02-17 09:48:17 -08:00
Nicholas Ignoffo f49e661eb6 Make sure we're looking at a block before doing blocky things (#1227) 2018-02-17 09:26:35 -08:00
Nicholas Ignoffo 0e986a0bdf Slightly alter the altar renderer 2018-02-16 23:58:24 -08:00
Nicholas Ignoffo b29ade63f0 Logging overhaul 2018-02-16 23:48:28 -08:00
Nicholas Ignoffo 29c2ebe8c2 Update changelog + version 2018-02-16 17:36:26 -08:00
Nicholas Ignoffo 49394b56d6 Coerced augmented flask recipe outputs out of hiding (#1200) 2018-02-16 17:10:00 -08:00
Nicholas Ignoffo 5920d9124d Blood Altar will now be less stingy without outputs 2018-02-16 16:48:21 -08:00
Nicholas Ignoffo e4e6a8c4ca Cleanup Altar Upgrade system 2018-02-16 16:37:02 -08:00
Nicholas Ignoffo 2fecb427fd Merge apibutnotreally with the main packages
Do not consider anything outside of the true API safe to use. And even then,
I'm changing things. Just wait. Please I beg you.
2018-02-15 18:49:07 -08:00
Nicholas Ignoffo 616c08094b Run formatter 2018-02-14 23:38:57 -08:00
Nicholas Ignoffo 2afc235af7 Move API to it's own source set 2018-02-14 23:37:23 -08:00
Nicholas Ignoffo c03af41c88 Some subitem cleanup
Still lots left to do. This will help prepare for The Flattening.
2018-02-13 23:32:15 -08:00
Nicholas Ignoffo 65b89795bc Remove unnecessary base bindable class
Jarbo 8 exists
2018-02-13 17:24:06 -08:00
Nicholas Ignoffo 3fb708d2be Fixed crafting order of decor bricks so polished is no longer a lonely boi (#1221) 2018-02-13 16:57:21 -08:00
Nicholas Ignoffo fa59e7000a Mark of the Falling Tower now demands sacrifices again (#1222) 2018-02-13 16:31:30 -08:00
Nicholas Ignoffo 7167aba23c Move Divination output to a HUD element
RIP chat spam 2014-2018

:hype:
2018-02-12 19:45:09 -08:00
Nicholas Ignoffo 3286849309 Nerf fast miner array which is actually a buff (#1219)
I guess Vanilla can't handle Haste III?
2018-02-11 15:02:55 -08:00
Nicholas Ignoffo 33d6cdb3a9 Fix mundane component being really really really thirsty (#1218) 2018-02-11 14:43:00 -08:00
Nicholas Ignoffo beb71e4c41 Include a dummied version of the alchemy table recipe method so it builds 2018-02-11 12:02:44 -08:00
Nicholas Ignoffo ab09b4f052 Update changelog + version 2018-02-11 11:59:59 -08:00
Nicholas Ignoffo f974f44aeb Fixup Alchemy Array JEI compat 2018-02-11 11:53:45 -08:00
Nicholas Ignoffo 123b06c288 Alchemy arrays should mostly function now (#1202)
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.
2018-02-11 11:40:13 -08:00
Nicholas Ignoffo 4b5f8a9685 Move entity registry to new Forge system 2018-02-11 10:16:09 -08:00
Nicholas Ignoffo 163fe864e5 Soul Snares should not trigger on players. Especially not in a weird way (#1216) 2018-02-11 10:15:16 -08:00
Nicholas Ignoffo 47482b6add Javadoc the new API 2018-02-11 00:39:04 -08:00
Nicholas Ignoffo aa5bf18552 Fix version replacement 2018-02-11 00:09:04 -08:00
Nicholas Ignoffo 03fece58fa Rewrite Hwyla integration
Now properly makes use of the API
2018-02-08 19:01:12 -08:00
Nicholas Ignoffo 9f6a4983a6 Update JEI compat for Forge and Altar 2018-02-07 21:45:40 -08:00
Nicholas Ignoffo 2d3f86aaf8 Fixup Soul Forge crafting 2018-02-07 18:46:18 -08:00
Nicholas Ignoffo e3cef5ee76 Add support for being in the mood to run on dedicated servers (#1211) 2018-02-07 17:02:53 -08:00
Nicholas Ignoffo 80e7b50dde Move Soul Forge to new recipe API 2018-02-06 22:17:06 -08:00
Nicholas Ignoffo 57591973a3 Move Altar to new recipe API 2018-02-06 21:40:50 -08:00
Nicholas Ignoffo 50fd02b6aa Missed some value manager references 2018-02-06 21:27:23 -08:00
Nicholas Ignoffo f8c734bc96 Implemented new Tranquility value API
For quick compat, mods can now register a static state-based tranquility
value for their blocks. More
2018-02-06 21:24:40 -08:00
Nicholas Ignoffo d67ed054ff New recipe registration API 2018-02-06 19:18:29 -08:00
Nicholas Ignoffo 59f171ca5b Forgot lang 2018-02-06 19:00:15 -08:00
Nicholas Ignoffo 739c1aa05f Cleaner sub-item implementation
Todo: Move more sub items to use it
2018-02-06 18:59:47 -08:00
Nicholas Ignoffo 92fa6cd7f7 Update changelog + version 2018-02-06 17:33:02 -08:00
Nicholas Ignoffo 8be8cc30b9 nullcheck obtained entity entries (#1206, 1207)
No idea what's going on here but aight
2018-02-06 17:04:04 -08:00
Nicholas Ignoffo 27e41e2e77 Fix crash when obtaining owner from an unbound bindable item (#1205) 2018-02-05 17:56:06 -08:00
Nicholas Ignoffo e79f6c44d6 Fix crash on servers (#1204) 2018-02-05 17:37:23 -08:00
Nicholas Ignoffo 63f88f6bff Sorted out the sentient sword's identity crisis (#1201) 2018-02-05 17:36:13 -08:00
Nicholas Ignoffo 1205c41712 Fix GUIs not rendering backgrounds and tooltips (#1203) 2018-02-05 17:25:25 -08:00
Nicholas Ignoffo ddaadfbe52 Swap the API packages
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.
2018-02-05 17:04:46 -08:00
Nicholas Ignoffo 4fbcac6aa2 Fix JEI slug 2018-02-04 19:29:04 -08:00
Nicholas Ignoffo 3f4407e866 Update changelog
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.
2018-02-04 19:21:09 -08:00
Nicholas Ignoffo 3536a25cc3 Add modid to subscriber annotations
(cherry picked from commit 7cac007)
2018-02-04 19:16:09 -08:00
Nicholas Ignoffo 8a4117106d Stop using a custom bus subscriber annotation
I'm sorry, past self, but Forge has had one since like 1.10, it's time to
move on. It's for the better.

(cherry picked from commit 9de2354)
2018-02-04 19:15:37 -08:00
Nicholas Ignoffo 66ea131377 Fix JEI not seeing orbs as different items 2018-02-04 19:12:24 -08:00
Nicholas Ignoffo acdf40e2b6 Update tile entity mappings
(cherry picked from commit c00affa)
2018-02-04 19:10:07 -08:00
Nicholas Ignoffo 42931bcf0e JSON recipes, much to the displeasure of Elucent and shadows
feelsgoodman

(cherry picked from commit c23d577)
2018-02-04 19:09:37 -08:00
Nicholas Ignoffo cc8d5af401 Rename meteor files to lowercase
(cherry picked from commit 59df51a)
2018-02-04 19:02:07 -08:00
Nicholas Ignoffo d99cf77288 Move config to annotation system
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)
2018-02-04 19:01:27 -08:00
Nicholas Ignoffo a10b2ece9a Fixed altar detection 2017-08-16 17:29:24 -07:00
Nicholas Ignoffo 37ec0582eb Fixed the last of the model errors 2017-08-16 16:39:57 -07:00
Nicholas Ignoffo 3b173ecf17 Some models work, some don't 2017-08-15 23:01:37 -07:00
Nicholas Ignoffo 08258fd6ef Run formatter 2017-08-15 21:30:56 -07:00
Nicholas Ignoffo 61c44a831b Fix some things that went missing 2017-08-15 21:24:59 -07:00
Nicholas Ignoffo 348fee1e2a It compiles. Somehow. 2017-08-15 20:21:55 -07:00
Nicholas Ignoffo 554c9852e6 Move commonly used API systems to a plugin based system
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
2017-08-15 18:14:28 -07:00
Nicholas Ignoffo 5fcdd978d7 this doesn't compile yet, but have something to peek at 2017-08-14 20:53:46 -07:00
Nicholas Ignoffo 973f1019a5 Update changelog + version
(cherry picked from commit 730b26b)
2017-06-21 20:13:52 -07:00
Nicholas Ignoffo 8c12b48695 Fix ItemStackWrapper ignoring stack's NBT (#1155)
who even made this class i mean come on this is such a stupid thing to do like omgwtf what a moron
2017-06-21 19:14:25 -07:00
Nicholas Ignoffo 16d4609a48 Fix HarvestHandlerStem not working (#1165) 2017-06-21 19:11:08 -07:00
Graham Hughes 061850ee29 Add crop support for Pam's Harvestcraft and Roots herbs (#1164)
* Add harvest ritual support for Pam's crops.

* Add roots crops.

* Per @TehNut, use BM instance logger.

* Call getMaxAge rather than hardcode 3.
2017-06-21 18:46:42 -07:00
Nicholas Ignoffo f576ec595b Fix some inverted logic with Sentient Mimics (#1149) 2017-06-01 22:31:17 -07:00
Nicholas Ignoffo 273dca3e4d Fix client not registering capability (#1150) 2017-06-01 22:17:46 -07:00
Nicholas Ignoffo f7b8dc0d84 API-facing methods for removing recipes (#1152) 2017-06-01 22:16:24 -07:00
Nicholas Ignoffo 95634f01c3 Merge remote-tracking branch 'origin/1.11' into 1.11 2017-05-27 16:04:55 -07:00
Nicholas Ignoffo 6656fe58dc Moved living armor notifications to action bar 2017-05-27 16:04:40 -07:00
NoX-programer e95b6f3bf2 Update ru_RU.lang: fix many typos (branch 1.11) (#1148)
* Update ru_RU.lang

* Update ru_RU.lang
2017-05-24 06:00:48 -07:00
Nicholas Ignoffo 38e54a4e2f Fixed NPE in Fluid Filter (#1139)
(cherry picked from commit 9a7db20)
2017-05-23 18:56:43 -07:00
Nicholas Ignoffo e9ce88fc73 Fixed capacity on tank being reset when tile was reloaded (#1138) 2017-05-23 18:53:32 -07:00
Nicholas Ignoffo 2c08d046f8 Node Router now prints to action bar instead of chat 2017-05-21 13:45:24 -07:00
Nicholas Ignoffo abef1bada7 Add support for ExU and AA crops to plantable handler (#1107)
Theoretically. Don't actually know if their stuff is written properly.
2017-05-21 13:08:29 -07:00
Nicholas Ignoffo c7f644528b Fix permission level for commands (#1117) 2017-05-21 12:56:51 -07:00
Nicholas Ignoffo 5b9bb07d8d Large Bloodstone Bricks should get 4 from crafting (#1125) 2017-05-21 12:29:52 -07:00
Nicholas Ignoffo a2ceee3218 Fix diamond meteor giving blocks + dynamically calculate weight (#1126) 2017-05-21 12:25:35 -07:00
Nicholas Ignoffo 66e3066dc9 Update changelog + version 2017-05-08 19:39:31 -07:00
Nicholas Ignoffo 2789e351c0 Bound tools now properly mark themselves as tools
Because *somebody* forgot to do that.

(cherry picked from commit 717279d)
2017-05-08 19:37:38 -07:00
Nicholas Ignoffo 7c19e2e2d2 Sanity check pos passed by client
Prevents malicious clients from loading arbitrary chunks.

Thanks to @pau101 for spotting it.
2017-04-30 17:20:17 -07:00
Nicholas Ignoffo 09bab4fca0 Update changelog + version
(cherry picked from commit 078ab16)
2017-04-03 18:04:23 -07:00
Nicholas Ignoffo bffd191efd Re-implement Soul Fray on death
This should be all that's needed
2017-04-03 17:57:40 -07:00
Nicholas Ignoffo 83bba44ab6 Forgot to lowercase these 2017-04-03 17:32:20 -07:00
NatsuArashi dd7f94e756 Traditional Chinese update. (#1116)
* Update zh_TW.lang

* Create zh_TW.lang

* Update zh_TW.lang

(cherry picked from commit f44ad3a)
2017-04-03 17:10:35 -07:00
Nicholas Ignoffo 805576a19b Allow commands to be used in command blocks (#1117) 2017-04-03 17:03:46 -07:00
Nicholas Ignoffo 78a71e47e0 Fix Alchemy Table overwriting output each time it crafts (#1119) 2017-04-03 16:56:21 -07:00
Nicholas Ignoffo de0fd9d719 Update changelog + version
(cherry picked from commit 0b0ec65)
2017-03-28 19:44:31 -07:00
Urey. Xue 22e3d4d62c Update zh_CN.lang (#1052)
* 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)
2017-03-28 19:35:31 -07:00
Nicholas Ignoffo ed59c4633e Fixed null stack in plantable harvest handler 2017-03-28 19:07:16 -07:00
Nicholas Ignoffo 487c7e4aa3 Forgot one... 2017-03-28 18:48:27 -07:00
Nicholas Ignoffo f17f284575 Nullcheck the ritual activator (#1113) 2017-03-28 18:45:45 -07:00
Nicholas Ignoffo 3134f6b9f3 Fix bound tools not checking if they're bound (#1114) 2017-03-28 18:40:24 -07:00
Nicholas Ignoffo d524cc32b7 Another null stack in the Sentient Specters 2017-03-28 18:32:25 -07:00
Nicholas Ignoffo 07e025d635 Fix README 2017-03-28 18:32:08 -07:00
Nicholas Ignoffo 7cafd833c3 Fix fluid dupe when inserting into blood tank with bucket (#1108) 2017-03-20 22:37:23 -07:00
Nicholas Ignoffo a5a47c42aa Rewrite the placer ritual
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
2017-03-14 20:17:57 -07:00
Nicholas Ignoffo 216bdb2d2e Fixed many sigils using the wrong stack for their logic (#1102)
This is why you use custom methods for things like this instead of MC methods
2017-03-14 19:33:13 -07:00
Nicholas Ignoffo 41c2f37042 Change lots of recipes to use oredict (#1101)
I probably missed a few
2017-03-14 19:13:08 -07:00
Nicholas Ignoffo 350c7cde42 Update changelog + version 2017-03-13 16:21:30 -07:00
Nicholas Ignoffo 68ca7cf9a5 Fix Grave Digger not applying damage bonus (#1098) 2017-03-13 16:14:07 -07:00
A_D 35ceb9d21e fixed inconsistent altar tier readout with seer's sigil (#1094)
(cherry picked from commit 2b92151)
2017-03-13 16:04:36 -07:00
Nicholas Ignoffo 0208d5412c Fix crash when meteor hits (#1088) 2017-03-11 16:09:57 -08:00
Nicholas Ignoffo 9cea8e8b73 Fix dupe with Crash of the Timberman (#1090)
Also took the time to add IItemHandler support
2017-03-11 16:01:00 -08:00
Nicholas Ignoffo c4f04b1589 Fix another null check crash (#1091) 2017-03-11 15:53:43 -08:00
Nicholas Ignoffo 7c8e9b6d8d Move some of the ritual chat lines to action bar 2017-03-08 18:00:36 -08:00
Nicholas Ignoffo 0940c9ea92 Update changelog + version 2017-03-07 17:34:59 -08:00
majikguy b4603a4b9a Entity Registration Fix (#1087)
* 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.
2017-03-07 16:17:18 -08:00
Nicholas Ignoffo 85a16ac075 Should fix Blood Light being collidable (#1083)
Why did this only occur in obfuscated environments?
2017-03-06 16:18:55 -08:00
Nicholas Ignoffo 333ad6a09e Fix null stacks in Utils class 2017-03-06 16:09:11 -08:00
Nicholas Ignoffo fceb50bd00 Initialize default altar result as empty stack (#1086) 2017-03-06 16:05:52 -08:00
Nicholas Ignoffo 52861ef7c2 Fix Cutting Fluid returning null when it empties (#1082) 2017-03-05 10:44:55 -08:00
Nicholas Ignoffo 3a707df23c Fix inability to remove gem from crucible (#1079) 2017-03-05 10:38:23 -08:00
Nicholas Ignoffo f083e4e036 Fix Sigil of Holding (#1081) 2017-03-05 10:28:06 -08:00
Nicholas Ignoffo 4e5bc46e21 Fix JEI not displaying armor tomes 2017-03-03 17:21:36 -08:00
majikguy 58db36033a Fixed a typo that made stage 4 of the Body Builder upgrade 5x as difficult as stage 5. (#1080)
(cherry picked from commit 9540df7)
2017-03-03 16:57:26 -08:00
Nicholas Ignoffo fd54ab0458 Fix tartaric gem returning null (#1068) 2017-03-03 16:45:53 -08:00
neconeco2 b1670cdbd5 Update ja_JP.lang (#1076)
(cherry picked from commit 22354ea)
2017-03-02 20:37:32 -08:00
Nicholas Ignoffo 5e2ef61e07 Update changelog + version 2017-03-02 17:52:53 -08:00
Nicholas Ignoffo 203a2f5fc7 Fix off by 1 letter in inventory serialization (#1072) 2017-03-02 17:36:28 -08:00
Nicholas Ignoffo f3d980ee89 Rewrite Hymn of Syphoning for caps
Needs testing and needs to be optimized.

(cherry picked from commit 3f24e46)
2017-03-02 17:01:23 -08:00
Nicholas Ignoffo 3cbfb0a40f Sort rituals by component count to avoid conflicts (#1070)
Large rituals can now use, for example, the Serenade of the Nether layout if wanted.

(cherry picked from commit 0b93c11)
2017-03-02 16:59:08 -08:00
Nicholas Ignoffo 4e7f0d12f9 Fix Alchemy Table JEI compat being fundamentally wrong (#1069)
(cherry picked from commit fedea85)
2017-03-02 16:57:51 -08:00
Nicholas Ignoffo 8360041da2 Child mobs are now viable for sacrifice at half the rate
(cherry picked from commit 719cff0)
2017-03-02 16:53:29 -08:00
Nicholas Ignoffo 6ac31ba1e8 Dagger of Sacrifice should not work for FakePlayers
(cherry picked from commit c4f9270)
2017-03-02 16:52:53 -08:00
Nicholas Ignoffo 45faf42167 Fix OBO when getting blood tank capacity (#1066) 2017-02-25 14:07:11 -08:00
Nicholas Ignoffo 40bac68190 Break early if activation crystal isn't bound
Fixes annoying and usually false "not configured correctly" message.

https://redd.it/5vte95

(cherry picked from commit 32668f7)
2017-02-23 20:03:26 -08:00
Nicholas Ignoffo 72bf53f8d3 Fix crash when teleposing Demon Will Crystals (#1062)
(cherry picked from commit 970acd4)
2017-02-23 19:47:01 -08:00
Nicholas Ignoffo 88efd672d5 Fix crash when using newly created toggle sigils (#1059)
(cherry picked from commit b55b453)
2017-02-22 16:28:57 -08:00
Nicholas Ignoffo 0927fa16f6 Special case RAW will when converting enums
(cherry picked from commit e8f0194)
2017-02-22 16:27:44 -08:00
Nicholas Ignoffo 91aeb4bf48 Update version + changelog 2017-02-21 16:52:39 -08:00
Nicholas Ignoffo a7a6b1fddc Fix oddity with comparators on Altars (#1058)
*shakes fist at @Arcaratus*

(cherry picked from commit 461c476)
2017-02-21 16:13:23 -08:00
Nicholas Ignoffo da1bb01ff0 Return past functionality to canCombine 2017-02-20 14:15:41 -08:00
Nicholas Ignoffo 93d7efcb40 Fix crash when creating a tank stack with meta > 15 (#1057)
Also finally fixes the tanks so they properly drop themselves.
2017-02-20 13:47:36 -08:00
Nicholas Ignoffo 58d11dfbdc Fix Sigil of Holding crash when opening gui (#1056) 2017-02-20 13:13:15 -08:00
Nicholas Ignoffo 5475549c18 More null stack fixes 2017-02-19 16:06:29 -08:00
Nicholas Ignoffo c682571be0 Update version + changelog 2017-02-19 14:48:21 -08:00
Nicholas Ignoffo 72c321acb0 Implement an inverted MRS that requires an RS signal to function (#1022)
(cherry picked from commit ddb7542)
2017-02-19 14:41:06 -08:00
Nicholas Ignoffo 64bc427c1c Missed a couple files
(cherry picked from commit f0e3aa6)
2017-02-19 14:38:28 -08:00
Nicholas Ignoffo 49b8c40e6a More proper fix for #1019
(cherry picked from commit 2ee2cc5)
2017-02-19 14:38:02 -08:00
Nicholas Ignoffo cdb5127598 Fix ore doubling potentially adding invalid recipes (#1051)
(cherry picked from commit 9027f76)
2017-02-19 14:34:19 -08:00
Nicholas Ignoffo d41e1a5a23 Update README
(cherry picked from commit 9cbec7d)
2017-02-19 14:34:06 -08:00
Nicholas Ignoffo 8259676d1b Downgrade tomes are now know that they're downgrades
Also Disoriented is localized finally

(cherry picked from commit e092161)
2017-02-19 14:33:56 -08:00
neconeco2 61bf9c1b08 Update ja_JP.lang (MC1.11) (#1050) 2017-02-13 12:12:45 -08:00
Nicholas Ignoffo c13be9ebce Cache the bound SoulNetwork for rituals
Avoids looking up the map data once or more each tick
2017-02-12 17:00:18 -08:00
Nicholas Ignoffo 59c20971ab Fix Curse version marking 2017-02-12 16:14:58 -08:00
Nicholas Ignoffo 2b634e20f7 Update version + changelog 2017-02-12 16:13:19 -08:00
Nicholas Ignoffo b0d35577a9 Fix server crash when adding categories to book (#1046) 2017-02-12 16:11:55 -08:00
Nicholas Ignoffo b00fe38e02 Update version + changelog 2017-02-12 11:24:56 -08:00
Nicholas Ignoffo 1728ba7b83 Migrate alchemy table blocking to a boolean array 2017-02-12 11:09:39 -08:00
Nicholas Ignoffo 2db775346c Fix crash when unblocking slot in alchemy table
why way why

`boolean[] blocked = new boolean[slotCount]` :I
2017-02-12 01:59:30 -08:00
Nicholas Ignoffo ac5cf52151 Fix some model errors 2017-02-12 01:39:19 -08:00
Nicholas Ignoffo 7f50780d2f Fix modid references in API javadoc 2017-02-12 01:36:01 -08:00
Nicholas Ignoffo f135dab7ba IMC API for adding new altar components (#1039)
CC @Drullkus

(cherry picked from commit 8a8bff8)
2017-02-12 01:34:51 -08:00
pksiazek 9010cebc40 #1036 Fixed Living Armor sacrifical upgrade (#1037)
(cherry picked from commit 6802bc5)
2017-02-12 01:34:34 -08:00
Nicholas Ignoffo d0e9174446 Bound tools should drain LP (#1033)
(cherry picked from commit 59920ef)
2017-02-12 01:34:20 -08:00
Nicholas Ignoffo 86ea69eaca Temporarily remove item rendering for tank fluid
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)
2017-02-12 01:33:48 -08:00
Nicholas Ignoffo 53afcc2fb0 No-spam messages should be handled on the main thread (#1035)
(cherry picked from commit 305e001)
2017-02-12 01:31:58 -08:00
Nicholas Ignoffo 930660bc30 Update Blood Tank model and texture
Thanks @InsomniaKitten

Need to rewrite inventory model handler because you *cannot* use GL there.

(cherry picked from commit 6ff12aa)
2017-02-12 01:31:37 -08:00
Nicholas Ignoffo 11fe41c654 Fix durability bars 2017-01-02 02:28:02 -08:00
Nicholas Ignoffo e845332846 Fix compile/model errors 2017-01-02 02:07:52 -08:00
Nicholas Ignoffo 78093631c5 Empty flasks can now be refilled (#976)
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)
2017-01-02 01:59:24 -08:00
Nicholas Ignoffo f3f1dfb08a Fix Expulsion whitelist (#1010)
(cherry picked from commit b6eae2f)
2017-01-02 01:58:31 -08:00
Nicholas Ignoffo 91a900d84e Add current charge to Waila tooltip (#1013)
(cherry picked from commit c7f2b7d)
2017-01-02 01:58:24 -08:00
Nicholas Ignoffo 4c3938c0f9 Change meteor config NPE with EnderCore to a useful error message
(cherry picked from commit 09007c5)
2017-01-02 01:57:44 -08:00
Nicholas Ignoffo 1f3686720c Gold meteor only needs it's version set once
(cherry picked from commit fffed0e)
2017-01-02 01:57:42 -08:00
Nicholas Ignoffo e0c0d095df Fix meteor config not generating new defaults
(cherry picked from commit 5c1b8b1)
2017-01-02 01:57:35 -08:00
Nicholas Ignoffo bd4efb1320 Blacklist sentient spectres from WoS and Sacrifice (#1015)
A config refresh is required for this to take effect. Needs mentioning in changelog.

(cherry picked from commit a5449d3)
2017-01-02 01:57:29 -08:00
WayofTime e8dd07893e Added a null check for the Will getter for the Aura incase the WillChunk somehow does not generate. (#1011)
(cherry picked from commit f083071)
2017-01-02 01:57:23 -08:00
WayofTime 60eba2071d Made it so the book does not give the filling recipe when the Blood Orb recipe is queried.
(cherry picked from commit afa3d1e)
2017-01-02 01:57:17 -08:00
Nicholas Ignoffo c46ed3e648 Sigils should draw LP from the bound network, not the user
(cherry picked from commit 082d2b8)
2017-01-02 01:57:07 -08:00
tartaric_acid 852d32f233 Update zh_CN file (#1003)
* Update zh_CN file

* Fix some mistakes (WIP)

* Finish all fix

* Fix some mistakes

(cherry picked from commit ae2ff03)
2017-01-02 01:35:48 -08:00
WayofTime 65104db564 Added Fluid routing to the routing nodes - this is done by using the Fluid Filter and placing a fluid container as the filter.
(cherry picked from commit a5a17f6)
2017-01-02 01:34:33 -08:00
Nicholas Ignoffo a628adfde8 Lowercase all the tooltip strings 2017-01-02 01:18:29 -08:00
Nicholas Ignoffo 574056203d Fix JEI compat 2017-01-02 01:18:02 -08:00
Nicholas Ignoffo 4ec321aaac Annnd they're back 2017-01-02 00:19:45 -08:00
Nicholas Ignoffo c34ee90b4e Okay let's fix these the hard way. 2017-01-02 00:18:39 -08:00
Nicholas Ignoffo ed27873fbe It runs! 2017-01-02 00:10:28 -08:00
Nicholas Ignoffo 51e10eaad2 Everything else except sigils 2017-01-01 22:26:42 -08:00
Nicholas Ignoffo 128b3d29b0 Lowercase modid 2017-01-01 21:50:35 -08:00
Nicholas Ignoffo f5a68adc2e Remove all the package-info.java's
Except the API one
2017-01-01 21:49:52 -08:00
Nicholas Ignoffo d80afb18f0 More progress 2017-01-01 21:43:34 -08:00
Nicholas Ignoffo 00d6f8eb46 Initial stab at 1.11
About halfway.
2016-12-12 19:56:37 -08:00
3029 changed files with 79636 additions and 92053 deletions

4
.gitignore vendored
View file

@ -28,12 +28,10 @@ crash-reports/
*.iws
*.classpath
*.project
*.launch
# Specific files
Thumbs.db
usernamecache.json
options.txt
BloodMagic_Client.launch
BloodMagic_Server.launch
usercache.json

Binary file not shown.

View file

@ -0,0 +1,2 @@
connection.project.dir=
eclipse.preferences.version=1

View file

@ -1,299 +1,392 @@
#
#Sat Apr 02 15:31:00 EDT 2016
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.comment.format_source_code=true
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
org.eclipse.jdt.core.formatter.comment.format_header=false
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=1
org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
org.eclipse.jdt.core.formatter.comment.line_length=80
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
org.eclipse.jdt.core.formatter.continuation_indentation=2
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.comment.format_block_comments=true
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
org.eclipse.jdt.core.formatter.comment.format_html=true
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=1
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
org.eclipse.jdt.core.formatter.use_on_off_tags=true
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
org.eclipse.jdt.core.formatter.comment.format_line_comments=false
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
org.eclipse.jdt.core.formatter.indent_empty_lines=false
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.alignment_for_compact_if=49
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
org.eclipse.jdt.core.formatter.lineSplit=600
org.eclipse.jdt.core.compiler.source=1.6
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=next_line
eclipse.preferences.version=1
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
org.eclipse.jdt.core.codeComplete.fieldPrefixes=
org.eclipse.jdt.core.codeComplete.fieldSuffixes=
org.eclipse.jdt.core.codeComplete.localPrefixes=
org.eclipse.jdt.core.codeComplete.localSuffixes=
org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
org.eclipse.jdt.core.formatter.align_with_spaces=false
org.eclipse.jdt.core.formatter.alignment_for_additive_operator=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=1
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=1
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=1
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=1
org.eclipse.jdt.core.formatter.alignment_for_assertion_message=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=0
org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
org.eclipse.jdt.core.formatter.alignment_for_logical_operator=0
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=1
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=0
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=1
org.eclipse.jdt.core.formatter.alignment_for_record_components=16
org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=1
org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=0
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=17
org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=next_line
org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
org.eclipse.jdt.core.formatter.comment.format_block_comments=true
org.eclipse.jdt.core.formatter.comment.format_header=false
org.eclipse.jdt.core.formatter.comment.format_html=true
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
org.eclipse.jdt.core.formatter.comment.format_line_comments=true
org.eclipse.jdt.core.formatter.comment.format_source_code=true
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
org.eclipse.jdt.core.formatter.comment.line_length=80
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.continuation_indentation=2
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_empty_lines=false
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_if_empty
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_preserve
org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=true
org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=true
org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false
org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=true
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never
org.eclipse.jdt.core.formatter.lineSplit=120
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.text_block_indentation=0
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter

View file

@ -1,7 +1,12 @@
eclipse.preferences.version=1
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=_BloodMagic1.8
formatter_settings_version=12
formatter_profile=_WayofTime-Dev
formatter_settings_version=20
org.eclipse.jdt.ui.exception.name=e
org.eclipse.jdt.ui.gettersetter.use.is=true
org.eclipse.jdt.ui.keywordthis=false
org.eclipse.jdt.ui.overrideannotation=true
org.eclipse.jdt.ui.text.custom_code_templates=
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=true
@ -17,29 +22,39 @@ sp_cleanup.always_use_this_for_non_static_field_access=false
sp_cleanup.always_use_this_for_non_static_method_access=false
sp_cleanup.convert_functional_interfaces=false
sp_cleanup.convert_to_enhanced_for_loop=false
sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
sp_cleanup.correct_indentation=false
sp_cleanup.format_source_code=true
sp_cleanup.format_source_code_changes_only=false
sp_cleanup.insert_inferred_type_arguments=false
sp_cleanup.lazy_logical_operator=false
sp_cleanup.make_local_variable_final=true
sp_cleanup.make_parameters_final=false
sp_cleanup.make_private_fields_final=true
sp_cleanup.make_type_abstract_if_missing_method=false
sp_cleanup.make_variable_declarations_final=false
sp_cleanup.merge_conditional_blocks=false
sp_cleanup.never_use_blocks=false
sp_cleanup.never_use_parentheses_in_expressions=true
sp_cleanup.number_suffix=false
sp_cleanup.objects_equals=false
sp_cleanup.on_save_use_additional_actions=false
sp_cleanup.organize_imports=false
sp_cleanup.organize_imports=true
sp_cleanup.precompile_regex=false
sp_cleanup.push_down_negation=false
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
sp_cleanup.remove_private_constructors=true
sp_cleanup.remove_redundant_type_arguments=true
sp_cleanup.remove_redundant_modifiers=false
sp_cleanup.remove_redundant_semicolons=false
sp_cleanup.remove_redundant_type_arguments=false
sp_cleanup.remove_trailing_whitespaces=false
sp_cleanup.remove_trailing_whitespaces_all=true
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
sp_cleanup.remove_unnecessary_array_creation=false
sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=false
sp_cleanup.remove_unused_imports=false
@ -48,15 +63,19 @@ sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
sp_cleanup.simplify_lambda_expression_and_method_ref=false
sp_cleanup.sort_members=false
sp_cleanup.sort_members_all=false
sp_cleanup.use_anonymous_class_creation=false
sp_cleanup.use_autoboxing=false
sp_cleanup.use_blocks=false
sp_cleanup.use_blocks_only_for_return_and_throw=false
sp_cleanup.use_directly_map_method=false
sp_cleanup.use_lambda=true
sp_cleanup.use_parentheses_in_expressions=false
sp_cleanup.use_this_for_non_static_field_access=false
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
sp_cleanup.use_this_for_non_static_method_access=false
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
sp_cleanup.use_type_arguments=false
sp_cleanup.use_unboxing=false
sp_cleanup.use_var=false

308
BM3 Progression.drawio Normal file
View file

@ -0,0 +1,308 @@
<mxfile host="app.diagrams.net" modified="2021-01-22T21:11:44.010Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36" etag="UMXAYi54hT_YnFN6ThvD" version="14.2.3" type="github">
<diagram id="kgpKYQtTHZ0yAKxKKP6v" name="Page-1">
<mxGraphModel dx="383" dy="653" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="3nuBFxr9cyL0pnOWT2aG-1" value="T1 Blood Altar" style="shape=umlLifeline;perimeter=lifelinePerimeter;container=1;collapsible=0;recursiveResize=0;rounded=0;shadow=0;strokeWidth=1;size=40;" parent="1" vertex="1">
<mxGeometry x="320" y="40" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.005;entryY=0.518;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-2" target="3nuBFxr9cyL0pnOWT2aG-1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="370" y="80" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-2" value="Gold Access&amp;nbsp;" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="200" y="40" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-4" target="AL4MJqAyBT561Gl4Sr2e-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-4" value="Soul Snare" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="720" y="40" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-5" value="" style="endArrow=classic;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1.001;exitY=0.504;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="3nuBFxr9cyL0pnOWT2aG-1" target="AL4MJqAyBT561Gl4Sr2e-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="110" as="sourcePoint" />
<mxPoint x="450" y="270" as="targetPoint" />
<Array as="points">
<mxPoint x="430" y="60" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-6" value="String or Iron" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="540" y="50" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-9" target="AL4MJqAyBT561Gl4Sr2e-43">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-9" target="AL4MJqAyBT561Gl4Sr2e-47">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-9" value="Hellfire Forge" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="600" y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-12" target="AL4MJqAyBT561Gl4Sr2e-33">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-12" value="Alchemy Table" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="120" y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-13" target="AL4MJqAyBT561Gl4Sr2e-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-13" value="Arcane Ash" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-14" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-12" target="AL4MJqAyBT561Gl4Sr2e-13">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="160" as="sourcePoint" />
<mxPoint x="470" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-15" value="Weak Blood orb" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="240" y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-18" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-15" target="AL4MJqAyBT561Gl4Sr2e-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="160" as="sourcePoint" />
<mxPoint x="470" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-19" target="AL4MJqAyBT561Gl4Sr2e-38">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-19" value="Blank Slate" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="385" y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-26" value="" style="endArrow=classic;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.501;exitY=0.997;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="3nuBFxr9cyL0pnOWT2aG-1" target="AL4MJqAyBT561Gl4Sr2e-19">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="348" y="160" as="sourcePoint" />
<mxPoint x="430" y="90" as="targetPoint" />
<Array as="points">
<mxPoint x="360" y="120" />
<mxPoint x="400" y="120" />
<mxPoint x="425" y="120" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-54" value="Smooth Stone" style="edgeLabel;html=1;align=center;verticalAlign=bottom;resizable=0;points=[];" vertex="1" connectable="0" parent="AL4MJqAyBT561Gl4Sr2e-26">
<mxGeometry x="-0.0617" y="-1" relative="1" as="geometry">
<mxPoint x="12.06" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-28" value="" style="endArrow=classic;html=1;exitX=0.498;exitY=0.997;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="3nuBFxr9cyL0pnOWT2aG-1" target="AL4MJqAyBT561Gl4Sr2e-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="160" as="sourcePoint" />
<mxPoint x="470" y="110" as="targetPoint" />
<Array as="points">
<mxPoint x="360" y="120" />
<mxPoint x="280" y="120" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-53" value="Diamond" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="AL4MJqAyBT561Gl4Sr2e-28">
<mxGeometry x="0.1683" relative="1" as="geometry">
<mxPoint x="13.67" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-31" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-19" target="AL4MJqAyBT561Gl4Sr2e-9">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="160" as="sourcePoint" />
<mxPoint x="470" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-33" target="AL4MJqAyBT561Gl4Sr2e-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-33" value="Reagents (orb dependent)" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="120" y="240" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-35" value="Sigils" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry y="240" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-38" target="AL4MJqAyBT561Gl4Sr2e-40">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-38" value="Blank Rune" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="385" y="240" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-40" target="AL4MJqAyBT561Gl4Sr2e-50">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-40" value="T2 Blood Altar" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="480" y="400" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-42" target="AL4MJqAyBT561Gl4Sr2e-43">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-42" value="Will" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="720" y="100" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-43" target="AL4MJqAyBT561Gl4Sr2e-64">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-43" value="Petty Gem" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="720" y="160" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-47" value="Sentient Sword &amp;amp; Tools" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="600" y="240" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-49" target="AL4MJqAyBT561Gl4Sr2e-50">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="40" y="700" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-52" value="Glowstone" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="AL4MJqAyBT561Gl4Sr2e-51">
<mxGeometry x="-0.106" y="1" relative="1" as="geometry">
<mxPoint x="59" y="88.33" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-49" target="AL4MJqAyBT561Gl4Sr2e-56">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-59" value="Nether Wart" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="AL4MJqAyBT561Gl4Sr2e-58">
<mxGeometry x="-0.1111" y="2" relative="1" as="geometry">
<mxPoint y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-49" value="Nether Access" style="ellipse;whiteSpace=wrap;html=1;rounded=1;glass=0;" vertex="1" parent="1">
<mxGeometry y="320" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-50" target="AL4MJqAyBT561Gl4Sr2e-70">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-50" target="AL4MJqAyBT561Gl4Sr2e-72">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-84" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-50" target="AL4MJqAyBT561Gl4Sr2e-83">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-50" value="T3 Blood Altar" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="240" y="680" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-56" value="Lvl 1 Anointments" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="200" y="320" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-57" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-12" target="AL4MJqAyBT561Gl4Sr2e-56">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="470" y="470" as="sourcePoint" />
<mxPoint x="520" y="420" as="targetPoint" />
<Array as="points">
<mxPoint x="160" y="220" />
<mxPoint x="240" y="220" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-60" value="Alchemy Flask" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="280" y="440" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-61" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-12" target="AL4MJqAyBT561Gl4Sr2e-60">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="470" y="380" as="sourcePoint" />
<mxPoint x="520" y="330" as="targetPoint" />
<Array as="points">
<mxPoint x="160" y="220" />
<mxPoint x="320" y="220" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-62" value="" style="endArrow=classic;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-40" target="AL4MJqAyBT561Gl4Sr2e-60">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="470" y="380" as="sourcePoint" />
<mxPoint x="520" y="330" as="targetPoint" />
<Array as="points">
<mxPoint x="320" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-63" value="Glass Bottle" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="AL4MJqAyBT561Gl4Sr2e-62">
<mxGeometry x="-0.3623" y="2" relative="1" as="geometry">
<mxPoint x="-9.17" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-64" target="AL4MJqAyBT561Gl4Sr2e-66">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-64" value="Lesser Gem" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="720" y="400" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-66" target="AL4MJqAyBT561Gl4Sr2e-74">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-66" value="Common Gem" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="720" y="680" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-68" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-49" target="AL4MJqAyBT561Gl4Sr2e-60">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="470" y="460" as="sourcePoint" />
<mxPoint x="520" y="410" as="targetPoint" />
<Array as="points">
<mxPoint x="140" y="340" />
<mxPoint x="140" y="400" />
<mxPoint x="140" y="460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-70" target="AL4MJqAyBT561Gl4Sr2e-77">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-70" value="Rituals" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="320" y="760" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-72" value="Living Armo(u)r" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="160" y="760" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-74" target="AL4MJqAyBT561Gl4Sr2e-76">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-74" value="Demon Crystallizer &amp;amp; Crucible" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="720" y="760" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-76" target="AL4MJqAyBT561Gl4Sr2e-77">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-76" target="AL4MJqAyBT561Gl4Sr2e-81">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="600" y="860" />
<mxPoint x="760" y="860" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-76" value="Crystallized Will" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="560" y="760" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-77" value="Augmented Rituals" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="440" y="840" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-81" value="Greater Gem" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="720" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-83" target="AL4MJqAyBT561Gl4Sr2e-85">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-83" value="ARC" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="240" y="840" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-86" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-85" target="AL4MJqAyBT561Gl4Sr2e-81">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AL4MJqAyBT561Gl4Sr2e-85" target="AL4MJqAyBT561Gl4Sr2e-88">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-85" value="Weak Bloodshard" style="rounded=1;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="240" y="920" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-88" value="T4 Blood Altar" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="240" y="1000" width="80" height="40" as="geometry" />
</mxCell>
<mxCell id="AL4MJqAyBT561Gl4Sr2e-90" value="Demon Dungeons" style="rounded=0;whiteSpace=wrap;html=1;glass=0;" vertex="1" parent="1">
<mxGeometry x="360" y="1080" width="80" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View file

@ -1,31 +1,28 @@
#Blood Magic: Alchemical Wizardry [![](http://cf.way2muchnoise.eu/full_blood-magic_downloads.svg)](https://minecraft.curseforge.com/projects/blood-magic)
# Blood Magic: Alchemical Wizardry [![](http://cf.way2muchnoise.eu/full_blood-magic_downloads.svg)](https://minecraft.curseforge.com/projects/blood-magic) [![Discord](https://img.shields.io/discord/259683256348311552.svg?colorB=7289DA&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHYAAABWAgMAAABnZYq0AAAACVBMVEUAAB38%2FPz%2F%2F%2F%2Bm8P%2F9AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfhBxwQJhxy2iqrAAABoElEQVRIx7WWzdGEIAyGgcMeKMESrMJ6rILZCiiBg4eYKr%2Fd1ZAfgXFm98sJfAyGNwno3G9sLucgYGpQ4OGVRxQTREMDZjF7ILSWjoiHo1n%2BE03Aw8p7CNY5IhkYd%2F%2F6MtO3f8BNhR1QWnarCH4tr6myl0cWgUVNcfMcXACP1hKrGMt8wcAyxide7Ymcgqale7hN6846uJCkQxw6GG7h2MH4Czz3cLqD1zHu0VOXMfZjHLoYvsdd0Q7ZvsOkafJ1P4QXxrWFd14wMc60h8JKCbyQvImzlFjyGoZTKzohwWR2UzSONHhYXBQOaKKsySsahwGGDnb%2FiYPJw22sCqzirSULYy1qtHhXGbtgrM0oagBV4XiTJok3GoLoDNH8ooTmBm7ZMsbpFzi2bgPGoXWXME6XT%2BRJ4GLddxJ4PpQy7tmfoU2HPN6cKg%2BledKHBKlF8oNSt5w5g5o8eXhu1IOlpl5kGerDxIVT%2BztzKepulD8utXqpChamkzzuo7xYGk%2FkpSYuviLXun5bzdRf0Krejzqyz7Z3p0I1v2d6HmA07dofmS48njAiuMgAAAAASUVORK5CYII%3D)](https://discord.gg/VtNrGrs)
###Gruesome? Probably. Worth it? Definitely!
###[Downloads](http://minecraft.curseforge.com/mc-mods/224791-blood-magic/files)
### Gruesome? Probably. Worth it? Definitely!
### [Downloads](http://minecraft.curseforge.com/projects/blood-magic/files)
##Information
## Information
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.
##Links
## Links
* Twitter: [@WayofTime](https://twitter.com/WayofTime)
* Wiki: Found at [FTBWiki](http://ftbwiki.org/Blood_Magic)
* [Minecraft Forum Thread](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1290532-bm)
* [Curseforge](http://minecraft.curseforge.com/mc-mods/224791-blood-magic)
* [Curseforge](http://minecraft.curseforge.com/projects/blood-magic)
* [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J7SNY7L82PQ82)
* [Patreon](https://www.patreon.com/BloodMagic)
##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
#### IntelliJ IDEA extra steps
1. Navigate to `File > Settings > Plugins > Browse repositories...`. Search for Lombok and install the plugin.
2. Navigate to `File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors`. Check `Enable annotation processing`.
@ -33,7 +30,7 @@ Blood Magic is an arcane art that is practiced by mages who attempt to gather a
[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).
##Developing Addons
## Developing Addons
Add to your build.gradle:
@ -49,23 +46,23 @@ Add to your build.gradle:
`<BLOODMAGIC-VERSION>` can be found on CurseForge (or via the Maven itself), check the file name of the version you want.
##Custom Builds
## Custom Builds
**Custom builds are *unsupported*. If you have an issue while using an unofficial build, it is not guaranteed that you will get support.**
####How to make a custom build:
#### How to make a custom build:
1. Clone directly from this repository to your desktop.
2. Navigate to the directory you cloned to. Open a command window there and run `gradlew build`
3. Once it completes, your new build will be found at `../build/libs/BloodMagic-*.jar`. You can ignore the `deobf`, `sources`, and `javadoc` jars.
##License
## License
![CCA4.0](https://licensebuttons.net/l/by/4.0/88x31.png)
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!
@ -75,7 +72,7 @@ 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.

View file

@ -1,228 +1,199 @@
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
maven { url "http://files.minecraftforge.net/maven" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
classpath 'org.ajoberstar:gradle-git:0.10.1'
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
id 'com.matthewprenger.cursegradle' version '1.0.7'
id 'io.franzbecker.gradle-lombok' version '1.6'
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
def build_number = 'CUSTOM'
version = '1.16.4-3.1.0-15'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'BloodMagic'
if (System.getenv('BUILD_NUMBER') != null)
build_number = System.getenv('BUILD_NUMBER')
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
def username = 'BloodMagicDev'
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
minecraft {
// The mappings can be changed at any time, and must be in the following format.
// snapshot_YYYYMMDD Snapshot are built nightly.
// stable_# Stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not always work.
// Simply re-run your setup task after changing the mappings to update your workspace.
mappings channel: 'snapshot', version: '20200916-1.16.2'
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
if (project.hasProperty('dev_username'))
username = "${dev_username}"
// Default run configurations.
// These can be tweaked, removed, or duplicated as needed.
runs {
client {
workingDirectory project.file('run')
properties 'mixin.env.disableRefMap': 'true'
group = package_group
archivesBaseName = mod_name
version = "${mc_version}-${mod_version}-${build_number}"
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
if (project.hasProperty('gitpush'))
version += "-ss"
// Recommended logging level for the console
property 'forge.logging.console.level', 'debug'
import org.ajoberstar.grgit.*
mods {
bloodmagic {
source sourceSets.main
}
}
}
ext.repo = Grgit.open(project.file('.'))
def gitHash = 'unknown'
server {
workingDirectory project.file('run')
properties 'mixin.env.disableRefMap': 'true'
if (new File(projectDir, '.git').exists())
gitHash = repo.log().find().abbreviatedId
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'debug'
mods {
bloodmagic {
source sourceSets.main
}
}
}
data {
workingDirectory project.file('run')
properties 'mixin.env.disableRefMap': 'true'
// Recommended logging data for a userdev environment
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
// Recommended logging level for the console
property 'forge.logging.console.level', 'debug'
args '--mod', 'bloodmagic', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
mods {
bloodmagic {
source sourceSets.main
}
}
}
}
}
repositories {
maven { url "http://dvs1.progwml6.com/files/maven" }
maven { url "http://mobiusstrip.eu/maven" }
maven { url "http://tehnut.info/maven" }
ivy {
name "Thaumcraft"
artifactPattern "https://dl.dropboxusercontent.com/u/47135879/[module]-[revision]-deobf.[ext]"
maven {
url "http://dvs1.progwml6.com/files/maven/"
}
ivy {
name "Baubles"
artifactPattern "https://dl.dropboxusercontent.com/u/47135879/[module]-1.8.9-[revision]-deobf.[ext]"
maven {
name = "The Loader"
url = "https://maven.blamejared.com"
}
}
dependencies {
deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}"
deobfCompile "mcp.mobius.waila:Waila:${waila_version}_${mc_version}:dev"
deobfCompile "info.amerifrance.guideapi:Guide-API:${mc_version}-${guideapi_version}"
deobfCompile "info.tehnut.buttons:Buttons:${buttons_version}:api"
// Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
// that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
minecraft 'net.minecraftforge:forge:1.16.4-35.1.37'
// compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}:api")
// runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
//deobfCompile "mezz.jei:jei_${minecraft_version}:${jei_version}"
compileOnly fg.deobf("mezz.jei:jei-1.16.2:7.1.3.19:api")
runtimeOnly fg.deobf("mezz.jei:jei-1.16.2:7.1.3.19")
compileOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}:api")
runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}")
compileOnly fg.deobf("com.blamejared.crafttweaker:CraftTweaker-1.16.4:7.1.0.84")
// You may put jars on which you depend on in ./libs or you may define them like so..
// compile "some.group:artifact:version:classifier"
// compile "some.group:artifact:version"
// Real examples
// compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
// compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// The 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
// provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// These dependencies get remapped to your current MCP mappings
// deobf 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// For more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
// compile name: "Thaumcraft", version: "${mc_version}-${thaumcraft_version}", ext: "jar"
// compile name: 'Baubles', version: "${baubles_version}", ext: 'jar'
}
minecraft {
version = "${mc_version}-${forge_version}"
runDir = "run"
replace "@VERSION@", project.version
replaceIn "Constants.java"
clientRunArgs += "--username=${username}"
if (project.hasProperty('mappings_version'))
mappings = project.mappings_version
}
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
from(sourceSets.main.resources.srcDirs) {
include '**/*.info'
include '**/*.properties'
expand 'version': project.version, 'mcversion': project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude '**/*.info'
exclude '**/*.properties'
}
}
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
lombok {
version = "1.16.6"
sha256 = "e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d"
}
import io.franzbecker.gradle.lombok.task.DelombokTask
task delombok(type: DelombokTask) {
args("src/main/java", "-d", "build/sources/delomboked/java")
}
task delombokHelp(type: DelombokTask) {
args "--help"
}
tasks.eclipse.dependsOn installLombok
// Example for how to get properties into the manifest for reading by the runtime..
jar {
classifier = ''
manifest.mainAttributes(
"Built-By": System.getProperty('user.name'),
"Created-By": "${System.getProperty('java.vm.version')} + (${System.getProperty('java.vm.vendor')})",
"Implementation-Title": project.name,
"Implementation-Version": project.version,
"Git-Hash": gitHash,
"Built-On": "${mc_version}-${forge_version}"
)
manifest {
attributes([
"Specification-Title": "bloodmagic",
"Specification-Vendor": "bloodmagicsareus",
"Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name,
"Implementation-Version": "${version}",
"Implementation-Vendor" :"bloodmagicsareus",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
// Example configuration to allow publishing using the maven-publish task
// This is the preferred method to reobfuscate your jar file
jar.finalizedBy('reobfJar')
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
//publish.dependsOn('reobfJar')
sourceSets.main.resources {
srcDir 'src/generated/resources'
}
task srcJar(type: Jar) {
from(sourceSets.main.java)
classifier = 'sources'
}
// API jar
task apiJar(type: Jar) {
from sourceSets.main.allSource
from sourceSets.main.output
include 'WayofTime/bloodmagic/api/**/*'
from(sourceSets.main.allJava)
from(sourceSets.main.output)
include 'wayoftime/bloodmagic/api/**'
classifier = 'api'
}
// Javadoc jar
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
classifier = 'javadoc'
}
javadoc {
source = projectDir.path + "/build/sources/delomboked/java"
}
tasks.javadoc.dependsOn delombok
tasks.build.dependsOn javadoc, javadocJar, apiJar
tasks.withType(JavaCompile) { task ->
task.options.encoding = 'UTF-8'
artifacts {
archives srcJar, apiJar
}
publishing {
tasks.publish.dependsOn 'build'
publications {
mavenJava(MavenPublication) {
artifact jar
artifact javadocJar
artifact sourceJar
artifact srcJar
artifact apiJar
}
}
repositories {
if (project.hasProperty('maven_repo')) {
maven { url maven_repo }
} else {
mavenLocal()
maven {
url "file:///${project.projectDir}/mcmodsrepo"
}
}
}
String getChangelogText() {
def changelogFile = new File('changelog.txt')
String str = ''
String separator = '---'
int lineCount = 0
boolean done = false
changelogFile.eachLine {
if (done || it == null) {
return
}
if (lineCount < 3) {
lineCount++
if (it.startsWith(separator)) {return}
}
if (!it.startsWith(separator)) {
str += "$it" + (lineCount < 3 ? ':\n\n' : '\n')
return
}
done = true // once we go past the first version block, parse no more
}
return str
}
def curseRelations = {
optionalLibrary 'just-enough-items-jei'
optionalLibrary 'waila'
requiredLibrary 'guide-api'
}
curseforge {
if (project.hasProperty('curse_key_WayofTime'))
apiKey = project.curse_key_WayofTime
project {
id = "${curse_id}"
changelog = getChangelogText()
releaseType = 'beta'
relations curseRelations
addGameVersion '1.10'
addGameVersion '1.10.2'
addArtifact javadocJar
addArtifact sourceJar
addArtifact apiJar
}
}
}

View file

@ -1,3 +1,690 @@
------------------------------------------------------
Version 3.1.0
------------------------------------------------------
- Majorly refactored the progression of the mod. Instead of starting with a Snare, you instead start by crafting the Blood Altar. The changes are documented in the guide, and you can follow its "Getting Started" entry!
- Changed the tooltips so that they are gray, more easily differentiating them from the name of the item.
- Added the Sigil of Holding
- Changed the crafting of Tartaric Gems so that you no longer need to use the previous tier gem in the gem slot.
-> The Hellfire Forge will now syphon from the gem in the crafting table first, and all unused will from the consumed gem will be placed in the crafted gem.
- Changed the GUI for the Alchemy Table
-> You can now select which sides that an input/output slot is accessible from. Click on the slot you wish to change, then click on the directional toggle buttons.
- Fixed Plunderer's Glint not properly applying the Looting level.
- Also fixed a NPE crash due to Iron Tip. Fixes some crashes due to mods using the ItemUsedFinish event.
- Fixed the Blood Altar not being able to input fluids. About time, Way!
- Added new Explosive Charges
-> Fungal Charge, which is very useful for giant mushrooms and nether mushrooms
-> Controlled Charge, which will destroy only blocks that match the block it is placed on.
- Added the ability to apply a few select Anointments to the charges. Only one can be applied to a charge at a time.
-> Soft Touch, Fortuna, and Smelting
- Fixed the Living Armour so that you cannot use an upgrade tome to usurp the point cap.
-> Fixed "Strong Legs" so that it no longer runs the program "CrunchyLegs.exe" - as a result, you no longer suffer fall damage from jumping on the same level.
-> Removed the direct fall damage mitigation from "Strong Legs"
- Added two types of Throwing Daggers to the Blood Mage's offensive kit.
-> Iron Throwing Dagger
-> Syringe Throwing Dagger
- Refactored the guide so that it provides +2 to awesomeness.
------------------------------------------------------
Version 3.0.6
------------------------------------------------------
- Reimplemented the Well of Suffering.
- Added several new items, called "Anointments"! These are items that provide temporary buffs to your tools and weapons, such as silk touch, higher damage, and more! Look them up in the Utility section of the book. These include:
- Honing Oil
- Soft Coating
- Fortuna Extract
- Holy Water
- Miner's Secrets
- Dexterity Alkahest
- Iron Tip
- Plunderer's Glint
- Slow-burning Oil
------------------------------------------------------
Version 3.0.5
------------------------------------------------------
- Fixed a crash with the Blood Altar because I am dumb.
- Also fixed the recipe for the Day array. Now you don't need to clean your clocks!
------------------------------------------------------
Version 3.0.4
------------------------------------------------------
- Added two new explosives:
- The Shaped Charge, which will break a 5x5x5 volume when placed
- The Deforester Charge, which can chop down a tree up to a maximum of 128 logs.
- (Both explosives drop all blocks affected, and do not cause further environmental nor entity damage.)
- Added new alchemy arrays:
- Two arrays, which changes the current daylight cycle to day and night. Recipes are temp.
- Fixed the following Living Armour upgrades so that they are now obtainable:
- Experienced
- Body Builder
- Fixed Living Armour not upgrading under certain conditions.
- Fixed the two rituals involving Living Armour so that they are properly activatable using a Weak Activation Crystal.
- Fixed NPE in Blood Altar when trying to interact with the contained Fluids
- Also fixed bug that prevented the Altar from accepting fluids piped in as inputs.
- Fixed a client-side crash when right clicking the ground with a Lava Crystal when on a server - now properly makes a fire without consuming the client.
- Fixed the JEI so that it no longer ouputs an error when loading Alchemy Array recipes without a crafting output.
- Fixed crash with Actually Additions
------------------------------------------------------
Version 3.0.3
------------------------------------------------------
- Updated the Sanguine Scientiem - it's very well written! Special thanks to both VT-14 and Wrince for their long hours of effort to make this book better than I could have done!
- Fixed a crash with the Living Armour when crafted and worn right after enchanting.
------------------------------------------------------
Version 3.0.2
------------------------------------------------------
Readded the Living Armour. Currently only with a few upgrades, and no downgrades.
- Pin Cushion
- Soft Fall
- Tough
- Strong Legs (Now can be temporarily deactivated when jumping by sneaking)
- Healthy
- Experienced
- Charging Strike
- Tough Palms
- Quick Feet
- Poison Resistance
- Gift of Ignis
- Dwarven Might
- Body Builder
Reimplemented the following rituals:
- Resonance of the Faceted Crystal
- Crack of the Fractured Crystal
- Reap of the Harvest Moon
- Ritual of the Shepherd
- Ritual of the Green Grove
- Focus of the Ellipsoid
- Sound of the Cleansing Soul
- Ritual of Living Evolution
------------------------------------------------------
Version 3.0.1
------------------------------------------------------
- Reimplemented the Incense Altar with all appropriate blocks.
- Added guide entries for the Incense Altar and Blood Altar. Other misc entries added, too.
- Fixed a server-related crash on the client on the Sigil of the Green Grove.
- Added ore processing to Ancient Debris.
- Readded the other Sentient Tool types (with one more on the way).
- Added a few WIP items that cannot be used yet - they're part of the D*$)@ D*#@(@* system that I'm adding for Tier 4.
- Added the API - It's still in flux, so expect it to change very soon!
- Probably forgot something important.
- Fixed a crash for the Lava Crystal that made it blow up the Client if used on a server. No, that was not the intended purpose!
- Added the Ritual Tinkerer for Rituals.
- Added the "Tome of Peritia" again - stores EXP.
------------------------------------------------------
Version 2.4.3
------------------------------------------------------
- Fixed Lava Crystals causing crash when used while not yet bound
- Fixed Teleposers sending entities at the destination position the wrong way
- Fixed Speed Runes not working on Tier 2 altars
- Fixed crash when checking tasks for some entities
- Fixed crash when checking some entities for potion effects
- Re-implemented the Boost potion
- The PR still had TODOs in the description when I merged so this may not be complete yet
------------------------------------------------------
Version 2.4.2
------------------------------------------------------
Now with no guarantees for working textures!
Blood Altar:
- A Blood Altar with a Redstone Lamp below it will now emit a redstone signal upon finishing crafting (#1635)
- Fixed Blood Altar being able to obtain negative progress (#1649)
Living Armor:
- Fixed Storm Trooper Level 4 costing 65 instead of -65 upgrade points (#1631)
Rituals:
- Fixed Ritual of the Eternal Soul (Ritual Stone layout & didn't work) (#1633)
- Fixed Ritual Tinkerer (ritual area is now unique per ritual instance), added the ability to reset the ritual ranges to default (#1636)
Misc:
- Lava Crystals can now set things on fire (#1652)
- Fixed parts of the German translation. Other translations still need to be reworked to accomodate changed translation keys (#1640)
- Fixed Guidebook showing wrong recipes (Rune of Self-Sacrifice instead of others) (#1641)
- Wooden Paths now behave like wood instead of stone (sound & efficient tool) (#1638)
Technical Stuff:
- Fixed Veil of Evil and Ward of Sacrosanctity console spam (which could eventually lead to an out of memory exception) (#1639)
- Fixed GLSL shader compilation errors (affected Mesa driver (AMD GPU) on Linux) (#1624)
- Fixed `/bloodmagic network` command permissions (#1613)
- Fixed a rare crash that could occur when summoning mobs (#1618)
------------------------------------------------------
Version 2.4.1
------------------------------------------------------
Nut was too lazy to create a changelog, it's AEon's turn now!
Changes made from Feb 02 - now (Fill end date in later)
Living Armor:
- Fixed "Soft Fall" not preventing damage
- "Nocturnal Prowess" should not flash anymore
- "Trickshot" now ignores HurtResistanceTime
- "Trickshot" now works properly with sentient arrows
- "Step Assist" does not take effect while sneaking
Sentient Bow:
- Fixed Destructive Will arrows exploding continuously
- Fixed Tipped Arrows getting improved even if no Will can be used
Sigils:
- Buffed "Sigil of the Fast Miner" to be in accordance to the "Sanguine Scientium"
- Fixed a bug where "Sigil of the Fast Miner" would also cause the whirlwind effect
- Added "Whirlwind" to the potion registry
- Fixed broken Sigil tooltip formatting
- Fixed Sigil of Holding not updating some Sigil data, allowing for exploits
- Greatly improved "Sigil of Compression" performance
- Fixed "Sigil of Compression" bug that would eat leftover items (usually everything between 55 and 64 items for a 3x3 compression)
Rituals:
- Ported Veil of Evil & Ward of Sacrosanctity
- Fixed "Serenade of the Nether" replacing lava source blocks with lava (fixed underlying function to detect flowing liquids)
- Added configurability to Ritual of the High Jump by modifying a new ritual area with the Ritual Tinkerer
Misc:
- Fixed routing node oredict filter (crashes)
- Fixed mimic vanishing in some cases
- Fixed "Blood Letter's Pack" and "Coat of Arms" always being used in the main hand slot (action bar/hotbar)
- Stop insertions into Demon Crucible if the inventory is not empty
- Fixed abnormal deaths at your own hands through the sacrificial dagger (hopefully) (Gravestone bugginess)
- Fixed "Unmending" mod incompatibility
- Fixed Teleposers crashing the game if someone force-fed it junk
- added Nut being angery at contributors for messing stuff up
- Added some Russian language strings for the guide book
- Added repair recipes for Sentient Tools & Living Armor to JEI
- Many translation keys have changed which makes affected translations fall back to english
Technical Stuff no player cares about:
- Formatted Project code
- Fixed BlockState parsing (mimic vanishing)
- Fixed some and streamlined ritual block ranges
- Mystery drain still mysterious
- Use TextFormatting rather than color codes in block lang names
- Fixed world unload crash (may happen if a world is loaded by world generators or JEI Resource graphing)
- Fixed `/bloodmagic network get` command
- Added translation keys for tickethistory command help strings
------------------------------------------------------
Version 2.4.0
------------------------------------------------------
It's been a while, eh? Some of you may be asking yourself "whats up with bloodmagic" like that damned recon on a certain
social media site. Well here's what's up: put something snarky here when done writing changelog
There's so much here, I'm probably going to miss some. Here's a general overview from just skimming commit titles.
Much of this was done via PR because I'm ~~lazy~~ too busy having fun with Fabric.
- Fixed harvest moon not working with pumpkins
- [API] Added a way to unregister an altar component
- Moved anything related to Tier 6 behind an opt-in config. Please stop asking me how to get it.
- Fixed small demon stone bricks recipe so it returns 4 instead of 1
- Ported some old rituals from 1.7
- Cry of the Eternal Soul
- Reverence of the Condor
- Ritual of the Feathered Earth
- Added a new ritual, Ritual of Grounding
- Optimized bound tool harvesting
- Fixed render issues with demon crystals
- Fixed Hymn of Syphoning not updating some tanks visually
- Added very basic documentation for several rituals to the guide book
- Made meteor costs for Mark of the Falling Tower configurable in the meteor json
- Fluid related sigils should now work identically to buckets of the fluid
- Fixed ritual tinkerer area setting behaving wonkily
- Fixed Seer Sigil not working for incense altars
- Added the ability to buff movement and updraft arrays by providing more of their ingredient
- Ported the ritual dismantler from 1.7.10
- Logic fix for the Solar Powered
- Now it requires a clear line of sight to the sky as well as it being day time
- Fixed Sigil of Magnetism AOE being offset from the player
- Rewrote commands
- They're different in some way, some how
- Don't ask me how
- Quality of life improvements for the ritual tinkerer
- Changed the activation crystal levels of some rituals to use the awakened crystal
- Mark of the Falling Tower
- All the living armor ones
- It's late and I'm tired don't hate me for being too lazy to look up their names
- Fixed up some bounding boxes for some blocks with fancier models
- Sentient Bow now properly handles modded and potion-ified arrows
I can't wait for this to turn out to be very broken so I can yell at the contributor :>
------------------------------------------------------
Version 2.3.3
------------------------------------------------------
- Fixed Altars not filling orbs of their own tier
------------------------------------------------------
Version 2.3.2
------------------------------------------------------
looky bois, we beta now
- Fixed Sentient Sword attacking mobs and players without being provoked
- Fixed weird Crystal Clusters being weird
- They are now less weird
- Fixed Ritual Reader and Tinkerer not being in the creative tab
- Fixed an NPE that would happen with some blocks in the Ritual of Magnetism's area of effect
- Fixed Mimics not being able to replace blocks during placement
- Fixed issues with inter-dimensional teleportation
- Teleposers and Teleposition Sigils are now fully functional
- Fixed custom arrows not having their effects when fired from the Sentient Bow
- Fixed Splash Potions being unthrowable while Living Armor had the quenched downgrade
- Fixed Ritual Stones being considered Iron instead of Rock
- Fixed the Lava, Water, and Void sigils so they now work properly with tanks
- Fixed an issue where the Teleposer would attempt to damage an offline player
- Fixed the Compression Sigil so it now functions
- Fixed low tier altars being able to fill high tier orbs
- Fixed Sentient Tools having the wrong material
- Fixed Sentient Tools not having a repair material
- It is now demon crystals
- Added a config to disable mob drops from mobs killed by the Well of Suffering
- Added an additional glow to the Dagger of Sacrifice when it has a full incense bonus
- Reworked the Phantom Bridge
- Updated german translation
- Updated chinese translation
------------------------------------------------------
Version 2.3.1
------------------------------------------------------
- Fixed Ritual of Magnetism not being registered
- Fixed Mob Sacrifice Array so it no longer kills bosses and players
- Fixed Will type serializer using lowercase names
- Fixed item rendering for the Sigil of Holding HUD
- Added mod id to command localization keys to prevent potential conflicts
------------------------------------------------------
Version 2.3.0
------------------------------------------------------
- Fixed Basic Cutting Fluid recipe so it no longer requires an unobtainable potion
- Fixed Teleposer Blacklist not working
- Fixed the bounding box on the Blood Tank
- Fixed crafted Inscription Tools not having their uses tag applied
- Fixed JEI queries with bound Blood Orbs
- Fixed Crushing Ritual not passing a valid player
- Fixed Mending applying to Potion Flasks
- Fixed Teleposition Sigil not checking for a Teleposer at it's destination
- Fixed Lava Crystal not syphoning LP
- Fixed the Laputa array moving unbreakable blocks
- ie: Bedrock
- Fixed the Ritual of the Green Grove not working on Cactus and Reeds
- Added a Mob Sacrifice array
- Updated the HUD system
- You can now edit the HUD layout via the in-game config editor with a drag'n'drop system.
- This screen is only available while in a world.
- Updated the German translation
- Updated the Chinese translation
- [API] Reworked how rituals are registered
- This will break any addons that work with rituals
- If you report an issue to me regarding broken addons, it will be closed without any comment
------------------------------------------------------
Version 2.2.12
------------------------------------------------------
- Fixed Hellfire Forge and Alchemy Table's shape-crafted-ness.
- Fixed Cutting Fluids so they now work properly.
- Fixed the Fluid filters so that they now work perfectly in the routing system.
- Fixed the Living Armour Upgrade that provides night vision, so it is no longer as finicky.
- Proved that Way could update the version number properly without being told by the maid.
------------------------------------------------------
Version 2.2.11
------------------------------------------------------
- Fixed the Alchemy Array from voiding items when broken when it shouldn't have.
- Fixed Blood Tank NBT transfer between item/tile form.
- Made sure to not offend TehNut's sensibilities :NutMaid:
------------------------------------------------------
Version 2.2.10
------------------------------------------------------
- Fixed Turret Array crash on servers.
- Fixed the Blood Altar so it can actually fill Blood Orbs (derp).
------------------------------------------------------
Version 2.2.9
------------------------------------------------------
- Fixed stupid NPE in the Furnace Array
- Fixed various issues with the Alchemy Table:
- Now works for recipes that require an LP cost.
- Hoppers no longer lose items when items are placed into the "slave" Alchemy Table who has some slots restricted.
- Added an entry to the book that explains you can, in fact, use Sea Lanterns instead of glowstone blocks for your Tier 3 altar.
- Fixed the Demon Will crystals growing when they shouldn't. Also lowered the time between natural crystal growths in Will-enriched areas.
- Side note: who's bright idea was it to have to wait 15 minutes per crystal growth?
- Added the "Resonance of the Faceted Crystal", which can be used to create your first aspected Will crystal clusters.
- Made it so the Crystallizer no longer generates a random aspected Will crystal cluster.
- Fixed rare crash with the Blood Altar, which only has a chance of occuring on restart.
------------------------------------------------------
Version 2.2.8
------------------------------------------------------
- Fixed a client side null-pointer exception with the Blood Lamp
- It's a bright idea to fix this as soon as I can.
- Changed the recipe of the Teleport Array:
- Note from Scotty: Captain, I'll remind ya what happened last time you put an apple in her array! Use an Enderpearl and redstone dust next time!
- Added new arrays
- The Turret Array:
> Place an array on top of an inventory with arrows and then place a bow and an arrow in the array. The array will target enemies greater than 3 blocks away and less than 32, using any arrows in the inventory.
- Spike Array:
> Place a piece of cobblestone and iron ingot in the array. The array deals damage to any living entity that enters
- Increased the max number of items transferable by the Master Routing Node in its system to 64 per second. Will revisit this limit if I figure out a less silly upgrade system.
- Added additional effects to the Sentient Bow when aspected to different Will types.
- Added in book entries for the Teleport Array and the Turret Array.
- Fixed the Haste sigil and "Quick Feet" so that they work with MC's new movement method.
- Removed added health from "Quick Feet" - seriously, why was this a thing?
- Readded the ritual "Focus of the Ellipsoid": creates a hollow ellipsoid from blocks provided in the connecting chest.
- Note: The dictionary definition for "Ellipsoid" is a three-dimensional figure whose plane sections are ellipses or circles. For those who weren't born in a math class, it means it is a sphere that has different radii in each direction.
- Fixed an off by one in altar upgrade management causing the first of any upgrade to not be counted
- Fixed the LP cost of the Master Blood Orb
- This bug has gone unnoticed for 2 years now.
- Potion Flasks can be crafted now
- Fixed a server crash when handling dye recipes
- Moved several text outputs out of the chat and into the action bar
- Fixed a crash when trying to use unbound toggle-able sigils in the Sigil of Holding
- Fixed an issue where unbound sigils could be used inside the Sigil of Holding
- Added missing items for Demon Crystals and Demon Pylons
------------------------------------------------------
Version 2.2.7
------------------------------------------------------
- Added the Furnace Array:
- Name pending.
- Takes health from nearby players to power adjacent furnaces.
- Not covered by standard medical insurance.
- Added a new Teleport Array:
- Please keep all hands and feet inside the floating circle until you have come to a complete stop.
- Note to Scotty: Feed the non-floating circle a Feather followed by an Apple to initiate the Beaming sequence.
- Seer Sigil should now properly mimic all functions of the Divination Sigil.
- Fixed some console error spam when using Lava/Water/Void sigils.
- Registered Sulfur (dustSulfur) and Saltpeter (dustSaltpeter) to the ore dictionary.
- Rewrote how IBindable stores it's data:
- This will probably break existing worlds if you have Rituals running. Stop them before updating.
- This will also unbind any of your bound items. Bind them again after updating.
- *glances at the big red A next to all 1.12 files*
- Fixed Haste being *constricted* when above level 2.
- De-nerf Fast Miner array so it provides Haste 3 again.
- Prepped API for recipe tweaking mods.
------------------------------------------------------
Version 2.2.6
------------------------------------------------------
- Fixed a weird thing where slates were weird
- Added HUD elements for Tranquility and Inversion
- Fixed Sigils stacking 64 times higher than they should have
As a side note, I've been listening to http://loli.dance/ for the last like 2 hours now.
------------------------------------------------------
Version 2.2.5
------------------------------------------------------
- We are now even more sure we're looking at a block before doing blocky things
- Fix Lava Crystal being consumed by furnaces
- Augmented Capacity and Self Sacrifice runes remember their names now
- Satiated Stomach will now let you gorge yourself on overly high saturation foods
- I'm looking at you, Pam. Stop being weird and giving your foods 28 saturation.
- Made Mod ID node filter dumber so it actually, like, works properly
- "Temporarily" disabled cross-dimensional teleports for entities. Temporarily.
- Did I mention this is temporary? As in totally not permanently?
- Who am I kidding? I'll probably forget about this.
- Bounce Arrays are no longer death traps when sneaking.
------------------------------------------------------
Version 2.2.4
------------------------------------------------------
- Make sure we're looking at a block before doing blocky things
- Slightly altered the altar's renderer
- Added new spammy logging with config options
- Prints out information like mods registering things via the API and stuff
------------------------------------------------------
Version 2.2.3
------------------------------------------------------
- Fixed mundane components being really really really thirsty
- (everything required water reagents. everything.)
- Buffed the Fast Miner array with a nerf
- Vanilla doesn't like Haste 3 I guess?
- Moved Divination Sigil altar output to a HUD element
- RIP Blood Altar chat spam 2014-2018
- Mark of the Falling Tower is now re-opened and ready for sacrifices.
- Polished Demon Stones are no longer lonely uncraftable bois
- Somewhat more efficient (at least LoC wise) altar upgrade checking
- Blood Altar is now less stingy about outputs
- Coerced augmented Potion Flask recipe outputs out of hiding
------------------------------------------------------
Version 2.2.2
------------------------------------------------------
- Fixed Alchemy Arrays so they might actually function now. Might.
- How did this even function properly before? I have no idea.
- Soul Snare should now stop giving the thrower ghosty debuffs. Should.
- Blood Magic is now in the mood to launch on servers. Probably.
- Soul Forge crafting works again! Potentially!
- Fixed the altar nuking any and all NBT attached to output items.
- Fixed the version not being replaced properly
- Rewrote Hwyla integration.
- Should now function a lot nicer.
- Implemented a new API for recipe registration
- Still need to move the alchemy table over, but otherwise this seems to function just fine.
- Implemented a new API for registering tranquility blocks.
- Will allow Chisel to stop crashing
------------------------------------------------------
Version 2.2.1
------------------------------------------------------
- Fixed crashes when using systems that depended on internal entity names
- Fixed a crash when attempting to get the owner from unbound bindable items
- Fixed a server crash on startup
- Fixed GUIs not displaying the background and tooltips properly
- Helped the Sentient Sword get over it's identity crisis
- By the way I'm not actually upset or anything guys.
- Please stop overreacting Reddit.
------------------------------------------------------
Version 2.2.0
------------------------------------------------------
- Basic port to 1.12
- Does not include the vast majority of rewrites and cleanup I did on the other branch
- Completely untested. Done out of spite. Go away.
- There, you have it. Screw off now.
------------------------------------------------------
Version 2.1.11
------------------------------------------------------
- Added support for some modded crops (Untested. Theoretically they work)
- Harvestcraft
- Actually Additions
- Extra Utilities
- Fixed permission level for sub-commands
- Large Bloodstone Bricks should receive 4 from a craft
- Fixed Diamond Meteor giving blocks of diamond
- Dynamically calculate Meteor Weight
- Fixed NPE in fluid filter
- Fixed Blood Tank capacity being reset when the chunk reloaded
- Updated russian translation
- Fixed Rune Type capability not registering on physical client
- Updated Sigil of Holding texture so set color is more visible
- Fixed blocks destroyed by bound tools not storing any NBT data
- Fixed Harvest ritual not working on Melons and Pumpkins
- [API] Methods for removing recipes
------------------------------------------------------
Version 2.1.10
------------------------------------------------------
- Fixed malicious clients being able to load arbitrary chunks on the server
- Fixed Bound tools not setting their tool class and harvest level
------------------------------------------------------
Version 2.1.9
------------------------------------------------------
- Fixed Alchemy Table overwriting output each time it crafted something
- https://github.com/WayofTime/BloodMagic/issues/1119
- Blood Magic commands (/bloodmagic) can now be used in Command Blocks
- https://github.com/WayofTime/BloodMagic/issues/1117
- Re-implemented the Soul Fray debuff on death
- No more exploiting sacrifice by killing yourself over and over (again)
- https://github.com/WayofTime/BloodMagic/issues/1118
- Updated Traditional Chinese localization
- https://github.com/WayofTime/BloodMagic/pull/1116
------------------------------------------------------
Version 2.1.8
------------------------------------------------------
- Fixed more null stack issues
- Will it ever end?
- Fixed a crash when activating a ritual via Redstone
- Fixed a fluid handling issue with Blood Tanks
- https://github.com/WayofTime/BloodMagic/issues/1108
- Fixed issue where Sigils inside a Sigil of Holding were using the wrong item
- https://github.com/WayofTime/BloodMagic/issues/1102
- Fixed crash when activing Bound Tools
- https://github.com/WayofTime/BloodMagic/issues/1114
- Updated the Chinese localization
- https://github.com/WayofTime/BloodMagic/pull/1052
- Placer Ritual is now much more performant
- Many recipes have been moved over to support the Ore Dictionary
- https://github.com/WayofTime/BloodMagic/issues/1101
------------------------------------------------------
Version 2.1.7
------------------------------------------------------
- Fixed Grave Digger not applying damage bonus
- https://github.com/WayofTime/BloodMagic/issues/1098
- Fixed crash when attempting to handle the dropping of Demonic Will
- https://github.com/WayofTime/BloodMagic/issues/1091
- Fixed Crash of the Timberman dupe
- This also adds support for IItemHandler based inventories
- https://github.com/WayofTime/BloodMagic/issues/1090
- Fixed a crash when a Meteor struck the ground
- https://github.com/WayofTime/BloodMagic/issues/1088
- Fixed the Seer's Sigil not using Roman Numerals to display the altar tier
- https://github.com/WayofTime/BloodMagic/pull/1094
------------------------------------------------------
Version 2.1.6
------------------------------------------------------
- Fixed invisible Sentient Specters destroying everything and everybody around their owners
- lol
- https://github.com/WayofTime/BloodMagic/issues/1065
- Fixed occasional crash when Blood Altar checked it's recipe
- https://github.com/WayofTime/BloodMagic/issues/1086
- Fixed Blood Light acting as a collidable block in obfuscated environments
- I think
- https://github.com/WayofTime/BloodMagic/issues/1083
- Fixed crash when Alchemy Table fully depleted a Cutting Fluid item
- https://github.com/WayofTime/BloodMagic/issues/1082
- Fixed crash when scrolling through Sigil of Holding
- https://github.com/WayofTime/BloodMagic/issues/1081
- Fixed not being able to take Gems out of Demon Crucibles
- https://github.com/WayofTime/BloodMagic/issues/1079
- Fixed some more null stack issues
- When is this going to be over...
- https://github.com/WayofTime/BloodMagic/issues/1068
- Fixed JEI not displaying Armor Tomes
- Fixed Body Builder level 4 being 5x more expensive than level 5
- https://github.com/WayofTime/BloodMagic/pull/1080
- Updated Japanese localization
- https://github.com/WayofTime/BloodMagic/pull/1076
------------------------------------------------------
Version 2.1.5
------------------------------------------------------
- Fixed Hellfire Forge slots acting up
- i is not j no matter how similar they look
- Fixed JEI compat for Alchemy Table recipes
- Fixed a lot more null stack checks
- Fixed (yet another) crash when creating an "invalid" stack of the Blood Tank
- Fixed Demon Will Crystal and Teleposer crashy interaction
- Fixed crash when working with toggleable sigils
------------------------------------------------------
Version 2.1.4
------------------------------------------------------
- Fixed a crash when checking if two items could be combined
- Fixed a crash when attempting to open the Sigil of Holding GUI
- Fixed a crash when somebody made an "invalid" stack of the Blood Tank
- Fixed a crash/hilarity where a Blood Altar would update itself as a Comparator
- Thanks to Arcaratus for causing this. I haven't laughed that hard in a while.
------------------------------------------------------
Version 2.1.3
------------------------------------------------------
- Added a new Master Ritual Stone that inverts it's redstone activity
- Fixed Living Armor attributes overriding eachother instead of adding up
- Fixed Ore doubling sometimes adding invalid recipes
- Downgrade tomes are now called Downgrade Tomes
- Added some caching to rituals to (hopefully) increase performance with less world data query-ing
------------------------------------------------------
Version 2.1.2
------------------------------------------------------
- Fixed server crash when creating the guide entries
------------------------------------------------------
Version 2.1.1-70
------------------------------------------------------
- Updated to Minecraft 1.11(.2)
- Fixed the Living Armour Sacrificial Upgrade
- Fixed Bound Tools not draining LP
- Implemented the Blood Tank
- Current recipes are temporary™
- Empty flasks can now be refilled to create a new flask
- Fixed Aura of Expulsion whitelist
- Added the Altar's Charge value to the Waila Tooltip when holding a Seer's Sigil
- Fixed meteor config error caused by EnderCore reloading configs early into startup
- Fixed meteor config not generating new entries
- Blacklisted Sentient Spectres from the Well of Suffering
- Fixed Sigils drawing from the user instead of the bound network
- Added Fluid routing to the routing nodes - this is done by using the Fluid Filter and placing a fluid container as the filter.
- Made it so the book does not give the filling recipe when the Blood Orb recipe is queried.
- Added a null check for the Will getter for the Aura incase the WillChunk somehow does not generate.
- [API] Added a new IMC API for modders to register their blocks as an altar component.
- Example: Chisel Glowstone can now be used for the Tier 3 caps (once Chisel implements it)
------------------------------------------------------
Version 2.1.0-69
------------------------------------------------------
@ -656,4 +1343,4 @@ Changed
- A graphical overhaul of everything has been implemented. These textures were provided by CyanideX's Unity texture pack. BBoldt and Yulife (Inap) from the Unity team are our new permanent texture artists.
Bug Fixes
-
-

View file

@ -1,15 +1,10 @@
mod_name=BloodMagic
package_group=com.wayoftime.bloodmagic
mod_version=2.1.0
mc_version=1.9.4
forge_version=12.17.0.1957
curse_id=224791
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
mappings_version=snapshot_20160518
minecraft_version=1.16.3
jei_version=3.6.8.225
waila_version=1.7.0-B3
thaumcraft_version=5.1.5
baubles_version=1.1.3.0
guideapi_version=2.0.0-37
buttons_version=1.10.2-0.0.3-3
#Mod dependencies
jei_version=7.6.0.49
patchouli_version=1.16.4-48-SNAPSHOT

Binary file not shown.

View file

@ -1,6 +1,5 @@
#Fri Sep 26 11:20:52 CDT 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip

110
gradlew vendored
View file

@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env sh
##############################################################################
##
@ -6,47 +6,6 @@
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# For Cygwin, ensure paths are in UNIX format before anything is touched.
if $cygwin ; then
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
fi
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
@ -61,9 +20,49 @@ while [ -h "$PRG" ] ; do
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
@ -90,7 +89,7 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@ -114,6 +113,7 @@ fi
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@ -154,11 +154,19 @@ if $cygwin ; then
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
APP_ARGS=$(save "$@")
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

14
gradlew.bat vendored
View file

@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line

View file

@ -1 +0,0 @@
rootProject.name = 'BloodMagic'

View file

@ -0,0 +1,757 @@
cb435652c27b4978d8db83af2fd531ccaa82ada7 assets/bloodmagic/blockstates/accelerationrune.json
43be0406da1c9f7cf734427bea235a65cda073d2 assets/bloodmagic/blockstates/airritualstone.json
5ba8e1b2a7ef85028044056cc971b8fe02ab7e7f assets/bloodmagic/blockstates/alchemicalreactionchamber.json
4a60c54def00d68368ed0a0d4783979aa63d5f60 assets/bloodmagic/blockstates/altarcapacityrune.json
950fff9f06033741091aa8a66a62857da673efb9 assets/bloodmagic/blockstates/bettercapacityrune.json
8a5edb859a6f4d0adfbe2f608bab6b8c8addf01a assets/bloodmagic/blockstates/blankrune.json
904d9baa649250571bce5f965cf48fbec69c2c1a assets/bloodmagic/blockstates/bloodlight.json
5f3898cc4891f85091fe6104800d6c88d9e85e29 assets/bloodmagic/blockstates/bloodstonebrick.json
631b579c38652efbcd9e5771d09ad6e476f3ba00 assets/bloodmagic/blockstates/chargingrune.json
a35188b0244bf9808098c7d49d0af9bd32cef297 assets/bloodmagic/blockstates/corrosivedemoncrystal.json
b943c6433f295c168841aec3c3f62e525c5c9cc9 assets/bloodmagic/blockstates/creeping_doubt.json
a54ab8dfd36a593829dc33644c5f9dbccaaadaf3 assets/bloodmagic/blockstates/deforester_charge.json
b696f680545dffa4d3fbcc83b4b81ab58ac69aef assets/bloodmagic/blockstates/destructivedemoncrystal.json
6bd58d1d02a40416cec29409dee7ef80038b26d5 assets/bloodmagic/blockstates/dislocationrune.json
0b7d0241c379d0b3a8a4fa2dae79d4f998800a1f assets/bloodmagic/blockstates/dungeon_brick1.json
19d1da41c8b836a88ea7164b32e5a8525e5155cf assets/bloodmagic/blockstates/dungeon_brick2.json
79853c0ffa8fd2eb9e2ddd0848c572de0cf49037 assets/bloodmagic/blockstates/dungeon_brick3.json
1117fb4dd4f110a7b7fabae92760e0a3b949c461 assets/bloodmagic/blockstates/dungeon_brick_assorted.json
c67498a81f8dd53770da51df45192b171cdd234c assets/bloodmagic/blockstates/dungeon_brick_gate.json
8b568926830785a5cb848fb36d4ae01e67590501 assets/bloodmagic/blockstates/dungeon_brick_stairs.json
6c10c79909e008b960f2d78543f55847eec7a226 assets/bloodmagic/blockstates/dungeon_brick_wall.json
8a04e502b6965d912793699d61071e44428fceb8 assets/bloodmagic/blockstates/dungeon_eye.json
40051ea4111a9c2fd2524d664d52f241eed5317e assets/bloodmagic/blockstates/dungeon_metal.json
fe31978b41dc50c21f413c81410221f657fd4d23 assets/bloodmagic/blockstates/dungeon_ore.json
388af5c6d34f62d66d987760871c64793df84a37 assets/bloodmagic/blockstates/dungeon_pillar_cap.json
8d8d58ad890f339b75dbdfc710b30dc00eed2ef3 assets/bloodmagic/blockstates/dungeon_pillar_center.json
48e7b0533fa722eb66956e01de661ebac6470da7 assets/bloodmagic/blockstates/dungeon_pillar_special.json
e3f31a23580bce835115483f5790cb08bac44fe2 assets/bloodmagic/blockstates/dungeon_polished.json
aa980029d03236ba34f53952fdadc06cf1cff245 assets/bloodmagic/blockstates/dungeon_polished_gate.json
30c3dc138436c2a25a7fcdd7edca7f70f1adb425 assets/bloodmagic/blockstates/dungeon_polished_stairs.json
512bd11d55934229cb464c720362949302309eba assets/bloodmagic/blockstates/dungeon_polished_wall.json
2015a403ca2bcc73afbb4768df99554a13b171b6 assets/bloodmagic/blockstates/dungeon_smallbrick.json
f5b4cda776f7aabe537ca843e41074c03429cdfb assets/bloodmagic/blockstates/dungeon_stone.json
167512323d506489adb4487d3da092ceec0bd17e assets/bloodmagic/blockstates/dungeon_tile.json
4806276351c534917c2e72f98c4618e6592b18a0 assets/bloodmagic/blockstates/dungeon_tilespecial.json
ba1cd8a9475212843e3b26232c8a9943fa0d2d20 assets/bloodmagic/blockstates/duskritualstone.json
bb3db171734f511fc0c259d86e869b49aa1d0c77 assets/bloodmagic/blockstates/earthritualstone.json
e780d6d9e891082dc6ce83fde1697ce36281a02a assets/bloodmagic/blockstates/fireritualstone.json
e2c9c08bab702938e1a861d096526f16f68f6691 assets/bloodmagic/blockstates/fungal_charge.json
f78ce2be09ab794bf5f5679414eee0dc85cf4fb1 assets/bloodmagic/blockstates/largebloodstonebrick.json
002795212cc7bf2cad2a91f873d85e2204c6367d assets/bloodmagic/blockstates/lightritualstone.json
e1a98bd53fca155e4bbb03c1e548341af0f84bd7 assets/bloodmagic/blockstates/masterritualstone.json
505e45be4a207e22433d853e5139c5b1d48c57d7 assets/bloodmagic/blockstates/nether_soil.json
95a0c9a84139cf92c2689e53408b51619db126a1 assets/bloodmagic/blockstates/obsidianbrickpath.json
8b0ea137c63cf3a658a03eee58ca4b2c3d996f87 assets/bloodmagic/blockstates/obsidiantilepath.json
372ecd737f7082a4c2c70e46745f893b1179f885 assets/bloodmagic/blockstates/orbcapacityrune.json
a2eaa9166258d7179d9e5099200f777bb9edf613 assets/bloodmagic/blockstates/rawdemoncrystal.json
90daa355e528ab8a6582f796951201882f3c56da assets/bloodmagic/blockstates/ritualstone.json
285618c1a8ec36e36d479f577190579ae7616529 assets/bloodmagic/blockstates/sacrificerune.json
b03040d7a168653bf8df3600033b8fde2383db30 assets/bloodmagic/blockstates/selfsacrificerune.json
d2e2e78bd859c321a72f40fbb17ca79292d58031 assets/bloodmagic/blockstates/shaped_charge.json
487ffdc02ab7b65aafcb932e3b5cf6ea0500b21d assets/bloodmagic/blockstates/speedrune.json
f1ca47098385a955155cab9c2a97219e02d390a0 assets/bloodmagic/blockstates/steadfastdemoncrystal.json
297bc2425f7b07b1a9dd3f7f6649c44f88dbac29 assets/bloodmagic/blockstates/stonebrickpath.json
e3256db10fc8a8ab540f6ac8d27e0f47861e817a assets/bloodmagic/blockstates/stonetilepath.json
6989c4e23e5405772a8601ea88f071a479ed3fa9 assets/bloodmagic/blockstates/veinmine_charge.json
48ed6b25a5d8d8074c38d772fdc27c1753d42c36 assets/bloodmagic/blockstates/vengefuldemoncrystal.json
e6d9cf699667aaa47efff37b2b033895dee29c15 assets/bloodmagic/blockstates/waterritualstone.json
74c889434f46e060e8f185e8ef674312eb2f1192 assets/bloodmagic/blockstates/woodbrickpath.json
42f26f715bddd16c069f9b51e3767b36477c8908 assets/bloodmagic/blockstates/woodtilepath.json
3c6ce233dae6c1307d9016406c324bbe844b4e1e assets/bloodmagic/blockstates/wornstonebrickpath.json
d59655f12d1724b73b77c373fb6864fcff69db12 assets/bloodmagic/blockstates/wornstonetilepath.json
0492479fed31666acdf2d5f3fb2dab3b6ebdf6b5 assets/bloodmagic/lang/en_us.json
34445195b9f2459475cde53454bc8e37d32865d7 assets/bloodmagic/models/block/accelerationrune.json
bcdbccc49d4509571be6988762ab87126275a4c8 assets/bloodmagic/models/block/airritualstone.json
adf6c0b1e25451609486dc8c8cfbd9cf0f8c67f4 assets/bloodmagic/models/block/alchemicalreactionchamber.json
3c98a88c2283ad54f0efb9d7194361bbc3e93c17 assets/bloodmagic/models/block/altarcapacityrune.json
7cd62092c6fb3109e016d42090cf89bfa3ab7fca assets/bloodmagic/models/block/bettercapacityrune.json
1fe0f89895addb7abcacf6ce7e39b6ddc87b0d85 assets/bloodmagic/models/block/blankrune.json
3c83e090a1cff00e2bb2c7eb475785954b6eb980 assets/bloodmagic/models/block/bloodlight.json
ae2ff1abd707f2193d04d235de8f0ce92ada1d0f assets/bloodmagic/models/block/bloodstonebrick.json
320827ad2feaa51a90ebb7064a70bdc6d3765203 assets/bloodmagic/models/block/chargingrune.json
d5d82916652aee95adb8c16c97788be0a0f9f9d6 assets/bloodmagic/models/block/creeping_doubt_1.json
3effbe56422e18a44138e13e33eb26ba33b9381f assets/bloodmagic/models/block/creeping_doubt_2.json
8a7e5bfc63d3de0987bd71c1237fb580a6317601 assets/bloodmagic/models/block/creeping_doubt_3.json
8c75a72923902d5000852728436313f5979e903a assets/bloodmagic/models/block/creeping_doubt_4.json
38d083dbe1852d6dc0995a46d63a8a6dbe2c31ac assets/bloodmagic/models/block/creeping_doubt_5.json
ec5fcd20fee4260f131c82ec0a6558cc4e70e781 assets/bloodmagic/models/block/creeping_doubt_6.json
f38c5b52e9215a3d819e0b35c590d8924ca84200 assets/bloodmagic/models/block/creeping_doubt_7.json
9b332dc0443cb28c08d3af52096b7dd4fb2b68cc assets/bloodmagic/models/block/creeping_doubt_8.json
17ed7bf0e4e0aba9fc6390c8fa46f02b63145b1c assets/bloodmagic/models/block/crystal/corrosivecrystal1.json
0ae47095829ba2218113131f29e0a870b7ac7c71 assets/bloodmagic/models/block/crystal/corrosivecrystal2.json
f2fa5d770d52b5888d4fcba9161bc6485938cc21 assets/bloodmagic/models/block/crystal/corrosivecrystal3.json
f3f58ce78925d6c5e9c3beaa325f75084b9fab7c assets/bloodmagic/models/block/crystal/corrosivecrystal4.json
ca4af4bd7d6bfefbdb925aafe9d7ea80b18eaa3a assets/bloodmagic/models/block/crystal/corrosivecrystal5.json
1e0d6dc84398a2e12d177578c6c798b2c22ca95c assets/bloodmagic/models/block/crystal/corrosivecrystal6.json
302703cfe171a5f5bca492eb781ab3f3fd1c5cc1 assets/bloodmagic/models/block/crystal/corrosivecrystal7.json
6e4a3ba1cbd063757f2781e61bfae1b6191f750f assets/bloodmagic/models/block/crystal/defaultcrystal1.json
c41eee3071f1c1b27548eed79d333ab40d18a993 assets/bloodmagic/models/block/crystal/defaultcrystal2.json
3cf921a7416da052e2879cf0daae21144a40fa98 assets/bloodmagic/models/block/crystal/defaultcrystal3.json
6019d4e18f271f67b970c4e9b140ff96dc2c26fb assets/bloodmagic/models/block/crystal/defaultcrystal4.json
a106985d414ba63680da8a6b1abe77a0406adcc7 assets/bloodmagic/models/block/crystal/defaultcrystal5.json
8c3307e3ef8f44eb95c70774e32989454da8b675 assets/bloodmagic/models/block/crystal/defaultcrystal6.json
592af0e2cf2849bd0581a43271d391a9ddbc6fb0 assets/bloodmagic/models/block/crystal/defaultcrystal7.json
f688ae826b9f42b092d8de2e419f67f8049a5d00 assets/bloodmagic/models/block/crystal/destructivecrystal1.json
e27df3ee62984fc10026e721b262c89db95f2b40 assets/bloodmagic/models/block/crystal/destructivecrystal2.json
df186d5bbcb608d7e91b2a67ab7fc347aa715a34 assets/bloodmagic/models/block/crystal/destructivecrystal3.json
c4839ceb06d5a22aa47c71e1a7d7dfd12a7af68c assets/bloodmagic/models/block/crystal/destructivecrystal4.json
091b5b1986e7542485c7d03419baf6f3f81fd8cb assets/bloodmagic/models/block/crystal/destructivecrystal5.json
cf05718711393bf322680bc24897ba82bafd1f53 assets/bloodmagic/models/block/crystal/destructivecrystal6.json
a66d5091e5241479e512a3a71aba67d93992f32b assets/bloodmagic/models/block/crystal/destructivecrystal7.json
47d8fa9891d7baad8a17df455fd6d9baf6da56de assets/bloodmagic/models/block/crystal/steadfastcrystal1.json
6bbd2e8584e783e07390b0f30d0f3fbb2782f663 assets/bloodmagic/models/block/crystal/steadfastcrystal2.json
0883e99e1d5fa81d2ea0212ab8e9f4d5313717f4 assets/bloodmagic/models/block/crystal/steadfastcrystal3.json
c0a2ec89a412ce6dc078697f6ab92944a8a65cd9 assets/bloodmagic/models/block/crystal/steadfastcrystal4.json
b8d576ca3daf0b597b222f9d0645526e1d8a65be assets/bloodmagic/models/block/crystal/steadfastcrystal5.json
1e6b6825d373b1532d2458e6122a9869153d3776 assets/bloodmagic/models/block/crystal/steadfastcrystal6.json
2478650854e8e82b46bfb58754004e89771636fc assets/bloodmagic/models/block/crystal/steadfastcrystal7.json
dc2fff8fbabd58db8c0f2fb83d3d68446e324389 assets/bloodmagic/models/block/crystal/vengefulcrystal1.json
623e226eb28df9d7e2311ed6c68fba0835c80785 assets/bloodmagic/models/block/crystal/vengefulcrystal2.json
fe8271e4e815de11cd617179dedface57bd8c696 assets/bloodmagic/models/block/crystal/vengefulcrystal3.json
658bcbf2eadb0e2b442668e47b8a3a0fc684a57f assets/bloodmagic/models/block/crystal/vengefulcrystal4.json
825352d6cdd314dd4cb775062757e2b8eb39f5d7 assets/bloodmagic/models/block/crystal/vengefulcrystal5.json
9603b46cb4ebc567878ca5f54fe96e1199f34d0c assets/bloodmagic/models/block/crystal/vengefulcrystal6.json
ecf64f8c06743f0c2752e32a67753c0d5f9f67a1 assets/bloodmagic/models/block/crystal/vengefulcrystal7.json
c75695cf399d96d66914ab7dcfe1fe6bf171d6b9 assets/bloodmagic/models/block/deforester_charge.json
6adbeedc17f649ef47419845a6da0d50cfc76742 assets/bloodmagic/models/block/dislocationrune.json
313607b36c7c30073bbc64d3130f15b5871c5cd3 assets/bloodmagic/models/block/dungeon_brick1.json
55a9c171872cf9fb40c06dc2e9e826223a9096e0 assets/bloodmagic/models/block/dungeon_brick2.json
ff6727ee9a149e89deef8d666f373bdb4e68a545 assets/bloodmagic/models/block/dungeon_brick3.json
5b95b5519b04dec4f87ad7d287e3e1fa344725d8 assets/bloodmagic/models/block/dungeon_brick_gate.json
3de5c424b0928c220bf2073ee6aca5dbf4f379bb assets/bloodmagic/models/block/dungeon_brick_gate_open.json
daaeb0a0adb39fb6df3c6e6d380b34efd14bf4ce assets/bloodmagic/models/block/dungeon_brick_gate_wall.json
62ecdb415d060bf8a815f57fcf4c56b1e788f8f2 assets/bloodmagic/models/block/dungeon_brick_gate_wall_open.json
d40eb07dfa8b700d08a7f4c3739f4b6eef0bc95f assets/bloodmagic/models/block/dungeon_brick_stairs.json
df27c2b4e3345199ba29e16cddffcb86efe457b5 assets/bloodmagic/models/block/dungeon_brick_stairs_inner.json
2fbb36a96684b4acc57e551ac1f971878685a2aa assets/bloodmagic/models/block/dungeon_brick_stairs_outer.json
ffb2021036b74d29fca5fc706885f3e1399c2950 assets/bloodmagic/models/block/dungeon_brick_wall_inventory.json
70508a960748a3f62a11b1a7277977f0256be58a assets/bloodmagic/models/block/dungeon_brick_wall_post.json
a7d371e5d0efefae2729131bda16120bfe477bb8 assets/bloodmagic/models/block/dungeon_brick_wall_side.json
bd152efd619489661cac86a80190bf9e88c86363 assets/bloodmagic/models/block/dungeon_brick_wall_side_tall.json
19ae530a34eb5cee35dc7b9cdd51c9c2d61fdc9e assets/bloodmagic/models/block/dungeon_eye.json
72d70f0acb18b765340167559c10b027bd98673a assets/bloodmagic/models/block/dungeon_metal.json
61eb4e5ede53a8278d2d95fbeb40dc01424f2895 assets/bloodmagic/models/block/dungeon_ore.json
a4449c1d14c46bcda58b542c3efdddadff15bedc assets/bloodmagic/models/block/dungeon_pillar_cap.json
1752cc99d0c334016bebd0e8027b8abe3ca5d7e8 assets/bloodmagic/models/block/dungeon_pillar_cap_down.json
f171162bb4b86e70f2b2f13f3393704d295a4d86 assets/bloodmagic/models/block/dungeon_pillar_cap_east.json
c340c5e6c593cec4d342b36097fe7cca85ad647b assets/bloodmagic/models/block/dungeon_pillar_cap_north.json
c8ee14fcf2f46c755b47cc407e3cd0dbe7a477f9 assets/bloodmagic/models/block/dungeon_pillar_cap_south.json
4ac68eafddb0c99ad884af596bc48cd63af5a021 assets/bloodmagic/models/block/dungeon_pillar_cap_west.json
e6f858e8aa3c4bf2189885400a76892e707f5403 assets/bloodmagic/models/block/dungeon_pillar_center.json
12209619fc1d437d9339402ce437e6c9b2f3c02b assets/bloodmagic/models/block/dungeon_pillar_center_x.json
a4223ff2570f04a4a5d068944e8964811a62e92a assets/bloodmagic/models/block/dungeon_pillar_center_z.json
5b884f4ad41e9f0ba94a1a91938af497d3dde49b assets/bloodmagic/models/block/dungeon_pillar_special.json
eb4237db6507002305969c55ba64c9e19fe90357 assets/bloodmagic/models/block/dungeon_pillar_special_x.json
29736a69c3d5eef5b11befa0be27ddd274abc29e assets/bloodmagic/models/block/dungeon_pillar_special_z.json
a0aabc2be78af27e620e82d9f9b877dc99ae2798 assets/bloodmagic/models/block/dungeon_polished.json
05b4a25735c96036005bea06e013651a8aac5641 assets/bloodmagic/models/block/dungeon_polished_gate.json
fd32ed9981b8164f88319b66811f8e6d41ec8470 assets/bloodmagic/models/block/dungeon_polished_gate_open.json
590dbd87da39d8dc0f03dd274e46e5fec55a6ab0 assets/bloodmagic/models/block/dungeon_polished_gate_wall.json
9b86f7cfcf9b539090a49fe213ca76eb4295a7cd assets/bloodmagic/models/block/dungeon_polished_gate_wall_open.json
a9871493a35453a0f0cf1f5ff3e54f646325c2cf assets/bloodmagic/models/block/dungeon_polished_stairs.json
b073d62667acc4d278b96efcfbb929e4c70afe22 assets/bloodmagic/models/block/dungeon_polished_stairs_inner.json
fc4b1f91035eab88ea3178713ff950dce2637e41 assets/bloodmagic/models/block/dungeon_polished_stairs_outer.json
f5176982c9143ec07275349178617102af40ebeb assets/bloodmagic/models/block/dungeon_polished_wall_inventory.json
eb1252284b87f352e5d7eeae48d57e189f25340f assets/bloodmagic/models/block/dungeon_polished_wall_post.json
3c060012163a8c95532b85010773326a28e6f30e assets/bloodmagic/models/block/dungeon_polished_wall_side.json
6b5d875b69643f9daa4302a317ef3863fcce1a91 assets/bloodmagic/models/block/dungeon_polished_wall_side_tall.json
ef2a677751c2ae6c3cec9b905c28aeb615ea03e7 assets/bloodmagic/models/block/dungeon_smallbrick.json
84555e144215de4477ab826420400747b11edf9a assets/bloodmagic/models/block/dungeon_stone.json
d4e4cbb3a24e069a8e6c8e60764f8bbb7b3adb2b assets/bloodmagic/models/block/dungeon_stone_mirrored.json
8a922c0105191857905467f048aa40221cb34853 assets/bloodmagic/models/block/dungeon_tile.json
3895234c0c49d936ad0ad420dedd3669999b8a81 assets/bloodmagic/models/block/dungeon_tilespecial.json
81313327125e6e7396df0408595228bf0f63e1c9 assets/bloodmagic/models/block/duskritualstone.json
c30064f4aa09c42d23e94d118ae5b148eadb3a6c assets/bloodmagic/models/block/earthritualstone.json
44c4d3178261b3756987643b62f263c91fa74198 assets/bloodmagic/models/block/etherealopaquemimic.json
4ff1cab1014cd8f655e5f032ecf60dd371f421c3 assets/bloodmagic/models/block/fireritualstone.json
0fb05dea521223c58619fd71ccc2bcdf82ba7563 assets/bloodmagic/models/block/fungal_charge.json
d6bf1482345199e7d056a60865024ea5d480b986 assets/bloodmagic/models/block/largebloodstonebrick.json
2e1a81c758bfeec2aee807b48239f23241302268 assets/bloodmagic/models/block/lightritualstone.json
eab1713a8879decb2ae05258a6bcfa9da78ec67b assets/bloodmagic/models/block/masterritualstone.json
c0e0f918b237d2f25718bae4774750b90a88de7b assets/bloodmagic/models/block/nether_soil.json
1e354903812e9cf8e2fea26b908430d7e1cf20a9 assets/bloodmagic/models/block/obsidianbrickpath.json
71893b8b185c2b0f64f21b7dc6c4f2850f936206 assets/bloodmagic/models/block/obsidiantilepath.json
c3a813b735cd229f8597e41d04465926b2e65fe1 assets/bloodmagic/models/block/orbcapacityrune.json
9b2bf2a44b788cbaecbe63a3e085e8de76672e1b assets/bloodmagic/models/block/ritualstone.json
a8a1d06fcc2f8395530c72d2846133fff37d5537 assets/bloodmagic/models/block/sacrificerune.json
791c9f2e27215ff0a45eed7efe385276bfc09aed assets/bloodmagic/models/block/selfsacrificerune.json
d6238c0661560abd991d534ef6c8836f4655a7e7 assets/bloodmagic/models/block/sentientmimic.json
04a1e67d1587be970310912849119903b99412ef assets/bloodmagic/models/block/shaped_charge.json
6556131b1aeb25dc67daf31a1ecdb3ce23e718d4 assets/bloodmagic/models/block/solidclearmimic.json
88b9f25444280d323fff11046d4d3a3af11265e8 assets/bloodmagic/models/block/solidlightmimic.json
23d937795efdb02507d301c459e52cd4b0cfa5cb assets/bloodmagic/models/block/solidopaquemimic.json
65fe5e01ed2660e45a5c329ff2389a87e4d791ec assets/bloodmagic/models/block/speedrune.json
c5d2b0e33500a5c51046cd606e0d1272ec0dddd6 assets/bloodmagic/models/block/stonebrickpath.json
359e28e79778961f57c6369b5d1b68218972fccb assets/bloodmagic/models/block/stonetilepath.json
d8c8cb24e0e8479ec620b4cd8d5a6f5abb1a2dcb assets/bloodmagic/models/block/veinmine_charge.json
6041f2e47f5437d90a58586e42d18dadc42df439 assets/bloodmagic/models/block/waterritualstone.json
d77cdb168a084aeb962be6ad7b4f41b181837be6 assets/bloodmagic/models/block/woodbrickpath.json
e54a4f2b3cd405c69782662b1b0d57e24f7c2524 assets/bloodmagic/models/block/woodtilepath.json
ee59117289640eaebf7a9d7f629dd584ac3ed50f assets/bloodmagic/models/block/wornstonebrickpath.json
bee51abed529a89ad088b2cb89a4c1d0de541bf1 assets/bloodmagic/models/block/wornstonetilepath.json
9462d62d9bc9408359d30728de8651dc104aacf1 assets/bloodmagic/models/item/accelerationrune.json
28dc926a434253f140a7c4eece1522a64a7cccae assets/bloodmagic/models/item/activationcrystalawakened.json
3f64f82051888db51f30a75c41e1d249d7899235 assets/bloodmagic/models/item/activationcrystalcreative.json
10fa1f758c52f639880607bfaac3ced18b8b91ae assets/bloodmagic/models/item/activationcrystalweak.json
fe8e3deb3ad0107ca3ebd70694c1fc55a987d912 assets/bloodmagic/models/item/airritualstone.json
33074d865864911fcaf65e6d56430e87d466a1b8 assets/bloodmagic/models/item/airscribetool.json
60487d07a2fc1af61993e6bbebf012cf20aa3edd assets/bloodmagic/models/item/airsigil.json
92cc51b70ce22796804d093e3fc21141658f85fd assets/bloodmagic/models/item/alchemicalreactionchamber.json
f150f178edf7d6d250bcfd84af1c28a21cff09c6 assets/bloodmagic/models/item/altarcapacityrune.json
cb96caeaa30f168d03a7763f06fdff9fe47d29c5 assets/bloodmagic/models/item/apprenticebloodorb.json
5ae6e2eedcbf4a58b2e437aae2304e8171e05689 assets/bloodmagic/models/item/arcaneashes.json
69dc96914b3f5c8f672bbaca16720ffef951c179 assets/bloodmagic/models/item/basemonstersoul.json
975b721b2a1b40b4d3b3bf20d17329476f4bfc98 assets/bloodmagic/models/item/basemonstersoul_corrosive.json
318e954cc662ea33e30dad9bdff5e73b1da3b129 assets/bloodmagic/models/item/basemonstersoul_destructive.json
366657ca2747a4c8f9521c5b0b8f439d7880fcce assets/bloodmagic/models/item/basemonstersoul_steadfast.json
af6319be25a2aeadf7366c6f4b83a6c8e9e07343 assets/bloodmagic/models/item/basemonstersoul_vengeful.json
f5a0419f239ff5079b60011adb903a126265942e assets/bloodmagic/models/item/basiccuttingfluid.json
d3c33ff908880e7abc8a2cd977304419ec48a23d assets/bloodmagic/models/item/bettercapacityrune.json
7a1c55d55fe59d8a70bc2a867d127cb303c1ba23 assets/bloodmagic/models/item/blankrune.json
db9d31cae77018833be0e4d38db84d75adeb30a1 assets/bloodmagic/models/item/blankslate.json
c801f34e88224f9fabd89245f9d2a0d9ef466b64 assets/bloodmagic/models/item/bloodlightsigil.json
c795d1b7aa99ce27da63868f81bac615cf199c66 assets/bloodmagic/models/item/bloodstonebrick.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/bow_power_anointment.json
7315e49149eca494e6b132d383082cb76fc9c0e4 assets/bloodmagic/models/item/chargingrune.json
8c84f53166f2fdf7eaac4b6dc45402e3fa5b18d9 assets/bloodmagic/models/item/coalsand.json
3636c40fafa385642db14ca5f09d68e547060c4d assets/bloodmagic/models/item/corrosivecrystal.json
e8bdf0e3f557bb09c665312df380672e676f4382 assets/bloodmagic/models/item/corrosivedemoncrystal.json
470406aa7191f99f8b8d144fa0b1c314bdc10f11 assets/bloodmagic/models/item/corrupted_dust.json
1136b546d2cf73fc0f419447f7c328b8e2083323 assets/bloodmagic/models/item/corrupted_tinydust.json
9b332dc0443cb28c08d3af52096b7dd4fb2b68cc assets/bloodmagic/models/item/creeping_doubt.json
7b4471ae902c8e96a3730a86e1b15fb5c13aeec7 assets/bloodmagic/models/item/crystalline_resonator.json
5414b42d1246ff780f15ebd42212f19e90891daa assets/bloodmagic/models/item/daggerofsacrifice.json
08e573e533ecbfed2a734691608abe0119f3f3e3 assets/bloodmagic/models/item/defaultcrystal.json
cad1aef333d131d77b7960f5dc295694baeead1c assets/bloodmagic/models/item/deforester_charge.json
6353ff212d21942d3fcbf7ea0cedd027e831059f assets/bloodmagic/models/item/demonslate.json
fd9ec2b5fe4436363ae5058b6ff9d77bd81ce85d assets/bloodmagic/models/item/demonwillgauge.json
51f65b07ce2ff59d740e28a27a039bd0022c367f assets/bloodmagic/models/item/destructivecrystal.json
3e952fc5e87bd7883dadd761ef708ddfac29638c assets/bloodmagic/models/item/destructivedemoncrystal.json
7af07ab578bbd20e2f834b26d9cafb5fe23bc7d4 assets/bloodmagic/models/item/dislocationrune.json
d57d9bcecc2580bdc009e1cd2b4a87cc39b4bca9 assets/bloodmagic/models/item/divinationsigil.json
f866879eed9f1bd7eebac14495de599ca3ad855d assets/bloodmagic/models/item/dungeon_brick1.json
78f206d696acf10f082a34c7ec2fdbddc321231a assets/bloodmagic/models/item/dungeon_brick2.json
52f18a291e92fe5218dd4abacdabdc106dc2d380 assets/bloodmagic/models/item/dungeon_brick3.json
f866879eed9f1bd7eebac14495de599ca3ad855d assets/bloodmagic/models/item/dungeon_brick_assorted.json
1a1ab86e948d6f2a7e928750d5442fff1edb4c19 assets/bloodmagic/models/item/dungeon_brick_gate.json
2ec6a2c66e88981ff54e74035bb3adb1ec4f6396 assets/bloodmagic/models/item/dungeon_brick_stairs.json
098a26f4e9222c801f9a17a6db1b266ad4085003 assets/bloodmagic/models/item/dungeon_brick_wall.json
0a48c4fd74036702ae2d72a9b2333c2bdf5ab31b assets/bloodmagic/models/item/dungeon_eye.json
e5b467f756ccc4d3ab42a1249864d47f2b9c4587 assets/bloodmagic/models/item/dungeon_metal.json
95a45fae0890e626aa5e5ff85b9884bd30087244 assets/bloodmagic/models/item/dungeon_ore.json
ba5c610437b7d3a84820109c32d204310ff41fd7 assets/bloodmagic/models/item/dungeon_pillar_cap.json
d098a544e7b9918a45106c2cbc5e10baea66502a assets/bloodmagic/models/item/dungeon_pillar_center.json
5284f1cc7508546c66669564182fe5056053333d assets/bloodmagic/models/item/dungeon_pillar_special.json
9e876e438fa9bac067f6b3af4904e6bbd24044c8 assets/bloodmagic/models/item/dungeon_polished.json
9a7bf4c6c15f2a6e39588b1b8aed7988a7713a02 assets/bloodmagic/models/item/dungeon_polished_gate.json
477cd98babad0a71ccfcc9e541169fe9bc31d8d1 assets/bloodmagic/models/item/dungeon_polished_stairs.json
f3b763d6edc3c75655797481f05e02d409f481d9 assets/bloodmagic/models/item/dungeon_polished_wall.json
2ecba4811bd02698f6a34b5cdd9160426f7bda63 assets/bloodmagic/models/item/dungeon_smallbrick.json
2d7a8a3ed9f91a5bf5c277c6342c69e97692d347 assets/bloodmagic/models/item/dungeon_stone.json
717a9dcc833d1fbea4e5f989f45f46268d4ffe37 assets/bloodmagic/models/item/dungeon_tester.json
6186d2045f87b1e6cc7006226993a93b63d650ff assets/bloodmagic/models/item/dungeon_tile.json
21e8a4fa93ba249684e0624a10a6f0f00ff6d194 assets/bloodmagic/models/item/dungeon_tilespecial.json
10aceefca3ad3f0da773cb317c4effc6c06051ea assets/bloodmagic/models/item/duskritualstone.json
1f8ce936602a2e55ecf05b926734099c057733e5 assets/bloodmagic/models/item/duskscribetool.json
4d56efd7fdbf430f49903ce201577047687c3804 assets/bloodmagic/models/item/earthritualstone.json
b29b6d11b54e98dbfbeb9d677298e6ca95bf2ca2 assets/bloodmagic/models/item/earthscribetool.json
cdbaaf8662f2e855a34a66f28e49403c4ea9a45e assets/bloodmagic/models/item/ethereal_mimic.json
c5a3b58c52f75650ae38391841b21ad1cb0855f9 assets/bloodmagic/models/item/etherealslate.json
64529fc174f49c6eabca127ebdd287ff77a7ed63 assets/bloodmagic/models/item/experiencebook.json
dbd20c2ac822262cc368fd7d649de67c754e693d assets/bloodmagic/models/item/explosivepowder.json
c36bde4f98c0aeb3bf0f369ad3bc067e5f0dc916 assets/bloodmagic/models/item/fireritualstone.json
0a3dcea188a3e5cf5f7c9a2cc4ad62667ac5821b assets/bloodmagic/models/item/firescribetool.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/fortune_anointment.json
0392d220dc92ab8abad335e620b011e000b61ef9 assets/bloodmagic/models/item/fragment_netherite_scrap.json
4228d831053597cbb7d7e5fb68b7a6dbf1dbf977 assets/bloodmagic/models/item/fungal_charge.json
27ce75b6179a4620fd23aa07568c47fad36a14eb assets/bloodmagic/models/item/furnacecell_primitive.json
72386afa0dcb2444a8072d1618425038c73106c7 assets/bloodmagic/models/item/goldfragment.json
2bf9f4f4901425531903ace1cebee594bc37e55a assets/bloodmagic/models/item/goldgravel.json
bad504721d3bfd106869df9902bac0aa4001a1a7 assets/bloodmagic/models/item/goldsand.json
ebb91dfd0f28c439478b5f041b127aefa00ae583 assets/bloodmagic/models/item/gravel_netherite_scrap.json
44663089f348642bcca1c5020b5081c3ab172f92 assets/bloodmagic/models/item/growthsigil.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/hidden_knowledge_anointment.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/holy_water_anointment.json
f68825f667ca73b4373fd5068a47f0d1ca9b2aad assets/bloodmagic/models/item/icesigil.json
5d151f9d9007fb7459dde9f2d5c182b9b6aa06e0 assets/bloodmagic/models/item/infusedslate.json
59940408324c0379fa791a58f4a81781d06d1257 assets/bloodmagic/models/item/ingot_hellforged.json
80c575c613c1696069284224fe2c711c343bb0be assets/bloodmagic/models/item/ironfragment.json
4b803c1c838284d78474bab0f8ced938985dd958 assets/bloodmagic/models/item/irongravel.json
d83040a473f44ff2fd9d290f3fd6ef0d8b9f3114 assets/bloodmagic/models/item/ironsand.json
9b9fc4a11a187257d30334cd3faa949790b6ca29 assets/bloodmagic/models/item/largebloodstonebrick.json
ffc3da1cbb86adc5aec7dfd503d23af319aec529 assets/bloodmagic/models/item/lavacrystal.json
12360580230f4eab90dbe7de3d5bbf79e2338b03 assets/bloodmagic/models/item/lavasigil.json
5a76914a87fc9b99079bb6afed1d4cfe3e4a532e assets/bloodmagic/models/item/lightritualstone.json
0d6c9d3b2ec30835ef74b6d6e8184074ac0861b8 assets/bloodmagic/models/item/livingboots.json
dd50db84188025895693164736f4799e75b8c7a9 assets/bloodmagic/models/item/livinghelmet.json
e39cf255d5c8873e02d1f2df2c829d0858df25e3 assets/bloodmagic/models/item/livingleggings.json
45756697d2f012fcc2de5fead120768a87655662 assets/bloodmagic/models/item/livingplate.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/looting_anointment.json
7211624c82431d12dd21b3de262f4f332a69e0e1 assets/bloodmagic/models/item/magicianbloodorb.json
2b760616f7dad714accf1249b85eec4761f69706 assets/bloodmagic/models/item/masterbloodorb.json
9e377ab2c131993f96ab6fb544bda4dbba0ab87e assets/bloodmagic/models/item/masterritualstone.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/melee_anointment.json
3d5c71d1f24ebcc65db48765b56db60d64673a0d assets/bloodmagic/models/item/mimic.json
7596826c5b40c2809eb0a42eb5f5f2089290e3e5 assets/bloodmagic/models/item/miningsigil.json
9010fdcefb80ed0db271b41263412a1673c6c311 assets/bloodmagic/models/item/nether_soil.json
eaa0548775c3d5839b46d333af33f815dc6dd0fe assets/bloodmagic/models/item/obsidianbrickpath.json
cf066d15baae650a383240a91240abd335bbb0e3 assets/bloodmagic/models/item/obsidiantilepath.json
ff9b802098659824626dc90dbb5a0d8960234228 assets/bloodmagic/models/item/orbcapacityrune.json
d5fd516b1cf94ab01d5b1fbe554705215f21ff66 assets/bloodmagic/models/item/plantoil.json
abdd58730704a0936783c6752098a9fec1e3f18d assets/bloodmagic/models/item/primitive_crystalline_resonator.json
f3dd3ad67c86895983e3cf0f21e44d0f4046962e assets/bloodmagic/models/item/primitive_explosive_cell.json
0a88f03b48e0032f7ed7878212b0b01a930186d0 assets/bloodmagic/models/item/primitive_hydration_cell.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/quick_draw_anointment.json
63fe86d0faf9aa03a513221a6a12828a886b1301 assets/bloodmagic/models/item/rawdemoncrystal.json
6f5418ed5739381e95b4d3b33f3e2924a6233941 assets/bloodmagic/models/item/reagentair.json
0f3fbea424448d41cac91bc479d9235def615af7 assets/bloodmagic/models/item/reagentbinding.json
df9beacb97275ffaa7f186778d94ad11138dffe3 assets/bloodmagic/models/item/reagentbloodlight.json
ba57b2a11a0920e7a4df894c6fbae38bf2a6e0ce assets/bloodmagic/models/item/reagentfastminer.json
f9a2fbb703e22dee4ae74daff99249e5f22caa0f assets/bloodmagic/models/item/reagentgrowth.json
a0e2480efd5433e9ead1ef87c2b31b0dbbc7ecb6 assets/bloodmagic/models/item/reagentholding.json
2f8cfb7f2c9cb3dd62a007c2ec56f585414149d8 assets/bloodmagic/models/item/reagentlava.json
2a07dc18d2d8166815c29aa989ccd0093d5d112b assets/bloodmagic/models/item/reagentmagnetism.json
7ce18ad9b0de94a3fc5abf03c6726c8cc4cf5524 assets/bloodmagic/models/item/reagentsight.json
7aa180a374f6a60f0525659c90f386a9df7bedcd assets/bloodmagic/models/item/reagentvoid.json
d6fefc8d0d11bcc40ec6c9fa41e8e9402274251a assets/bloodmagic/models/item/reagentwater.json
98783464efdcbcaf2f457dfafc4a126f57454f8c assets/bloodmagic/models/item/reinforcedslate.json
8c473f375d7e45adb82f615a6d9e6dea312f57bd assets/bloodmagic/models/item/ritualdiviner.json
152682fd87d660cb06931b65d7a402ccd332a21a assets/bloodmagic/models/item/ritualdivinerdusk.json
2722891c9c40b124d85bf9ff8eb885e175f5e6ff assets/bloodmagic/models/item/ritualstone.json
7f7c3f406430ca088c3993c1347c2219b287498e assets/bloodmagic/models/item/ritualtinkerer.json
db73abb3bcb1731b6fc389e3577910b6aab87b10 assets/bloodmagic/models/item/sacrificerune.json
7d0c46410e4e256bd88f9220cd3eaf948a4b715f assets/bloodmagic/models/item/sacrificialdagger.json
9a67ae7be820dca31446758377677cc2c906ab80 assets/bloodmagic/models/item/saltpeter.json
db66835b16edd296fe71a63a2f195ffdc9e97519 assets/bloodmagic/models/item/sand_hellforged.json
1e7fca5638c09e4c46f9e65854bc0316d8142361 assets/bloodmagic/models/item/sand_netherite.json
eb098783e91a17d07429d9006fb09bf056350e57 assets/bloodmagic/models/item/sanguinereverter.json
b6e98c7b1789654fe7ff559e95011c0a28c58bc1 assets/bloodmagic/models/item/seersigil.json
cc71421e98ee7ee047a4cfbb6cb69529c2b02d4e assets/bloodmagic/models/item/selfsacrificerune.json
7f0256ef2f219d92882e759677399050b0776d64 assets/bloodmagic/models/item/shaped_charge.json
6cc73920a09d4d6925154732f4064d8d03590f25 assets/bloodmagic/models/item/sigilofholding.json
ea5747638d0b5dcc03f008b202cc60a11e0827bb assets/bloodmagic/models/item/sigilofmagnetism.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/silk_touch_anointment.json
96eca80edd26a325bd65f325f4c3d651b1080912 assets/bloodmagic/models/item/slate_ampoule.json
08bee690d5092e3c9e6c04c43f50af668fdb3b7e assets/bloodmagic/models/item/slate_vial.json
dd4a590f68820a04ca4a71df507e8a39ca6bd393 assets/bloodmagic/models/item/smelting_anointment.json
db0f63198089161b8d4ecfb1ec8a45f7dc5ba83d assets/bloodmagic/models/item/soulaxe.json
9ec68a2dcf04b987c3c5d5c6c52195e3deccacbb assets/bloodmagic/models/item/soulgemcommon.json
6501bb4b72457e8107bec818f26de6178b655203 assets/bloodmagic/models/item/soulgemgreater.json
ad010d9680cd748bd04c8fc36262c236f7d90105 assets/bloodmagic/models/item/soulgemlesser.json
b49e7f34913e32ccb68eeb6f6c196ff6b209f482 assets/bloodmagic/models/item/soulgempetty.json
c873e91c70eef9ad4c39aeb2fe8b9aa16a26cccd assets/bloodmagic/models/item/soulpickaxe.json
5682770badd4dbc1ae533de0ce0f9a7cd0b2aeea assets/bloodmagic/models/item/soulscythe.json
bde2befafc97fd89a428dfa3f39fc970e9a3ae29 assets/bloodmagic/models/item/soulshovel.json
7b375670d1fa52a3585907d3e880863dbcc04b32 assets/bloodmagic/models/item/soulsnare.json
fe2b201007c974229509f6900c6eb8b03d158b0a assets/bloodmagic/models/item/soulsword.json
52d21027ac6fed000e77b5e8ad9102319b25cb33 assets/bloodmagic/models/item/speedrune.json
36e0914768c8b3eb3b80702280ca74bbd8546623 assets/bloodmagic/models/item/steadfastcrystal.json
6968a3d0c3bbeac8ea4cb2c050e28506e8938851 assets/bloodmagic/models/item/steadfastdemoncrystal.json
29009ca92dc30e1ec4ae1d454cd3f8726d8edc3c assets/bloodmagic/models/item/stonebrickpath.json
2dc28b0e2b7ae7bb0bcf8c8e74b9ba7c800446ff assets/bloodmagic/models/item/stonetilepath.json
1992b3655f7bbca8b7aac7c53f1a0e7b1ab3124d assets/bloodmagic/models/item/sulfur.json
451fa4812d23a207882eb95d89673b1e4c2dd257 assets/bloodmagic/models/item/throwing_dagger.json
4f4e6c72a160eb635bdf78ed0a6ba5765fbf51ea assets/bloodmagic/models/item/throwing_dagger_syringe.json
d13731c45f6dd23b8e70d2a75d4068bdae88ef5c assets/bloodmagic/models/item/upgradetome.json
e8fe01c5cddc268538681889f3161472a8f1c8ad assets/bloodmagic/models/item/variants/growthsigil_activated.json
20c802279de4df496057795c2e891fa54a21376f assets/bloodmagic/models/item/variants/growthsigil_deactivated.json
2778ea3a62ce6dd718a557beee7b5329bb185ff9 assets/bloodmagic/models/item/variants/icesigil_activated.json
11f5516cea8ac65bbb0f5958d6492170482ae8d8 assets/bloodmagic/models/item/variants/icesigil_deactivated.json
be3772fd711ccf4a2adfad122a8b39e8a36e874a assets/bloodmagic/models/item/variants/miningsigil_activated.json
7dec45f3167426d975564692a80196cdb3f4bdb4 assets/bloodmagic/models/item/variants/miningsigil_deactivated.json
9403d6195d4d38d5876c2a42f4edfb9bdcd05210 assets/bloodmagic/models/item/variants/sacrificialdagger.json
89ea1f760bac680b1baa98536d6bc407e347676e assets/bloodmagic/models/item/variants/sacrificialdagger_ceremonial.json
79c61e61656a934397c92626809c1869b0617fc3 assets/bloodmagic/models/item/variants/sigilofmagnetism_activated.json
129ace1f4a25f22bd09215603248a25adcf234e0 assets/bloodmagic/models/item/variants/sigilofmagnetism_deactivated.json
81e1cb0664f53f30ad195fc4330786b71db9e20c assets/bloodmagic/models/item/variants/soulaxe.json
2254b45194021cdd3fbc7d384d958b031a8e7cea assets/bloodmagic/models/item/variants/soulaxe_corrosive.json
c11750d01a720a1b0eca0610ec12cba0fef4d5da assets/bloodmagic/models/item/variants/soulaxe_destructive.json
368e428410c7c6d6bf444970221bb5ebe5f6bacd assets/bloodmagic/models/item/variants/soulaxe_steadfast.json
267875926ed261400a10371e044e9f54aafa637a assets/bloodmagic/models/item/variants/soulaxe_vengeful.json
cddaa2be8db3aff90933fb772b92cab735ebf11e assets/bloodmagic/models/item/variants/soulgemcommon.json
874aa708d02de2315e29033b2f67fd313edc8aff assets/bloodmagic/models/item/variants/soulgemcommon_corrosive.json
3ca3c4251a8907c1c47caf49e53a711265e0e92c assets/bloodmagic/models/item/variants/soulgemcommon_destructive.json
3ad2785d3e893943ea769c7e39d69cedd71e556a assets/bloodmagic/models/item/variants/soulgemcommon_steadfast.json
016ccdfb8a6e0101975e64f9f548e6a93d32f53c assets/bloodmagic/models/item/variants/soulgemcommon_vengeful.json
daef17113abd2003f745e069c1ccecc911445919 assets/bloodmagic/models/item/variants/soulgemgreater.json
73926de465b378adad07303f02a01c41c2f3656e assets/bloodmagic/models/item/variants/soulgemgreater_corrosive.json
1807f9b243e98c9ea43ac230ae211a324c82db79 assets/bloodmagic/models/item/variants/soulgemgreater_destructive.json
07c68e7574ef7d4db2e011e23c3bc20ad258daea assets/bloodmagic/models/item/variants/soulgemgreater_steadfast.json
3691ec7d9fedd3694feb1d6d387a9420e87ff8ce assets/bloodmagic/models/item/variants/soulgemgreater_vengeful.json
2b2322dfd3f7e28ea5d0ad2d9df2223d7ee47f00 assets/bloodmagic/models/item/variants/soulgemlesser.json
8eaab2fddfe201dc83d2d2ffd65e1537a3e5a388 assets/bloodmagic/models/item/variants/soulgemlesser_corrosive.json
24608fc7a19e41d71ec84a80c18ceccbc869cd79 assets/bloodmagic/models/item/variants/soulgemlesser_destructive.json
1ef6dd3ceed7f6ffd3e91283146fbe3f6db46d10 assets/bloodmagic/models/item/variants/soulgemlesser_steadfast.json
7801bda9366c21aad10137d30151ac4154acbea1 assets/bloodmagic/models/item/variants/soulgemlesser_vengeful.json
0b37376d07ecf8ff91df345435abd5d94d28714e assets/bloodmagic/models/item/variants/soulgempetty.json
fb9e51a933316daa4a99b6e6c9a2606dc354f0dc assets/bloodmagic/models/item/variants/soulgempetty_corrosive.json
0a15d2c90a8d139c1689579460379e5feefaddec assets/bloodmagic/models/item/variants/soulgempetty_destructive.json
a94516c3019969baa379f4a32d68736010cb473a assets/bloodmagic/models/item/variants/soulgempetty_steadfast.json
eabd2e88451ef42250e86c6675868b322aa0db92 assets/bloodmagic/models/item/variants/soulgempetty_vengeful.json
cebb0537b96480ac99314840a45107108b1bbc3a assets/bloodmagic/models/item/variants/soulpickaxe.json
2045e6593e80a11da9c60d0bdcef456503141232 assets/bloodmagic/models/item/variants/soulpickaxe_corrosive.json
37144adb7eb312c66a3567faeb3ece5aeef76e70 assets/bloodmagic/models/item/variants/soulpickaxe_destructive.json
e09d7927fdb84c372d36b290e3c69f728c922675 assets/bloodmagic/models/item/variants/soulpickaxe_steadfast.json
bec6cecf74db6a32fb5890b0596ddb7e2bf2daef assets/bloodmagic/models/item/variants/soulpickaxe_vengeful.json
a1fa69851bf9bb7022a25c0bef26fd44633616e2 assets/bloodmagic/models/item/variants/soulscythe.json
7c97bf4b12fc39cbe100d0e54e6b1b53a592c771 assets/bloodmagic/models/item/variants/soulscythe_corrosive.json
ad9c84341af3f0e90cdb206f39fbf4c2e589c52a assets/bloodmagic/models/item/variants/soulscythe_destructive.json
00b631dc41ee04264a91fe9a9e0b5660daf9fbc5 assets/bloodmagic/models/item/variants/soulscythe_steadfast.json
379922deb3b4e352763b335c01d4d66bfc531218 assets/bloodmagic/models/item/variants/soulscythe_vengeful.json
501142d1ff49eaf663e9a2044da17b8b5a25e361 assets/bloodmagic/models/item/variants/soulshovel.json
f65e2a2d4f0cae6c3dc986274c2dee0f1773cfb2 assets/bloodmagic/models/item/variants/soulshovel_corrosive.json
6c6b04b81358bb82b4d127fc621190dc2804fd45 assets/bloodmagic/models/item/variants/soulshovel_destructive.json
0e193ee2b27783f3d10461977c7d719be96af203 assets/bloodmagic/models/item/variants/soulshovel_steadfast.json
a8a7f03cc24f0d796e8868ace72f50ec4343dd5b assets/bloodmagic/models/item/variants/soulshovel_vengeful.json
0cd32e8e693d85b8a81e96ea305ffafb4a72e861 assets/bloodmagic/models/item/variants/soulsword_activated.json
60831276c8b0a5ecfa8e1a7beee6c5a4838cae69 assets/bloodmagic/models/item/variants/soulsword_corrosive_activated.json
792bb3a3e613808890cf0c31585318dc8e16891d assets/bloodmagic/models/item/variants/soulsword_corrosive_deactivated.json
ba7a7366b1471dd58b27b523bde130e39220fe01 assets/bloodmagic/models/item/variants/soulsword_deactivated.json
ef838be270d9d87651aec70c6b59197b01e48a6c assets/bloodmagic/models/item/variants/soulsword_destructive_activated.json
ec6f6bf7f520182b2044f3cc5a10f1d4c7a8d7ab assets/bloodmagic/models/item/variants/soulsword_destructive_deactivated.json
149f3e3049bd4f4ed559e56db79027bda9e8478e assets/bloodmagic/models/item/variants/soulsword_steadfast_activated.json
7d22fdba9bb8593c247a0b33df11f3b26a16c254 assets/bloodmagic/models/item/variants/soulsword_steadfast_deactivated.json
2029220112f89a3f4d432ab4749dff6143846659 assets/bloodmagic/models/item/variants/soulsword_vengeful_activated.json
0f5a3e1e5993a03ccda156eed855b71fbd0be0a2 assets/bloodmagic/models/item/variants/soulsword_vengeful_deactivated.json
81776d7be5f2d13e44622a6d38929821bc78ae7d assets/bloodmagic/models/item/veinmine_charge.json
16bde91467016c6012fe2b618c898d0340043492 assets/bloodmagic/models/item/vengefulcrystal.json
11e3347147e079093c4fa12018412071db22a4f5 assets/bloodmagic/models/item/vengefuldemoncrystal.json
9019dcd2f21b03e703ceeee1ea3199de72110268 assets/bloodmagic/models/item/voidsigil.json
a31019db55828cb937a071ac2f74b125a2d0c955 assets/bloodmagic/models/item/waterritualstone.json
23d5a97cb44909c470ea76833138cd187f13ba80 assets/bloodmagic/models/item/waterscribetool.json
bfa6dec13cc193bbe634c2c68b641f3897ccb342 assets/bloodmagic/models/item/watersigil.json
cb4eaa9292890e172b0f36a63605db0c973f735e assets/bloodmagic/models/item/weakbloodorb.json
46423c1325542ab0efad772e1aab52082d9ef636 assets/bloodmagic/models/item/weakbloodshard.json
6b16a94dcb06f31b7a92f250449ec42dbc3568aa assets/bloodmagic/models/item/will_power_anointment.json
c0907e611e09ccc924452070519006add21f3d12 assets/bloodmagic/models/item/woodbrickpath.json
1de444baa270a146dcd33c784b08f75a3d745421 assets/bloodmagic/models/item/woodtilepath.json
c8ea88c439c91d0eeee3e6204a3c50f8cfd36758 assets/bloodmagic/models/item/wornstonebrickpath.json
2d9dab8ebc036473d82eb044eb7a7bba0d0937a4 assets/bloodmagic/models/item/wornstonetilepath.json
273f8363ef906c87c67ae8aeb21a7d9d2834bbc6 data/bloodmagic/advancements/recipes/bloodmagictab/alchemy_table.json
e6a3ac3998653b10ee09780be9099a9d0c5b3917 data/bloodmagic/advancements/recipes/bloodmagictab/arc.json
08af21340e8457f43f7e5235790f58c2a67b9b3a data/bloodmagic/advancements/recipes/bloodmagictab/blood_altar.json
80cf1e0f026565be99279c46306b92be06bda65c data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_acceleration.json
f77e3947a24a252c04a80d1eb26547a3fbf868e7 data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_aug_capacity.json
f8b66411c96c6a7a409fb10f6888d078f1f8fa14 data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_blank.json
ab5612f33028487c08e51de4b91bb786df1b1b95 data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_capacity.json
e59e508cdbd51f62f83559edeb5f2a89226d7694 data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_charging.json
d707d48cc670ae65f224487a5012d5464c0a9760 data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_displacement.json
e897d6f91e2a0bd12b0da0a50e5c897294989e7c data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_orb.json
4a53004c651901cd1245de452810161736d9b067 data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_sacrifice.json
263f7c251d2f163db5bd229f2ab8a222f23ae03a data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_self_sacrifice.json
7ca400d1141ff4be1b529cd060950b42cf3b9bfb data/bloodmagic/advancements/recipes/bloodmagictab/blood_rune_speed.json
764e54fdaa24f87cceb815990bbbd2e2cd87f205 data/bloodmagic/advancements/recipes/bloodmagictab/bloodstonebrick.json
2e7ec285e758b06c2bd7d9fd93eedd96f511fa49 data/bloodmagic/advancements/recipes/bloodmagictab/corrupted_dust.json
f92c8a88a2c0ca63510d170c33f5eb2d1aee25ec data/bloodmagic/advancements/recipes/bloodmagictab/experience_tome.json
1b1dab3143eae33e25c4a14c011adec72768c9b5 data/bloodmagic/advancements/recipes/bloodmagictab/hellforged_block.json
a6f012d0584d36d9b7dd0ec4f9e4cbd2a3ff1146 data/bloodmagic/advancements/recipes/bloodmagictab/incense_altar.json
4c24af93a64071aadc0308b27bcbc44572e5ccfc data/bloodmagic/advancements/recipes/bloodmagictab/largebloodstonebrick.json
344567e6f5671131addcfebbd92d18e5cbd66ef5 data/bloodmagic/advancements/recipes/bloodmagictab/lava_crystal.json
d8ca7255f72a2ab6915552cdeb682ecc6efde03a data/bloodmagic/advancements/recipes/bloodmagictab/path/path_stone.json
1b85f9d2b823aef941158276b6f46bd8279cd693 data/bloodmagic/advancements/recipes/bloodmagictab/path/path_stonetile.json
f17f721149daf9246788be3235e5a6472155215a data/bloodmagic/advancements/recipes/bloodmagictab/path/path_wood.json
147ba38e68ca50e503ecf1ea96e85ce62c2dd86d data/bloodmagic/advancements/recipes/bloodmagictab/path/path_woodtile.json
ea0b32b5595661f0d09f68a8a596577cc62ba0b1 data/bloodmagic/advancements/recipes/bloodmagictab/path/path_wornstone.json
0dc717f46c2c6f36b58114df2bf5c82aadb104d2 data/bloodmagic/advancements/recipes/bloodmagictab/path/path_wornstonetile.json
091fbd276c5ad173716e9e7474fa278e742a662f data/bloodmagic/advancements/recipes/bloodmagictab/primitive_furnace_cell.json
7cf09fef1a5bfc1401ecc34857bdf78c7282c12a data/bloodmagic/advancements/recipes/bloodmagictab/primitive_hydration_cell.json
01e90bb9c59d44a52777ecc0cf28754295fda675 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_diviner_0.json
836e1fc171dba197e02d6a9e3e61a3718cb5a482 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_diviner_1.json
5deb91599f19a4f28e5b03c9fcb428d3f00a3644 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_reader.json
c8e5cdac0e7328640ab1cb0eab0a46f0733b59b3 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_stone_blank.json
1578416eb302aecb3fd61e481634c5c021541f51 data/bloodmagic/advancements/recipes/bloodmagictab/ritual_stone_master.json
832301a424345b7ca70b43cb214faa104179f0fb data/bloodmagic/advancements/recipes/bloodmagictab/sacrificial_dagger.json
b76943e5606d3cd4ec9933b533e0925499af5c65 data/bloodmagic/advancements/recipes/bloodmagictab/smelting/ingot_hellforged.json
766cf6a61f198a8426debb6f0c9f43e36193fc76 data/bloodmagic/advancements/recipes/bloodmagictab/soul_forge.json
1c751b044e5ce4d05746857d6cf5e812e94a4026 data/bloodmagic/advancements/recipes/misc/smelting/ingot_gold.json
af036dd1bd5193c2d36e7cb96c0a2b73a37b76ab data/bloodmagic/advancements/recipes/misc/smelting/ingot_iron.json
ab358377c93ecbdd790722d5e796df59095e79e1 data/bloodmagic/advancements/recipes/misc/smelting/ingot_netherite_scrap.json
639ebb2ccabb2eaece59be96c2e6f28c31f4d2f4 data/bloodmagic/loot_tables/blocks/accelerationrune.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/airritualstone.json
1ed1f3cebe68450b6d5ca3ce69e4728a7d250b1c data/bloodmagic/loot_tables/blocks/alchemicalreactionchamber.json
443550be9eaf1021b11fd2bbe6afcfe2cee6f7ad data/bloodmagic/loot_tables/blocks/alchemyarray.json
c92a9f2a90f2c17933f89832899c295cde1f194d data/bloodmagic/loot_tables/blocks/alchemytable.json
17d8dcc62320d5d2eeb781e925963d9b9d5eec54 data/bloodmagic/loot_tables/blocks/altar.json
05bb6268d7e884c962061a632e162d5baf73271e data/bloodmagic/loot_tables/blocks/altarcapacityrune.json
87d44fa5143733864c12608443d11744b91e0496 data/bloodmagic/loot_tables/blocks/bettercapacityrune.json
867d0fa555de94140215d9edb7cd7ae533bbc619 data/bloodmagic/loot_tables/blocks/blankrune.json
f1a8e3131d85077665563372cad868534a72fb31 data/bloodmagic/loot_tables/blocks/bloodlight.json
f0827ad5bf71c06a71f50aeb0298c04d0cb1a1d9 data/bloodmagic/loot_tables/blocks/bloodstonebrick.json
779b809a2a51e6dab46f9e6799249f2f14653ebb data/bloodmagic/loot_tables/blocks/chargingrune.json
0d501e4eb447e84b38250ab1c396abe1218d129c data/bloodmagic/loot_tables/blocks/corrosivedemoncrystal.json
e59c93dcc8d42b3ddb71dad1695573b1c284213f data/bloodmagic/loot_tables/blocks/creeping_doubt.json
794eab6d989fe113f797835fa6a2f7ead5bfbd38 data/bloodmagic/loot_tables/blocks/deforester_charge.json
4c9ed83e7e7215f995df35054e96d2f4e5027016 data/bloodmagic/loot_tables/blocks/demoncrucible.json
c590b923d28b3d7916932dfcb05091df815f71dd data/bloodmagic/loot_tables/blocks/demoncrystallizer.json
b0ce964c69f63aa13350259279e5fe831ae18e2c data/bloodmagic/loot_tables/blocks/destructivedemoncrystal.json
a9fcfc656fab957328c10ee1d9d33807e697b7f7 data/bloodmagic/loot_tables/blocks/dislocationrune.json
e39c50638d466bf706327f52fd42c915e2990d7e data/bloodmagic/loot_tables/blocks/dungeon_brick1.json
be050ff812ae62793e3c51d7c2ab343294ede7f0 data/bloodmagic/loot_tables/blocks/dungeon_brick2.json
75252b630d7e0cf77db12125844283949ee94226 data/bloodmagic/loot_tables/blocks/dungeon_brick3.json
607d6e286ff2280686f258a931341aeed5334781 data/bloodmagic/loot_tables/blocks/dungeon_brick_assorted.json
03410080009911badbf6458a54b596bee464cbe4 data/bloodmagic/loot_tables/blocks/dungeon_brick_gate.json
0d30aeb91425e2419abf555e9baab34475f45afc data/bloodmagic/loot_tables/blocks/dungeon_brick_stairs.json
fa335aded871280065ca02db79d6de59ced7f6c9 data/bloodmagic/loot_tables/blocks/dungeon_brick_wall.json
47baa958866616d96eb39e2671a4cf488e0abae2 data/bloodmagic/loot_tables/blocks/dungeon_eye.json
055aa396cd80393d84ed340692be62f74ecb6ffc data/bloodmagic/loot_tables/blocks/dungeon_metal.json
234675dab5d5ff7e1fec0e13cede1f141811fc92 data/bloodmagic/loot_tables/blocks/dungeon_ore.json
53864c213b973e67006cda4596877bcdd3474396 data/bloodmagic/loot_tables/blocks/dungeon_pillar_cap.json
db8be3b67639ab451d0a28e0674240094ceea046 data/bloodmagic/loot_tables/blocks/dungeon_pillar_center.json
c3deab4dd4ef8c1cf6f217d660ea07e5d7bd8555 data/bloodmagic/loot_tables/blocks/dungeon_pillar_special.json
32d9f0674d7d416a5d668af187b89caede4188a3 data/bloodmagic/loot_tables/blocks/dungeon_polished.json
dc0822572a66634163dd630797b1b90d98d47c22 data/bloodmagic/loot_tables/blocks/dungeon_polished_gate.json
a44e605af1925a17a806c751f9f4279dbffa417f data/bloodmagic/loot_tables/blocks/dungeon_polished_stairs.json
d6f0610c923131dee1c8723231ffafd7a75eb689 data/bloodmagic/loot_tables/blocks/dungeon_polished_wall.json
e936d89fc5a75a786a455a32e9bce2f7b1bdcb34 data/bloodmagic/loot_tables/blocks/dungeon_smallbrick.json
b6732b30df9e946739a1913671a60f56090679f8 data/bloodmagic/loot_tables/blocks/dungeon_stone.json
69eb25424b97782eb86d9667581ada8d03e3b220 data/bloodmagic/loot_tables/blocks/dungeon_tile.json
6381473b6e0bc7c16b8214eb083f5069622b4dd1 data/bloodmagic/loot_tables/blocks/dungeon_tilespecial.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/duskritualstone.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/earthritualstone.json
2f27b244e5b3459408e9519dde05dc70cbb03998 data/bloodmagic/loot_tables/blocks/ethereal_mimic.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/fireritualstone.json
70ecedd4cea1655ce9fe5b1d3f72796a5c0ff133 data/bloodmagic/loot_tables/blocks/fungal_charge.json
59dd54a876b7ccd0b6c90f409753c2af2d687f03 data/bloodmagic/loot_tables/blocks/incensealtar.json
462a82b07e7fe3e479a2c072c73507686c339346 data/bloodmagic/loot_tables/blocks/largebloodstonebrick.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/lightritualstone.json
72610188b4538d98ffcd015c2813d63d19889d5f data/bloodmagic/loot_tables/blocks/masterritualstone.json
ce5bf03f0ee03205ef6a1b6f512cb5da23addc57 data/bloodmagic/loot_tables/blocks/mimic.json
842c4dce4e47561fe29d7b5c03d3953808ada929 data/bloodmagic/loot_tables/blocks/nether_soil.json
3892d33bbef90db50034b1358d4a9ee8b731bc8d data/bloodmagic/loot_tables/blocks/obsidianbrickpath.json
3576b2f9d92ab5bdc456cb904905fb5c969e55f3 data/bloodmagic/loot_tables/blocks/obsidiantilepath.json
95442c1bb740fab2eb8ee051f7184813f6023afa data/bloodmagic/loot_tables/blocks/orbcapacityrune.json
6c59e846922061c0f2249b0c73c3be89ec73ea31 data/bloodmagic/loot_tables/blocks/rawdemoncrystal.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/ritualstone.json
e0239eff7762a414a4e4faa0158d844dffb8c1f6 data/bloodmagic/loot_tables/blocks/sacrificerune.json
9b697e37046b6238b3a19eae9113b88010ccff32 data/bloodmagic/loot_tables/blocks/selfsacrificerune.json
fce757b3f3b79758be0fba70e016b3bdb373814e data/bloodmagic/loot_tables/blocks/shaped_charge.json
f748a5ba8838b50de0502f132fe2a65f4726dae6 data/bloodmagic/loot_tables/blocks/soulforge.json
015e07226fd90935f7ec663f4bcf3873a57a82d1 data/bloodmagic/loot_tables/blocks/speedrune.json
128ec3ee93e927d457beeb8161e80706e9239760 data/bloodmagic/loot_tables/blocks/steadfastdemoncrystal.json
8849e41b699c2eb7c3712a8e862bd9dd309a5c31 data/bloodmagic/loot_tables/blocks/stonebrickpath.json
6149fd464bafaabf35ca431202680c84cf5441b1 data/bloodmagic/loot_tables/blocks/stonetilepath.json
10b636d364f9ff72eb6db34f6f5e6aca704fc621 data/bloodmagic/loot_tables/blocks/veinmine_charge.json
33a22d9b198c93ed07ac69b7a594bb08db64b239 data/bloodmagic/loot_tables/blocks/vengefuldemoncrystal.json
26e3f34021426def32602e5ae7755e4672878320 data/bloodmagic/loot_tables/blocks/waterritualstone.json
04c5bc02383ddff04588af3a048ee3973e69666f data/bloodmagic/loot_tables/blocks/woodbrickpath.json
2c471cedf5e3e39610821766609646698d2b47e3 data/bloodmagic/loot_tables/blocks/woodtilepath.json
9ab0aac56f75e7811f9641a6a20ff8d9dd78876a data/bloodmagic/loot_tables/blocks/wornstonebrickpath.json
4a7395079f874ae08af94f64a8a00211a56e906a data/bloodmagic/loot_tables/blocks/wornstonetilepath.json
c95cd70b7ca320e18618c07827add555984b0e45 data/bloodmagic/loot_tables/test.json
966981b01944985f1fe5cfa72b21c9ceeebd9cc4 data/bloodmagic/recipes/alchemy_table.json
6e508e442b24c2a0e3f85026277c199cc0deada0 data/bloodmagic/recipes/alchemytable/arcane_ash.json
a343604b5a75e1b3810df97d024813fb041cffb6 data/bloodmagic/recipes/alchemytable/basic_cutting_fluid.json
cc28a48ec4b21be99c4ec13f6e560c322012192c data/bloodmagic/recipes/alchemytable/bow_power_anointment.json
6a93bcd65cf2636fc684276777f56630f82d710c data/bloodmagic/recipes/alchemytable/bread.json
e50009fa724173c2dcb4fab49b4f029039f69bf8 data/bloodmagic/recipes/alchemytable/clay_from_sand.json
72f8d4afe57970d3969a9373b18f8eac86b245bc data/bloodmagic/recipes/alchemytable/cobweb.json
96cc66cdb9c5f786eaa899e1fbdd38144e44a0fe data/bloodmagic/recipes/alchemytable/explosive_powder.json
1fa964af556af521d8eaf1a686befdd9d69c63af data/bloodmagic/recipes/alchemytable/flint_from_gravel.json
90b9431139014864558e96916eb835105f3b5a2f data/bloodmagic/recipes/alchemytable/fortune_anointment.json
7b4b20c316a4c2e533d8a123025a4424ea808142 data/bloodmagic/recipes/alchemytable/gold_ore_from_gilded.json
aff95e4322f9e8daaffc2337964f95ab6f9d631c data/bloodmagic/recipes/alchemytable/grass_block.json
540edca1f507d366e55887b4429a9952c00f4060 data/bloodmagic/recipes/alchemytable/gunpowder.json
9f1b37b59f8abbe419306b3eb8af59317a54483a data/bloodmagic/recipes/alchemytable/hidden_knowledge_anointment.json
566352daaa6e6803df68475d964108b3f89cebd2 data/bloodmagic/recipes/alchemytable/holy_water_anointment.json
0657a60976678fdfbdf0b8ee2c178502520d194a data/bloodmagic/recipes/alchemytable/leather_from_flesh.json
c42ae24ad8955d8cf0a1f1096b0bca37d55621cf data/bloodmagic/recipes/alchemytable/looting_anointment.json
93620eaad39a46a97f3381ff5c645e59d7dddd16 data/bloodmagic/recipes/alchemytable/melee_damage_anointment.json
b18dde32d8a428f44437c0e53e5fdb990597498d data/bloodmagic/recipes/alchemytable/nether_wart_from_block.json
0a5ce0f2d09a596fb47b27a60e66eceeb04e0b0d data/bloodmagic/recipes/alchemytable/plantoil_from_beets.json
f1fd76dab242882e327b4677b95328cb3a52deee data/bloodmagic/recipes/alchemytable/plantoil_from_carrots.json
e9f5a06e4800cb03cc13480db9fdb7b9fa47f487 data/bloodmagic/recipes/alchemytable/plantoil_from_taters.json
f41e9bf8376ffcad07752b5657e27e06e500be0a data/bloodmagic/recipes/alchemytable/plantoil_from_wheat.json
6230b36712a5b6d239ec35b85e7fda0917ca7bc2 data/bloodmagic/recipes/alchemytable/quick_draw_anointment.json
eb8f2ef0c592ba022190d727eec69d73b7437bac data/bloodmagic/recipes/alchemytable/reagent_air.json
755960529025fecd187cae962dc76988c1d52c8e data/bloodmagic/recipes/alchemytable/reagent_binding.json
47a4511054bd10454302a6b41eecfac942d27864 data/bloodmagic/recipes/alchemytable/reagent_blood_light.json
e50bf64f33ac29e704f553ef465c2631c1857777 data/bloodmagic/recipes/alchemytable/reagent_fastminer.json
00d41617bb2e67cdfcfcd87c3bb931726bd37e13 data/bloodmagic/recipes/alchemytable/reagent_growth.json
2c613ba6d23fb3a133963e48134893ac7e404042 data/bloodmagic/recipes/alchemytable/reagent_holding.json
e06d24e618d3f2f17cb34a79ac630bd81c85dc45 data/bloodmagic/recipes/alchemytable/reagent_lava.json
41969af0a92baece82c53a779f2e71aec71fe0cb data/bloodmagic/recipes/alchemytable/reagent_magnetism.json
cb5b17173d9f6b7dad40a59aa920f47601e1304e data/bloodmagic/recipes/alchemytable/reagent_sight.json
1f19c4b4070c9e519c83fc624cb401503d8178cb data/bloodmagic/recipes/alchemytable/reagent_void.json
ef693cd04a08d89990ec8bb2620ff5e7efc353fc data/bloodmagic/recipes/alchemytable/reagent_water.json
842713a090b5abf3ce967dbee90d7582f7414949 data/bloodmagic/recipes/alchemytable/sand_coal.json
9292733697eca52de2c2ac7325ba45ab0354bfa3 data/bloodmagic/recipes/alchemytable/sand_gold.json
06f00cce47e0d5e5d25a2587796494340f8a3278 data/bloodmagic/recipes/alchemytable/sand_iron.json
3e3359b89a8c38c0fdeb2b4ca2920bce053082f8 data/bloodmagic/recipes/alchemytable/silk_touch_anointment.json
f7e91d164ea5c782420ff3507a98da16c5915b73 data/bloodmagic/recipes/alchemytable/slate_vial.json
4158f21d795aeeec52cfdec718ba9f82b0f2d10d data/bloodmagic/recipes/alchemytable/smelting_anointment.json
a91e81c79959b522bcd1bac901bca646184015de data/bloodmagic/recipes/alchemytable/string.json
3c9d829f7bff8a4d607c46fc3ff4f86dffa28fd5 data/bloodmagic/recipes/altar/air_tool.json
f41b0e9dfab608c42a85c3c5c5bbc050b03f02a1 data/bloodmagic/recipes/altar/apprenticebloodorb.json
2269c03d8ba4b790fb6a30c32bdb0169c283e5e2 data/bloodmagic/recipes/altar/bucket_life.json
2a67e37497a571b5ee944375d315fddccea87697 data/bloodmagic/recipes/altar/daggerofsacrifice.json
c5a4a256a7437f2e13c574a6f0c4d75fc2e718cb data/bloodmagic/recipes/altar/demonicslate.json
d79a96eb3eed597f1c18a8983764a6362a24748c data/bloodmagic/recipes/altar/dusk_tool.json
7272cdd4e1469cf83849e5444b4b93a7563a6bf2 data/bloodmagic/recipes/altar/earth_tool.json
37913b1babf9b8159332db09b114c919b1b49473 data/bloodmagic/recipes/altar/fire_tool.json
9aeb0d2d33d839eedb2d9bbdaf76fc73e0b39941 data/bloodmagic/recipes/altar/imbuedslate.json
2643d1516f6dae79128fdc8c48c4cfe23453f171 data/bloodmagic/recipes/altar/magicianbloodorb.json
5996888ae6e4ae9afc86a5d629a729d624fc4372 data/bloodmagic/recipes/altar/masterbloodorb.json
30d84c946ad9235f6e59f1046edbe8d44acc799e data/bloodmagic/recipes/altar/reinforcedslate.json
584d01dff4d64bb88bd3783751a29723700f1728 data/bloodmagic/recipes/altar/slate.json
5e6289a1c8deb414202bba0f16fc09f9fdf7add0 data/bloodmagic/recipes/altar/soul_snare.json
926d4a0e165c87a15a609744d832d2f5f04a40d0 data/bloodmagic/recipes/altar/water_tool.json
dd59da50b674ec8f680e01a91261bf34091075cf data/bloodmagic/recipes/altar/weakbloodorb.json
5807b2515f4a2dc9855327940e6055f6947f0749 data/bloodmagic/recipes/arc.json
f35bb47d609201f6568b598307ae9d157792fe3e data/bloodmagic/recipes/arc/clay_from_sand.json
6b8ba1822bac8a1af426a14f87d613dc89e3fca0 data/bloodmagic/recipes/arc/clay_from_terracotta.json
5206a65f02d3bea5c23164325eb23ce8e928102f data/bloodmagic/recipes/arc/dustsfrom_gravel_gold.json
5af6c601a7be4c0fc4811befa59324c1a2cdb758 data/bloodmagic/recipes/arc/dustsfrom_gravel_iron.json
6f3f5d2f3054d61a3965b10bcebc8cefe107cf5f data/bloodmagic/recipes/arc/dustsfrom_gravel_netherite_scrap.json
b5d3a7ee94494665a9e69519da43a0d4056deb76 data/bloodmagic/recipes/arc/dustsfrom_ingot_gold.json
a31e17fb2da1259fb186cfd07c9cd500e6354518 data/bloodmagic/recipes/arc/dustsfrom_ingot_iron.json
b9dc41ad0d9ee6035084a8e9a8eb920223817d33 data/bloodmagic/recipes/arc/dustsfrom_ingot_netherite_scrap.json
e0846e670dc94334ba695d2a1182527a5016cd31 data/bloodmagic/recipes/arc/dustsfrom_ore_gold.json
855c963531471cedd2f5f067801b96c0bd6a0c56 data/bloodmagic/recipes/arc/dustsfrom_ore_iron.json
e410be937d52aea0f186aa14fa9b2929a98ffaf3 data/bloodmagic/recipes/arc/dustsfrom_ore_netherite_scrap.json
517a3b7a6bbfc486777f509c2d9af6490ff722c9 data/bloodmagic/recipes/arc/fragmentsgold.json
d8b9e64d14e67299aa08888246cdead76ebd91ce data/bloodmagic/recipes/arc/fragmentsiron.json
ec54b6d447bf5709b15d7bccb9c7d0790661f621 data/bloodmagic/recipes/arc/fragmentsnetherite_scrap.json
0275b4a539ccac64818c19bcb5351408eea9d193 data/bloodmagic/recipes/arc/gravelsgold.json
32b0aeab82c1d98b86b162e98036b2591ccf649c data/bloodmagic/recipes/arc/gravelsiron.json
f83ad96ea74fd51f1fd78ee40ff0fbeb08755b12 data/bloodmagic/recipes/arc/gravelsnetherite_scrap.json
2eb26a1af68ed7a5fdb6ac9d4bbc7557729c56cd data/bloodmagic/recipes/arc/netherrack_to_sulfer.json
0a6a8034c55d093fed458759bbc85e5893712d35 data/bloodmagic/recipes/arc/ore/dustgold.json
b2760564e300976d88a3938bc0e9e2d2defa0841 data/bloodmagic/recipes/arc/ore/dustiron.json
249229687c1b41a4191c455278624b642b501b4e data/bloodmagic/recipes/arc/reversion/apprentice_blood_orb.json
a2b7d868ac099dd6fb29fa54892aad90e29d028d data/bloodmagic/recipes/arc/reversion/magician_blood_orb.json
a7f51456052d0fd317164d400cdd595ae2687df8 data/bloodmagic/recipes/arc/reversion/master_blood_orb.json
8d9d66d63e21cc8a6f02fac2111f5d169c8542ff data/bloodmagic/recipes/arc/reversion/weak_blood_orb.json
1e5814caf63714b8e1ff2b2f413a86ba8c840ebb data/bloodmagic/recipes/arc/weakbloodshard.json
e1285ec51100f2336c1ea1a1a3057e74a0dd84d1 data/bloodmagic/recipes/array/airsigil.json
d1ac23080f72f21adb5908befefe965ffb4efd4f data/bloodmagic/recipes/array/bloodlightsigil.json
f6b6c72c0a2d6b3e602976f0dd2dfa778be41777 data/bloodmagic/recipes/array/bounce.json
7110895fe75e65404bc66d6c09087d9e58220a11 data/bloodmagic/recipes/array/day.json
1890706e5b93cd6df764b0419483c348e0d7f277 data/bloodmagic/recipes/array/divinationsigil.json
4bd220ced486f1d8fc4468ebd61dac755670d716 data/bloodmagic/recipes/array/fastminersigil.json
d9ae32c70d4bd872f22229006ad3c8e0cf7e3721 data/bloodmagic/recipes/array/grove.json
f191a3c9982b827b0b2ba93164a81fc4f8cb0959 data/bloodmagic/recipes/array/growthsigil.json
4452b681c328ed01ec680b6b68cb2a0aee11ed3d data/bloodmagic/recipes/array/holdingsigil.json
78c880321f0bfad14239d4b9d2edae170a7fa86e data/bloodmagic/recipes/array/lavasigil.json
165f8f8ba7ae094cdd1367716a0797a0f8d4d605 data/bloodmagic/recipes/array/living_boots.json
1de17e8a769d471c934835955184d0c8782fb619 data/bloodmagic/recipes/array/living_helmet.json
4a48885f110a87505381c7e2f2607d30612a3604 data/bloodmagic/recipes/array/living_leggings.json
5e3c6dd7bfcd16e79f17e963d8c1b59c0d1aebe9 data/bloodmagic/recipes/array/living_plate.json
8b1007de1b7fca5d27b54d7c9839cde9e47ab1c0 data/bloodmagic/recipes/array/magnetismsigil.json
7a674784e0d8d4f6f071a72d26ba677087976970 data/bloodmagic/recipes/array/movement.json
5c208259e33c3a56c5d6f6ab951ac0c4d5b60e26 data/bloodmagic/recipes/array/night.json
6fd91801759c6a7a018b9d18601fc3db4d3ee3b4 data/bloodmagic/recipes/array/seersigil.json
1921cc1cba3bcc36a6be6edd377dd44eb9b884a0 data/bloodmagic/recipes/array/spike.json
085bf564ec74060e5c0224155cefc6ba0635c2c8 data/bloodmagic/recipes/array/updraft.json
cabe693e7c714203ad708a1068f302b3ee3120b0 data/bloodmagic/recipes/array/voidsigil.json
5e68d933fff631142a8dd819aee235d343d43cff data/bloodmagic/recipes/array/watersigil.json
ac895b8c95ca10d61ae6efedfe5815b980588433 data/bloodmagic/recipes/blood_altar.json
f4de3cfc4616f762b4a87b08510153ae06733528 data/bloodmagic/recipes/blood_rune_acceleration.json
78e3f4666bc13897821abec9fa41e8b72accd007 data/bloodmagic/recipes/blood_rune_aug_capacity.json
2f31d0108cdb0cca056405023bd0ac64b6c02524 data/bloodmagic/recipes/blood_rune_blank.json
5c4e4af372250a3f967666f0f97198547cfbd5e1 data/bloodmagic/recipes/blood_rune_capacity.json
f905c1a8ca4d3a9f841ca6c44caa91de327fc29d data/bloodmagic/recipes/blood_rune_charging.json
ac0ee73ab691edd09be24453bd3fe3dc1a8f1ecb data/bloodmagic/recipes/blood_rune_displacement.json
89563d5c176d465632a45005cbe5e570791fd8dd data/bloodmagic/recipes/blood_rune_orb.json
b63d77c3762f86d4a91f62e192c3e9b26e3b52ca data/bloodmagic/recipes/blood_rune_sacrifice.json
7c4e247c1df6ef594bbb2fc2196afb102f45982b data/bloodmagic/recipes/blood_rune_self_sacrifice.json
e2bcf2a6f951fbcef45554ec90ba28d14e261d18 data/bloodmagic/recipes/blood_rune_speed.json
eeb5e64b8bc90adc2554dde88b8792b92ad7c8cc data/bloodmagic/recipes/bloodstonebrick.json
68e9201ef0d0051618a73434b35791a208bacde1 data/bloodmagic/recipes/corrupted_dust.json
ab11cf6806dab2a2d1cda2f7fde9cd2ecd9cdf9f data/bloodmagic/recipes/experience_tome.json
84aeee900c15d94f1940e72c8f331755d0a97b11 data/bloodmagic/recipes/hellforged_block.json
9a5749465020b32b0147b3367784ce31a0d3b54b data/bloodmagic/recipes/incense_altar.json
63bca28ba5eebb9c488c819bcb117595eadb877d data/bloodmagic/recipes/largebloodstonebrick.json
9dedad36e9d2ab6688e069c2e6df3851c395b583 data/bloodmagic/recipes/lava_crystal.json
50d84717ac673875e4b52522b583f564a8a75e8e data/bloodmagic/recipes/path/path_stone.json
2756ff3f29e1231795671c94fdaf9e5abc65bbee data/bloodmagic/recipes/path/path_stonetile.json
dcb702aeb768bc0ff5d1f05c5ac95066c4082193 data/bloodmagic/recipes/path/path_wood.json
7491b9f62c29d2fde6ff1dbff09f16f458b9afe8 data/bloodmagic/recipes/path/path_woodtile.json
d85f637e3c87ba050c24581b8f4bef4176e1ba14 data/bloodmagic/recipes/path/path_wornstone.json
2ee3e7f073df764289939b8df814cc8f056eced0 data/bloodmagic/recipes/path/path_wornstonetile.json
0b1a11f0e1b6bc317e2dbf04560a81581623f41e data/bloodmagic/recipes/primitive_furnace_cell.json
7e1a70935e9b5ba6b345af6a7077287896ec6cfe data/bloodmagic/recipes/primitive_hydration_cell.json
bfd7925ad30534463d7daf0f7dce03cf1502cbcf data/bloodmagic/recipes/ritual_diviner_0.json
2ec436681cdd169bae99d090bb889c2a45420b6c data/bloodmagic/recipes/ritual_diviner_1.json
18accae45d6c592b108c227c629caf15e430bf2b data/bloodmagic/recipes/ritual_reader.json
7757e5fd52f71b0d21595e072593fc592210dd64 data/bloodmagic/recipes/ritual_stone_blank.json
8608f828f997b1a8015287bd9cd436e9d7dff2ff data/bloodmagic/recipes/ritual_stone_master.json
aefbf1fd258f1cda8d04db7e0794b9612993e6bf data/bloodmagic/recipes/sacrificial_dagger.json
1eab0535b38c4a8a021a72244b9e6a75353970f0 data/bloodmagic/recipes/smelting/ingot_gold.json
b644726cea2da0626f33b60fbc64701f26d48561 data/bloodmagic/recipes/smelting/ingot_hellforged.json
477f968ee84a5b9cd3e9c2a9864be32b5e7d3a32 data/bloodmagic/recipes/smelting/ingot_iron.json
06855bcd8951355604ab1e63b5db717382430967 data/bloodmagic/recipes/smelting/ingot_netherite_scrap.json
d4ee90b52934c7c530fb031dcf81d4f1ccb27a9b data/bloodmagic/recipes/soul_forge.json
8b64af8453c60b6b1ae55bd0dd1a68fe95e8ba19 data/bloodmagic/recipes/soulforge/commontartaricgem.json
659db62f8fb71c792b00d6409b1c9a2f1ca96048 data/bloodmagic/recipes/soulforge/corrosive_crystal_block.json
5ad148899ed46134ae0572b220736b9d38004980 data/bloodmagic/recipes/soulforge/deforester_charge.json
26d7fb7f868bcc96ce268adccead7207d5559afb data/bloodmagic/recipes/soulforge/deforester_charge_fortune_1.json
40ae097cd8b3c0dcd38f7032d928acdb71da13da data/bloodmagic/recipes/soulforge/deforester_charge_silk_touch.json
bd63ccb772c829a4a50df17f06a641353dc3b98e data/bloodmagic/recipes/soulforge/deforester_charge_smelting.json
2c90f1da43a79e61d2b6b09c012d08f53b133264 data/bloodmagic/recipes/soulforge/demon_crucible.json
bc4ad3b44720a3f7363ef53027b4aae35622e7c1 data/bloodmagic/recipes/soulforge/demon_crystallizer.json
759279a190f3bc74e162dedf0f5d311267e06fbc data/bloodmagic/recipes/soulforge/destructive_crystal_block.json
78f0e3dc5fa61d8f9c182a3608184f21925f79db data/bloodmagic/recipes/soulforge/fungal_charge.json
61003f9b47ae96e5bccd518d514ef2532ce6e028 data/bloodmagic/recipes/soulforge/fungal_charge_fortune_1.json
9f7efc88c863110e6253b8877eee93c2e6533090 data/bloodmagic/recipes/soulforge/fungal_charge_silk_touch.json
a625c60e99970a93cb188e17579bcb958890d7a9 data/bloodmagic/recipes/soulforge/fungal_charge_smelting.json
0b82d2354aaa635b4fe5514e4815298ee0dedf80 data/bloodmagic/recipes/soulforge/greatertartaricgem.json
d46b61779b3c8382862d4e66c3909a1241ecca18 data/bloodmagic/recipes/soulforge/lessertartaricgem.json
d6e06747c75fc06e708a15358911f1c63eee86b1 data/bloodmagic/recipes/soulforge/pettytartaricgem.json
2468dd785e301732b1be8108caa468bdd5008e46 data/bloodmagic/recipes/soulforge/primitive_crystalline_resonator.json
535a9ec33a425bde205dffc3254635741d1c82d6 data/bloodmagic/recipes/soulforge/raw_crystal_block.json
4a4340f334c51beaacb77fd201298ad94b71e79c data/bloodmagic/recipes/soulforge/sanguine_reverter.json
799c9b83373966f70bbd6777cdae0ff2ff89fd84 data/bloodmagic/recipes/soulforge/sentientaxe.json
6d94372ffffbe36ca91ed2a5e46991bff896726c data/bloodmagic/recipes/soulforge/sentientpickaxe.json
6b47831e5c2f3033b6706706d810fa96d8abebd6 data/bloodmagic/recipes/soulforge/sentientscythe.json
6dcced40126f950b85f868aa04c77e90b71b69f2 data/bloodmagic/recipes/soulforge/sentientshovel.json
7e281841a2953c1284d332c2bbf75097f8128241 data/bloodmagic/recipes/soulforge/sentientsword.json
dc977e9d98fcba66fbcce3f6c31a746db5ed60f5 data/bloodmagic/recipes/soulforge/shaped_charge.json
865cac49dd9604f35577aa6cfd2756946b49b8b1 data/bloodmagic/recipes/soulforge/shaped_charge_fortune_1.json
83b9b038785f449e4948cf17f8fa35457c24a3cb data/bloodmagic/recipes/soulforge/shaped_charge_silk_touch.json
7417c0ad20f4c23a7fed958f658e6dc96720ec60 data/bloodmagic/recipes/soulforge/shaped_charge_smelting.json
c4102a1573e632d0b9f894353b0d522a51a7c65e data/bloodmagic/recipes/soulforge/steadfast_crystal_block.json
ed0875aaba76e013684b8ea2f8275d5563e90e98 data/bloodmagic/recipes/soulforge/throwing_dagger.json
b081dbc0865421df6a591366393ffdbceb205907 data/bloodmagic/recipes/soulforge/throwing_dagger_syringe.json
978033adf58e34fa317bcea448ac1ddf3f0cd69e data/bloodmagic/recipes/soulforge/vein_charge.json
a06bb2d29cfa5d9c38092e93196bed7f331bcc97 data/bloodmagic/recipes/soulforge/vein_charge_fortune_1.json
29a712f5e12e1702f6221c4c8918ba37299edd7c data/bloodmagic/recipes/soulforge/vein_charge_silk_touch.json
911023ba84eed7836875793a21c32a83755760d3 data/bloodmagic/recipes/soulforge/vein_charge_smelting.json
3aa852edda803a2225ebe53d2daa55bd46b0a1b9 data/bloodmagic/recipes/soulforge/vengeful_crystal_block.json
d7d993bb729284a5201c164ea81fbe1d8e4e4750 data/bloodmagic/recipes/weak_activation_crystal.json
cf63fdccec992f2cb36c72843791623463cecc44 data/bloodmagic/tags/items/arc/cuttingfluid.json
54a0fcc973590c80a4d3cd6b82f5602ba7208438 data/bloodmagic/tags/items/arc/explosive.json
331b978ba851ae3c48390c5d992bcd5f28ac644d data/bloodmagic/tags/items/arc/furnace.json
a62b82e1f59284d230b4b983ffa4a4cecb288c0e data/bloodmagic/tags/items/arc/hydrate.json
9689738644fcfa3a80effc6ee150b67c67e8b8f4 data/bloodmagic/tags/items/arc/resonator.json
65326040c8974fcfcc8711d29040b4297ff55ec1 data/bloodmagic/tags/items/arc/reverter.json
14fb88c612622be110e273818eee9512cd285d56 data/bloodmagic/tags/items/arc/sieve.json
bcd2befe59cbb4931c8c9bed183d19b2a469e506 data/bloodmagic/tags/items/arc/tool.json
2bdc1397bd092d373f785f08a2befdce8c1c1e2e data/bloodmagic/tags/items/crystals/demon.json
dab44ece8bcdf079b349fc4f49da67aafe9c4cf7 data/bloodmagic/tags/items/dusts/corrupted.json
dc8d6f8f8d128499f3d2632ef1bc353cc49d1ddb data/bloodmagic/tags/items/fragments/gold.json
a60c7b779168689387a03f00002bfd8380d919e5 data/bloodmagic/tags/items/fragments/iron.json
590aab8d5f5a4ed18dd211865e917674dcabfea0 data/bloodmagic/tags/items/fragments/netherite_scrap.json
af9b1a9ba1b16a85e3e1cf84b99e4cc9e12f9886 data/bloodmagic/tags/items/gravels/gold.json
19547e1b8859f1e2f1ae858e74b4456fc20be53f data/bloodmagic/tags/items/gravels/iron.json
3597daeddb742612d0b7fe2d0f711251a2781ac2 data/bloodmagic/tags/items/gravels/netherite_scrap.json
04fdfff381183672d6d7b3e55ded42a0a5b89f16 data/bloodmagic/tags/items/tiny_dusts/corrupted.json
b7b3ffae086763317f5ed70a4f857e9634932972 data/forge/tags/fluids/life.json
4f8f46a7e30fe81d36790d3ffed37efef7c87d06 data/forge/tags/items/dusts/coal.json
82f2679934e550a1188658350e52cfac7c450c4d data/forge/tags/items/dusts/gold.json
205d57b4f622a13fceda5e8062d9bba80d619e92 data/forge/tags/items/dusts/hellforged.json
625a1e6a3b635b2ac5176a49afbae9b476de4f71 data/forge/tags/items/dusts/iron.json
05fbe38ee5bdb3d912a5980254886ad64399e062 data/forge/tags/items/dusts/netherite_scrap.json
9380fe45b06787ba776af4a7d542a047c1441031 data/forge/tags/items/dusts/saltpeter.json
5c709b6444acb94ca784c33618547ba535e15db2 data/forge/tags/items/dusts/sulfur.json
ca758f49ba878f8e498fe156d4916c1e332d552c data/forge/tags/items/ingots/hellforged.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/copper.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/lead.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/osmium.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/silver.json
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/forge/tags/items/ores/tin.json
d348e6ef5f30db7c6c6ef2aac89c45e9c4c6fef7 data/minecraft/tags/blocks/mushroom_hyphae.json
95fd3a7b178a92c5aecdd097fec5359f14a06c13 data/minecraft/tags/blocks/mushroom_stem.json
2ba6f93ee0567360afa3ae9999027b839ed06532 data/minecraft/tags/blocks/walls.json
d348e6ef5f30db7c6c6ef2aac89c45e9c4c6fef7 data/minecraft/tags/items/mushroom_hyphae.json
95fd3a7b178a92c5aecdd097fec5359f14a06c13 data/minecraft/tags/items/mushroom_stem.json

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/accelerationrune"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/airritualstone"
}
}
}

View file

@ -0,0 +1,34 @@
{
"variants": {
"facing=north,lit=false": {
"model": "bloodmagic:block/alchemicalreactionchamber"
},
"facing=south,lit=false": {
"model": "bloodmagic:block/alchemicalreactionchamber",
"y": 180
},
"facing=west,lit=false": {
"model": "bloodmagic:block/alchemicalreactionchamber",
"y": 270
},
"facing=east,lit=false": {
"model": "bloodmagic:block/alchemicalreactionchamber",
"y": 90
},
"facing=north,lit=true": {
"model": "bloodmagic:block/alchemicalreactionchamber"
},
"facing=south,lit=true": {
"model": "bloodmagic:block/alchemicalreactionchamber",
"y": 180
},
"facing=west,lit=true": {
"model": "bloodmagic:block/alchemicalreactionchamber",
"y": 270
},
"facing=east,lit=true": {
"model": "bloodmagic:block/alchemicalreactionchamber",
"y": 90
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/altarcapacityrune"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/bettercapacityrune"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/blankrune"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/bloodlight"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/bloodstonebrick"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/chargingrune"
}
}
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 180
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1"
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 90
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 180
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2"
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 180
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3"
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 180
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4"
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 180
}
},
{
"when": {
"age": "4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5"
}
},
{
"when": {
"age": "4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 180
}
},
{
"when": {
"age": "5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6"
}
},
{
"when": {
"age": "5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 90
}
},
{
"when": {
"age": "5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 270
}
},
{
"when": {
"age": "5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 180
}
},
{
"when": {
"age": "6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7"
}
},
{
"when": {
"age": "6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 90
}
},
{
"when": {
"age": "6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 270
}
},
{
"when": {
"age": "6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/corrosivecrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,28 @@
{
"variants": {
"age=0": {
"model": "bloodmagic:block/creeping_doubt_1"
},
"age=1": {
"model": "bloodmagic:block/creeping_doubt_2"
},
"age=2": {
"model": "bloodmagic:block/creeping_doubt_3"
},
"age=3": {
"model": "bloodmagic:block/creeping_doubt_4"
},
"age=4": {
"model": "bloodmagic:block/creeping_doubt_5"
},
"age=5": {
"model": "bloodmagic:block/creeping_doubt_6"
},
"age=6": {
"model": "bloodmagic:block/creeping_doubt_7"
},
"age=7": {
"model": "bloodmagic:block/creeping_doubt_8"
}
}
}

View file

@ -0,0 +1,29 @@
{
"variants": {
"attached=down": {
"model": "bloodmagic:block/deforester_charge",
"x": 180
},
"attached=up": {
"model": "bloodmagic:block/deforester_charge"
},
"attached=north": {
"model": "bloodmagic:block/deforester_charge",
"x": 90
},
"attached=south": {
"model": "bloodmagic:block/deforester_charge",
"x": 270
},
"attached=west": {
"model": "bloodmagic:block/deforester_charge",
"x": 90,
"y": 270
},
"attached=east": {
"model": "bloodmagic:block/deforester_charge",
"x": 90,
"y": 90
}
}
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 180
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1"
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 90
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 180
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2"
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 180
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3"
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 180
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4"
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 180
}
},
{
"when": {
"age": "4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5"
}
},
{
"when": {
"age": "4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 180
}
},
{
"when": {
"age": "5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6"
}
},
{
"when": {
"age": "5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 90
}
},
{
"when": {
"age": "5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 270
}
},
{
"when": {
"age": "5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 180
}
},
{
"when": {
"age": "6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7"
}
},
{
"when": {
"age": "6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 90
}
},
{
"when": {
"age": "6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 270
}
},
{
"when": {
"age": "6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/destructivecrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dislocationrune"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_brick1"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_brick2"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_brick3"
}
}
}

View file

@ -0,0 +1,15 @@
{
"variants": {
"": [
{
"model": "bloodmagic:block/dungeon_brick1"
},
{
"model": "bloodmagic:block/dungeon_brick2"
},
{
"model": "bloodmagic:block/dungeon_brick3"
}
]
}
}

View file

@ -0,0 +1,80 @@
{
"variants": {
"facing=north,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate",
"uvlock": true
},
"facing=west,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate",
"y": 270,
"uvlock": true
},
"facing=north,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate_wall",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate_wall",
"uvlock": true
},
"facing=west,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate_wall",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_brick_gate_wall",
"y": 270,
"uvlock": true
},
"facing=north,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_open",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_open",
"uvlock": true
},
"facing=west,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_open",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_open",
"y": 270,
"uvlock": true
},
"facing=north,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_wall_open",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_wall_open",
"uvlock": true
},
"facing=west,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_wall_open",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_brick_gate_wall_open",
"y": 270,
"uvlock": true
}
}
}

View file

@ -0,0 +1,209 @@
{
"variants": {
"facing=north,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_brick_stairs"
},
"facing=north,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner"
},
"facing=west,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_inner"
},
"facing=north,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer"
},
"facing=west,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_brick_stairs_outer"
}
}
}

View file

@ -0,0 +1,90 @@
{
"multipart": [
{
"when": {
"up": "true"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_post"
}
},
{
"when": {
"east": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side",
"y": 90,
"uvlock": true
}
},
{
"when": {
"east": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side_tall",
"y": 90,
"uvlock": true
}
},
{
"when": {
"north": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side",
"uvlock": true
}
},
{
"when": {
"north": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side_tall",
"uvlock": true
}
},
{
"when": {
"south": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side",
"y": 180,
"uvlock": true
}
},
{
"when": {
"south": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side_tall",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side",
"y": 270,
"uvlock": true
}
},
{
"when": {
"west": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_brick_wall_side_tall",
"y": 270,
"uvlock": true
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_eye"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_metal"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_ore"
}
}
}

View file

@ -0,0 +1,22 @@
{
"variants": {
"facing=down": {
"model": "bloodmagic:block/dungeon_pillar_cap_down"
},
"facing=up": {
"model": "bloodmagic:block/dungeon_pillar_cap"
},
"facing=north": {
"model": "bloodmagic:block/dungeon_pillar_cap_north"
},
"facing=south": {
"model": "bloodmagic:block/dungeon_pillar_cap_south"
},
"facing=west": {
"model": "bloodmagic:block/dungeon_pillar_cap_west"
},
"facing=east": {
"model": "bloodmagic:block/dungeon_pillar_cap_east"
}
}
}

View file

@ -0,0 +1,13 @@
{
"variants": {
"axis=x": {
"model": "bloodmagic:block/dungeon_pillar_center_x"
},
"axis=y": {
"model": "bloodmagic:block/dungeon_pillar_center"
},
"axis=z": {
"model": "bloodmagic:block/dungeon_pillar_center_z"
}
}
}

View file

@ -0,0 +1,13 @@
{
"variants": {
"axis=x": {
"model": "bloodmagic:block/dungeon_pillar_special_x"
},
"axis=y": {
"model": "bloodmagic:block/dungeon_pillar_special"
},
"axis=z": {
"model": "bloodmagic:block/dungeon_pillar_special_z"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_polished"
}
}
}

View file

@ -0,0 +1,80 @@
{
"variants": {
"facing=north,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate",
"uvlock": true
},
"facing=west,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=false,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate",
"y": 270,
"uvlock": true
},
"facing=north,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate_wall",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate_wall",
"uvlock": true
},
"facing=west,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate_wall",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=true,open=false": {
"model": "bloodmagic:block/dungeon_polished_gate_wall",
"y": 270,
"uvlock": true
},
"facing=north,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_open",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_open",
"uvlock": true
},
"facing=west,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_open",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=false,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_open",
"y": 270,
"uvlock": true
},
"facing=north,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_wall_open",
"y": 180,
"uvlock": true
},
"facing=south,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_wall_open",
"uvlock": true
},
"facing=west,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_wall_open",
"y": 90,
"uvlock": true
},
"facing=east,in_wall=true,open=true": {
"model": "bloodmagic:block/dungeon_polished_gate_wall_open",
"y": 270,
"uvlock": true
}
}
}

View file

@ -0,0 +1,209 @@
{
"variants": {
"facing=north,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=straight": {
"model": "bloodmagic:block/dungeon_polished_stairs"
},
"facing=north,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner"
},
"facing=west,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_inner"
},
"facing=north,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer"
},
"facing=west,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "bloodmagic:block/dungeon_polished_stairs_outer"
}
}
}

View file

@ -0,0 +1,90 @@
{
"multipart": [
{
"when": {
"up": "true"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_post"
}
},
{
"when": {
"east": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side",
"y": 90,
"uvlock": true
}
},
{
"when": {
"east": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side_tall",
"y": 90,
"uvlock": true
}
},
{
"when": {
"north": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side",
"uvlock": true
}
},
{
"when": {
"north": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side_tall",
"uvlock": true
}
},
{
"when": {
"south": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side",
"y": 180,
"uvlock": true
}
},
{
"when": {
"south": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side_tall",
"y": 180,
"uvlock": true
}
},
{
"when": {
"west": "low"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side",
"y": 270,
"uvlock": true
}
},
{
"when": {
"west": "tall"
},
"apply": {
"model": "bloodmagic:block/dungeon_polished_wall_side_tall",
"y": 270,
"uvlock": true
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_smallbrick"
}
}
}

View file

@ -0,0 +1,20 @@
{
"variants": {
"": [
{
"model": "bloodmagic:block/dungeon_stone"
},
{
"model": "bloodmagic:block/dungeon_stone_mirrored"
},
{
"model": "bloodmagic:block/dungeon_stone",
"y": 180
},
{
"model": "bloodmagic:block/dungeon_stone_mirrored",
"y": 180
}
]
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_tile"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/dungeon_tilespecial"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/duskritualstone"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/earthritualstone"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/fireritualstone"
}
}
}

View file

@ -0,0 +1,29 @@
{
"variants": {
"attached=down": {
"model": "bloodmagic:block/fungal_charge",
"x": 180
},
"attached=up": {
"model": "bloodmagic:block/fungal_charge"
},
"attached=north": {
"model": "bloodmagic:block/fungal_charge",
"x": 90
},
"attached=south": {
"model": "bloodmagic:block/fungal_charge",
"x": 270
},
"attached=west": {
"model": "bloodmagic:block/fungal_charge",
"x": 90,
"y": 270
},
"attached=east": {
"model": "bloodmagic:block/fungal_charge",
"x": 90,
"y": 90
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/largebloodstonebrick"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/lightritualstone"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/masterritualstone"
}
}
}

View file

@ -0,0 +1,28 @@
{
"variants": {
"moisture=0": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=1": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=2": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=3": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=4": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=5": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=6": {
"model": "bloodmagic:block/nether_soil"
},
"moisture=7": {
"model": "bloodmagic:block/nether_soil"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/obsidianbrickpath"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/obsidiantilepath"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/orbcapacityrune"
}
}
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 180
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1"
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 90
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 180
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2"
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 180
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3"
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 180
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4"
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 180
}
},
{
"when": {
"age": "4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5"
}
},
{
"when": {
"age": "4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 180
}
},
{
"when": {
"age": "5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6"
}
},
{
"when": {
"age": "5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 90
}
},
{
"when": {
"age": "5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 270
}
},
{
"when": {
"age": "5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 180
}
},
{
"when": {
"age": "6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7"
}
},
{
"when": {
"age": "6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 90
}
},
{
"when": {
"age": "6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 270
}
},
{
"when": {
"age": "6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/defaultcrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/ritualstone"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/sacrificerune"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/selfsacrificerune"
}
}
}

View file

@ -0,0 +1,29 @@
{
"variants": {
"attached=down": {
"model": "bloodmagic:block/shaped_charge",
"x": 180
},
"attached=up": {
"model": "bloodmagic:block/shaped_charge"
},
"attached=north": {
"model": "bloodmagic:block/shaped_charge",
"x": 90
},
"attached=south": {
"model": "bloodmagic:block/shaped_charge",
"x": 270
},
"attached=west": {
"model": "bloodmagic:block/shaped_charge",
"x": 90,
"y": 270
},
"attached=east": {
"model": "bloodmagic:block/shaped_charge",
"x": 90,
"y": 90
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/speedrune"
}
}
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 180
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1"
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 90
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 180
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2"
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 180
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3"
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 180
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4"
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 180
}
},
{
"when": {
"age": "4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5"
}
},
{
"when": {
"age": "4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 180
}
},
{
"when": {
"age": "5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6"
}
},
{
"when": {
"age": "5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 90
}
},
{
"when": {
"age": "5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 270
}
},
{
"when": {
"age": "5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 180
}
},
{
"when": {
"age": "6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7"
}
},
{
"when": {
"age": "6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 90
}
},
{
"when": {
"age": "6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 270
}
},
{
"when": {
"age": "6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/steadfastcrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/stonebrickpath"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/stonetilepath"
}
}
}

View file

@ -0,0 +1,29 @@
{
"variants": {
"attached=down": {
"model": "bloodmagic:block/veinmine_charge",
"x": 180
},
"attached=up": {
"model": "bloodmagic:block/veinmine_charge"
},
"attached=north": {
"model": "bloodmagic:block/veinmine_charge",
"x": 90
},
"attached=south": {
"model": "bloodmagic:block/veinmine_charge",
"x": 270
},
"attached=west": {
"model": "bloodmagic:block/veinmine_charge",
"x": 90,
"y": 270
},
"attached=east": {
"model": "bloodmagic:block/veinmine_charge",
"x": 90,
"y": 90
}
}
}

View file

@ -0,0 +1,431 @@
{
"multipart": [
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 180
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1"
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 90
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "0|1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal1",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 180
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2"
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 90
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "1|2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal2",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 180
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3"
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 90
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "2|3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal3",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 180
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4"
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 90
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "3|4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal4",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 180
}
},
{
"when": {
"age": "4|5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5"
}
},
{
"when": {
"age": "4|5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 90
}
},
{
"when": {
"age": "4|5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "4|5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal5",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "5|6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 180
}
},
{
"when": {
"age": "5|6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6"
}
},
{
"when": {
"age": "5|6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 90
}
},
{
"when": {
"age": "5|6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 270
}
},
{
"when": {
"age": "5|6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "5|6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal6",
"x": 90,
"y": 90
}
},
{
"when": {
"age": "6",
"attached": "down"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 180
}
},
{
"when": {
"age": "6",
"attached": "up"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7"
}
},
{
"when": {
"age": "6",
"attached": "north"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 90
}
},
{
"when": {
"age": "6",
"attached": "south"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 270
}
},
{
"when": {
"age": "6",
"attached": "west"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 90,
"y": 270
}
},
{
"when": {
"age": "6",
"attached": "east"
},
"apply": {
"model": "bloodmagic:block/crystal/vengefulcrystal7",
"x": 90,
"y": 90
}
}
]
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/waterritualstone"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/woodbrickpath"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/woodtilepath"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/wornstonebrickpath"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "bloodmagic:block/wornstonetilepath"
}
}
}

View file

@ -0,0 +1,503 @@
{
"anointment.bloodmagic.bow_power": "Heavy Shot",
"anointment.bloodmagic.fortune": "Fortunate",
"anointment.bloodmagic.hidden_knowledge": "Miner's Secrets",
"anointment.bloodmagic.holy_water": "Holy Light",
"anointment.bloodmagic.looting": "Plundering",
"anointment.bloodmagic.melee_damage": "Whetstone",
"anointment.bloodmagic.quick_draw": "Deft Hands",
"anointment.bloodmagic.silk_touch": "Soft Touch",
"anointment.bloodmagic.smelting": "Heated Tool",
"block.bloodmagic.accelerationrune": "Acceleration Rune",
"block.bloodmagic.airritualstone": "Air Ritual Stone",
"block.bloodmagic.alchemicalreactionchamber": "Alchemical Reaction Chamber",
"block.bloodmagic.alchemytable": "Alchemy Table",
"block.bloodmagic.altar": "Blood Altar",
"block.bloodmagic.altarcapacityrune": "Rune of Capacity",
"block.bloodmagic.bettercapacityrune": "Rune of Augmented Capacity",
"block.bloodmagic.blankrune": "Blank Rune",
"block.bloodmagic.bloodstonebrick": "Bloodstone Brick",
"block.bloodmagic.chargingrune": "Charging Rune",
"block.bloodmagic.corrosivedemoncrystal": "Corrosive Crystal Cluster",
"block.bloodmagic.deforester_charge": "Deforester Charge",
"block.bloodmagic.demoncrucible": "Demon Crucible",
"block.bloodmagic.demoncrystallizer": "Demon Crystallizer",
"block.bloodmagic.destructivedemoncrystal": "Destructive Crystal Cluster",
"block.bloodmagic.dislocationrune": "Displacement Rune",
"block.bloodmagic.dungeon_brick1": "Demon Bricks",
"block.bloodmagic.dungeon_brick2": "Offset Demon Bricks",
"block.bloodmagic.dungeon_brick3": "Long Demon Bricks",
"block.bloodmagic.dungeon_brick_assorted": "Assorted Demon Bricks",
"block.bloodmagic.dungeon_brick_gate": "Demon Brick Gate",
"block.bloodmagic.dungeon_brick_stairs": "Demon Brick Stairs",
"block.bloodmagic.dungeon_brick_wall": "Demon Brick Wall",
"block.bloodmagic.dungeon_eye": "Demon Eye",
"block.bloodmagic.dungeon_ore": "Demonite",
"block.bloodmagic.dungeon_pillar_cap": "Demon Stone Pillar Cap",
"block.bloodmagic.dungeon_pillar_center": "Demon Stone Pillar",
"block.bloodmagic.dungeon_pillar_special": "Accented Demon Stone Pillar",
"block.bloodmagic.dungeon_polished": "Polished Demon Stone",
"block.bloodmagic.dungeon_polished_gate": "Demon Stone Gate",
"block.bloodmagic.dungeon_polished_stairs": "Demon Stone Stairs",
"block.bloodmagic.dungeon_polished_wall": "Demon Stone Wall",
"block.bloodmagic.dungeon_smallbrick": "Small Demon Bricks",
"block.bloodmagic.dungeon_stone": "Demon Stone",
"block.bloodmagic.dungeon_tile": "Demon Stone Tiles",
"block.bloodmagic.dungeon_tilespecial": "Accented Demon Stone Tiles",
"block.bloodmagic.duskritualstone": "Dusk Ritual Stone",
"block.bloodmagic.earthritualstone": "Earth Ritual Stone",
"block.bloodmagic.fireritualstone": "Fire Ritual Stone",
"block.bloodmagic.fungal_charge": "Fungal Charge",
"block.bloodmagic.incensealtar": "Incense Altar",
"block.bloodmagic.largebloodstonebrick": "Large Bloodstone Brick",
"block.bloodmagic.lightritualstone": "Dawn Ritual Stone",
"block.bloodmagic.masterritualstone": "Master Ritual Stone",
"block.bloodmagic.obsidianbrickpath": "Obsidian Path",
"block.bloodmagic.obsidiantilepath": "Tiled Obsidian Path",
"block.bloodmagic.orbcapacityrune": "Rune of the Orb",
"block.bloodmagic.rawdemoncrystal": "Raw Crystal Cluster",
"block.bloodmagic.ritualstone": "Ritual Stone",
"block.bloodmagic.sacrificerune": "Rune of Sacrifice",
"block.bloodmagic.selfsacrificerune": "Rune of Self Sacrifice",
"block.bloodmagic.shaped_charge": "Shaped Charge",
"block.bloodmagic.soulforge": "Hellfire Forge",
"block.bloodmagic.speedrune": "Speed Rune",
"block.bloodmagic.steadfastdemoncrystal": "Steadfast Crystal Cluster",
"block.bloodmagic.stonebrickpath": "Stone Path",
"block.bloodmagic.stonetilepath": "Tiled Stone Path",
"block.bloodmagic.veinmine_charge": "Controlled Charge",
"block.bloodmagic.vengefuldemoncrystal": "Vengeful Crystal Cluster",
"block.bloodmagic.waterritualstone": "Water Ritual Stone",
"block.bloodmagic.woodbrickpath": "Wooden Path",
"block.bloodmagic.woodtilepath": "Tiled Wooden Path",
"block.bloodmagic.wornstonebrickpath": "Worn Stone Path",
"block.bloodmagic.wornstonetilepath": "Tiled Worn Stone Path",
"bloodmagic.keybind.cycle_holding_neg": "Cycle Sigil (-)",
"bloodmagic.keybind.cycle_holding_pos": "Cycle Sigil (+)",
"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$()",
"guide.bloodmagic.name": "Sanguine Scientiem",
"hud.bloodmagic.inactive": "Inactive",
"item.bloodmagic.activationcrystalawakened": "Awakened Activation Crystal",
"item.bloodmagic.activationcrystalcreative": "Creative Activation Crystal",
"item.bloodmagic.activationcrystalweak": "Weak Activation Crystal",
"item.bloodmagic.airscribetool": "Inscription Tool: Air",
"item.bloodmagic.airsigil": "Air Sigil",
"item.bloodmagic.apprenticebloodorb": "Apprentice Blood Orb",
"item.bloodmagic.arcaneashes": "Arcane Ashes",
"item.bloodmagic.basemonstersoul": "Demon Will",
"item.bloodmagic.basemonstersoul_corrosive": "Demon Will",
"item.bloodmagic.basemonstersoul_destructive": "Demon Will",
"item.bloodmagic.basemonstersoul_steadfast": "Demon Will",
"item.bloodmagic.basemonstersoul_vengeful": "Demon Will",
"item.bloodmagic.basiccuttingfluid": "Basic Cutting Fluid",
"item.bloodmagic.blankslate": "Blank Slate",
"item.bloodmagic.bloodlightsigil": "Sigil of the Blood Lamp",
"item.bloodmagic.bow_power_anointment": "Iron Tip",
"item.bloodmagic.coalsand": "Coal Sand",
"item.bloodmagic.corrosivecrystal": "Corrosive Will Crystal",
"item.bloodmagic.crystalline_resonator": "Crystalline Resonator",
"item.bloodmagic.daggerofsacrifice": "Dagger of Sacrifice",
"item.bloodmagic.defaultcrystal": "Demon Will Crystal",
"item.bloodmagic.demonslate": "Demonic Slate",
"item.bloodmagic.destructivecrystal": "Destructive Will Crystal",
"item.bloodmagic.divinationsigil": "Divination Sigil",
"item.bloodmagic.duskscribetool": "Inscription Tool: Dusk",
"item.bloodmagic.earthscribetool": "Inscription Tool: Earth",
"item.bloodmagic.etherealslate": "Ethereal Slate",
"item.bloodmagic.experiencebook": "Tome of Peritia",
"item.bloodmagic.explosivepowder": "Explosive Powder",
"item.bloodmagic.firescribetool": "Inscription Tool: Fire",
"item.bloodmagic.fortune_anointment": "Fortuna Extract",
"item.bloodmagic.fragment_netherite_scrap": "Ancient Debris Fragment",
"item.bloodmagic.furnacecell_primitive": "Primitive Fuel Cell",
"item.bloodmagic.goldfragment": "Gold Ore Fragment",
"item.bloodmagic.goldgravel": "Gold Gravel",
"item.bloodmagic.goldsand": "Gold Sand",
"item.bloodmagic.gravel_netherite_scrap": "Ancient Debris Gravel",
"item.bloodmagic.growthsigil": "Sigil of the Green Grove",
"item.bloodmagic.hidden_knowledge_anointment": "Miner's Secrets",
"item.bloodmagic.holy_water_anointment": "Holy Water",
"item.bloodmagic.icesigil": "Sigil of the Frozen Lake",
"item.bloodmagic.infusedslate": "Imbued Slate",
"item.bloodmagic.ironfragment": "Iron Ore Fragment",
"item.bloodmagic.irongravel": "Iron Gravel",
"item.bloodmagic.ironsand": "Iron Sand",
"item.bloodmagic.lavacrystal": "Lava Crystal",
"item.bloodmagic.lavasigil": "Lava Sigil",
"item.bloodmagic.life_essence_bucket": "Bucket of Life",
"item.bloodmagic.livingboots": "Living Boots",
"item.bloodmagic.livinghelmet": "Living Helmet",
"item.bloodmagic.livingleggings": "Living Leggings",
"item.bloodmagic.livingplate": "Living Chestplate",
"item.bloodmagic.looting_anointment": "Plunderer's Glint",
"item.bloodmagic.magicianbloodorb": "Magician Blood Orb",
"item.bloodmagic.masterbloodorb": "Master Blood Orb",
"item.bloodmagic.melee_anointment": "Honing Oil",
"item.bloodmagic.miningsigil": "Sigil of the Fast Miner",
"item.bloodmagic.plantoil": "Plant Oil",
"item.bloodmagic.primitive_crystalline_resonator": "Primitive Resonator",
"item.bloodmagic.primitive_explosive_cell": "Primitive Explosive Cell",
"item.bloodmagic.primitive_hydration_cell": "Primitive Hydration Cell",
"item.bloodmagic.quick_draw_anointment": "Dexterity Alkahest",
"item.bloodmagic.reagentair": "Air Reagent",
"item.bloodmagic.reagentbinding": "Binding Reagent",
"item.bloodmagic.reagentbloodlight": "Blood Lamp Reagent",
"item.bloodmagic.reagentfastminer": "Mining Reagent",
"item.bloodmagic.reagentgrowth": "Growth Reagent",
"item.bloodmagic.reagentholding": "Holding Reagent",
"item.bloodmagic.reagentlava": "Lava Reagent",
"item.bloodmagic.reagentmagnetism": "Magnetism Reagent",
"item.bloodmagic.reagentsight": "Sight Reagent",
"item.bloodmagic.reagentvoid": "Void Reagent",
"item.bloodmagic.reagentwater": "Water Reagent",
"item.bloodmagic.reinforcedslate": "Reinforced Slate",
"item.bloodmagic.ritualdiviner": "Ritual Diviner",
"item.bloodmagic.ritualdivinerdusk": "Ritual Diviner [Dusk]",
"item.bloodmagic.ritualtinkerer": "Ritual Tinkerer",
"item.bloodmagic.sacrificialdagger": "Sacrificial Knife",
"item.bloodmagic.saltpeter": "Saltpeter",
"item.bloodmagic.sand_netherite": "Netherite Scrap Sand",
"item.bloodmagic.sanguinereverter": "Sanguine Reverter",
"item.bloodmagic.seersigil": "Seer's Sigil",
"item.bloodmagic.sigilofholding": "Sigil of Holding",
"item.bloodmagic.sigilofmagnetism": "Sigil of Magnetism",
"item.bloodmagic.silk_touch_anointment": "Soft Coating",
"item.bloodmagic.slate_ampoule": "Slate Ampoule",
"item.bloodmagic.slate_vial": "Slate-infused Vial",
"item.bloodmagic.smelting_anointment": "Slow-burning Oil",
"item.bloodmagic.soulaxe": "Sentient Axe",
"item.bloodmagic.soulgemcommon": "Common Tartaric Gem",
"item.bloodmagic.soulgemgreater": "Greater Tartaric Gem",
"item.bloodmagic.soulgemlesser": "Lesser Tartaric Gem",
"item.bloodmagic.soulgempetty": "Petty Tartaric Gem",
"item.bloodmagic.soulpickaxe": "Sentient Pickaxe",
"item.bloodmagic.soulscythe": "Sentient Scythe",
"item.bloodmagic.soulshovel": "Sentient Shovel",
"item.bloodmagic.soulsnare": "Soul Snare",
"item.bloodmagic.soulsword": "Sentient Sword",
"item.bloodmagic.steadfastcrystal": "Steadfast Will Crystal",
"item.bloodmagic.sulfur": "Sulfur",
"item.bloodmagic.throwing_dagger": "Iron Throwing Dagger",
"item.bloodmagic.throwing_dagger_syringe": "Syringe Throwing Dagger",
"item.bloodmagic.upgradetome": "Living Armour Upgrade Tome",
"item.bloodmagic.vengefulcrystal": "Vengeful Will Crystal",
"item.bloodmagic.voidsigil": "Void Sigil",
"item.bloodmagic.waterscribetool": "Inscription Tool: Water",
"item.bloodmagic.watersigil": "Water Sigil",
"item.bloodmagic.weakbloodorb": "Weak Blood Orb",
"item.bloodmagic.weakbloodshard": "Weak Blood Shard",
"itemGroup.bloodmagic.creativeTab": "Blood Magic",
"itemGroup.bloodmagictab": "Blood Magic",
"jei.bloodmagic.recipe.alchemyarraycrafting": "Alchemy Array",
"jei.bloodmagic.recipe.alchemytable": "Alchemy Table",
"jei.bloodmagic.recipe.altar": "Blood Altar",
"jei.bloodmagic.recipe.arc": "ARC Recipe",
"jei.bloodmagic.recipe.arcfurnace": "ARC Furnace Recipe",
"jei.bloodmagic.recipe.consumptionrate": "Consumption: %s LP/t",
"jei.bloodmagic.recipe.drainrate": "Drain: %s LP/t",
"jei.bloodmagic.recipe.lpDrained": "Drained: %s LP",
"jei.bloodmagic.recipe.minimumsouls": "Minimum: %s Will",
"jei.bloodmagic.recipe.requiredlp": "LP: %d",
"jei.bloodmagic.recipe.requiredtier": "Tier: %d",
"jei.bloodmagic.recipe.soulforge": "Hellfire Forge",
"jei.bloodmagic.recipe.soulsdrained": "Drained: %s Will",
"jei.bloodmagic.recipe.ticksRequired": "Time: %sTicks",
"key.bloodmagic.category": "Blood Magic",
"living_upgrade.bloodmagic.arrow_protect": "Pin Cushion",
"living_upgrade.bloodmagic.arrow_shot": "Trick Shot",
"living_upgrade.bloodmagic.battleHunger": "Battle Hungry",
"living_upgrade.bloodmagic.crippledArm": "Crippled Arm",
"living_upgrade.bloodmagic.critical_strike": "True Strike",
"living_upgrade.bloodmagic.digSlowdown": "Weakened Pick",
"living_upgrade.bloodmagic.digging": "Dwarven Might",
"living_upgrade.bloodmagic.disoriented": "Disoriented",
"living_upgrade.bloodmagic.elytra": "Elytra",
"living_upgrade.bloodmagic.experienced": "Experienced",
"living_upgrade.bloodmagic.fall_protect": "Soft Fall",
"living_upgrade.bloodmagic.fire_resist": "Gift of Ignis",
"living_upgrade.bloodmagic.grave_digger": "Grave Digger",
"living_upgrade.bloodmagic.grim_reaper": "Grim Reaper's Sprint",
"living_upgrade.bloodmagic.health": "Healthy",
"living_upgrade.bloodmagic.jump": "Strong Legs",
"living_upgrade.bloodmagic.knockback_resist": "Body Builder",
"living_upgrade.bloodmagic.meleeDecrease": "Dulled Blade",
"living_upgrade.bloodmagic.melee_damage": "Fierce Strike",
"living_upgrade.bloodmagic.night_sight": "Nocturnal Prowess",
"living_upgrade.bloodmagic.physical_protect": "Tough",
"living_upgrade.bloodmagic.poison_resist": "Poison Resistance",
"living_upgrade.bloodmagic.quenched": "Quenched",
"living_upgrade.bloodmagic.repair": "Repairing",
"living_upgrade.bloodmagic.revealing": "Revealing",
"living_upgrade.bloodmagic.self_sacrifice": "Tough Palms",
"living_upgrade.bloodmagic.slippery": "Loose Traction",
"living_upgrade.bloodmagic.slowHeal": "Diseased",
"living_upgrade.bloodmagic.slowness": "Limp Leg",
"living_upgrade.bloodmagic.solar_powered": "Solar Powered",
"living_upgrade.bloodmagic.speed": "Quick Feet",
"living_upgrade.bloodmagic.sprint_attack": "Charging Strike",
"living_upgrade.bloodmagic.step_assist": "Step Assist",
"living_upgrade.bloodmagic.stormTrooper": "Storm Trooper",
"living_upgrade.bloodmagic.thaumRunicShielding": "Runic Shielding",
"ritual.bloodmagic.altarBuilderRitual": "The Assembly of the High Altar",
"ritual.bloodmagic.altarBuilderRitual.info": "Builds an altar out of the components inside of the connected inventory.",
"ritual.bloodmagic.animalGrowthRitual": "Ritual of the Shepherd",
"ritual.bloodmagic.animalGrowthRitual.chest.info": "(Chest) Chest for breeding items if properly augmented.",
"ritual.bloodmagic.animalGrowthRitual.corrosive.info": "(Corrosive) Unimplemented.",
"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.cobblestoneRitual": "Le Vulcanos Frigius",
"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": "The Timberman",
"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.corrosive.info": "(Corrosive) Disables gravity (+Vengeful) Applies Levitation.",
"ritual.bloodmagic.groundingRitual.default.info": "(Raw) Affects players.",
"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.default.info": "(Raw)",
"ritual.bloodmagic.regenerationRitual.destructive.info": "(Destructive)",
"ritual.bloodmagic.regenerationRitual.heal.info": "(Healing) Entities within this range will receive a regeneration buff.",
"ritual.bloodmagic.regenerationRitual.info": "Casts regeneration on entities within its range if they are missing health.",
"ritual.bloodmagic.regenerationRitual.steadfast.info": "(Steadfast)",
"ritual.bloodmagic.regenerationRitual.vampire.info": "(Vampirism) Mobs within this range have their health syphoned to heal players in the Healing range.",
"ritual.bloodmagic.regenerationRitual.vengeful.info": "(Vengeful)",
"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.",
"tile.bloodmagic.alchemytable.name": "Alchemy Table",
"tile.bloodmagic.arc.name": "Alchemical Reaction Chamber",
"tile.bloodmagic.soulforge.name": "Hellfire Forge",
"tooltip.bloodmagic.activated": "Activated",
"tooltip.bloodmagic.activationcrystal.awakened": "Activates more powerful rituals",
"tooltip.bloodmagic.activationcrystal.creative": "Creative Only - Activates any ritual",
"tooltip.bloodmagic.activationcrystal.weak": "Activates low-level rituals",
"tooltip.bloodmagic.arcaneAshes": "Ashes used to draw an alchemy circle",
"tooltip.bloodmagic.arctool.additionaldrops": "Increases chance of additional outputs by: x%s",
"tooltip.bloodmagic.arctool.uses": "Uses remaining: %s",
"tooltip.bloodmagic.blood_provider.slate.desc": "A simple ampoule containing 500LP",
"tooltip.bloodmagic.config.disabled": "Currently disabled in the Config",
"tooltip.bloodmagic.currentBaseType.corrosive": "Corrosive",
"tooltip.bloodmagic.currentBaseType.default": "Raw",
"tooltip.bloodmagic.currentBaseType.destructive": "Destructive",
"tooltip.bloodmagic.currentBaseType.steadfast": "Steadfast",
"tooltip.bloodmagic.currentBaseType.vengeful": "Vengeful",
"tooltip.bloodmagic.currentOwner": "Current owner: %s",
"tooltip.bloodmagic.currentTier": "Current tier: %d",
"tooltip.bloodmagic.currentType.corrosive": "Contains: Corrosive Will",
"tooltip.bloodmagic.currentType.default": "Contains: Raw Will",
"tooltip.bloodmagic.currentType.destructive": "Contains: Destructive Will",
"tooltip.bloodmagic.currentType.steadfast": "Contains: Steadfast Will",
"tooltip.bloodmagic.currentType.vengeful": "Contains: Vengeful Will",
"tooltip.bloodmagic.deactivated": "Deactivated",
"tooltip.bloodmagic.decoration.notSafe": "Dangerous for decoration",
"tooltip.bloodmagic.decoration.safe": "Safe for decoration",
"tooltip.bloodmagic.diviner.airRune": "Air Runes: %d",
"tooltip.bloodmagic.diviner.blankRune": "Blank Runes: %d",
"tooltip.bloodmagic.diviner.currentDirection": "Current Direction: %s",
"tooltip.bloodmagic.diviner.currentRitual": "Current Ritual: %s",
"tooltip.bloodmagic.diviner.dawnRune": "Dawn Runes: %d",
"tooltip.bloodmagic.diviner.duskRune": "Dusk Runes: %d",
"tooltip.bloodmagic.diviner.earthRune": "Earth Runes: %d",
"tooltip.bloodmagic.diviner.extraExtraInfo": "-Hold shift + alt for augmentation info-",
"tooltip.bloodmagic.diviner.extraInfo": "Press shift for extra info",
"tooltip.bloodmagic.diviner.fireRune": "Fire Runes: %d",
"tooltip.bloodmagic.diviner.totalRune": "Total Runes: %d",
"tooltip.bloodmagic.diviner.waterRune": "Water Runes: %d",
"tooltip.bloodmagic.experienceTome": "A book used to store experience",
"tooltip.bloodmagic.experienceTome.exp": "Exp: %0.3f",
"tooltip.bloodmagic.experienceTome.expLevel": "Level: %d",
"tooltip.bloodmagic.extraInfo": "&9-Hold shift for more info-",
"tooltip.bloodmagic.holdShiftForInfo": "Press shift for extra info",
"tooltip.bloodmagic.inscriber.desc": "The writing is on the wall...",
"tooltip.bloodmagic.livingarmour.extraExtraInfo": "&9-Hold shift + M for progress info-",
"tooltip.bloodmagic.livingarmour.upgrade.level": "%s (Level %d)",
"tooltip.bloodmagic.livingarmour.upgrade.points": "Upgrade points: %s / %s",
"tooltip.bloodmagic.livingarmour.upgrade.progress": "%s (%d/100)",
"tooltip.bloodmagic.orb.desc": "Stores raw Life Essence",
"tooltip.bloodmagic.orb.owner": "Added by: %s",
"tooltip.bloodmagic.ritualReader.currentState": "Current mode: %s",
"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.",
"tooltip.bloodmagic.ritualReader.information": "Information",
"tooltip.bloodmagic.ritualReader.set_area": "Define Area",
"tooltip.bloodmagic.ritualReader.set_will_types": "Set Will Consumed",
"tooltip.bloodmagic.sacrificialdagger.desc": "Just a prick of the finger will suffice...",
"tooltip.bloodmagic.sentientAxe.desc": "Uses demon will to unleash its full potential.",
"tooltip.bloodmagic.sentientPickaxe.desc": "Uses demon will to unleash its full potential.",
"tooltip.bloodmagic.sentientShovel.desc": "Uses demon will to unleash its full potential.",
"tooltip.bloodmagic.sentientSword.desc": "Uses demon will to unleash its full potential.",
"tooltip.bloodmagic.sigil.air.desc": "I feel lighter already...",
"tooltip.bloodmagic.sigil.bloodlight.desc": "I see a light!",
"tooltip.bloodmagic.sigil.divination.currentAltarCapacity": "Current Capacity: %d LP",
"tooltip.bloodmagic.sigil.divination.currentAltarTier": "Current Tier: %d",
"tooltip.bloodmagic.sigil.divination.currentBonus": "Current Bonus: +%d%%",
"tooltip.bloodmagic.sigil.divination.currentEssence": "Current Essence: %d LP",
"tooltip.bloodmagic.sigil.divination.currentTranquility": "Current Tranquility: %d",
"tooltip.bloodmagic.sigil.divination.desc": "Peer into the soul",
"tooltip.bloodmagic.sigil.divination.otherNetwork": "Peering into the soul of %s",
"tooltip.bloodmagic.sigil.fastminer.desc": "Keep mining, and mining...",
"tooltip.bloodmagic.sigil.greengrove.desc": "Environmentally friendly",
"tooltip.bloodmagic.sigil.holding.desc": "Sigil-ception",
"tooltip.bloodmagic.sigil.holding.press": "Press %s to modify",
"tooltip.bloodmagic.sigil.holding.sigilInSlot": "Slot %d: %s",
"tooltip.bloodmagic.sigil.lava.desc": "HOT! DO NOT EAT",
"tooltip.bloodmagic.sigil.magnetism.desc": "I have a very magnetic personality",
"tooltip.bloodmagic.sigil.seer.currentAltarCapacity": "Current Capacity: %d LP",
"tooltip.bloodmagic.sigil.seer.currentAltarConsumptionRate": "Consumption Rate: %d LP",
"tooltip.bloodmagic.sigil.seer.currentAltarProgress": "Current Progress: %d LP/ %s LP",
"tooltip.bloodmagic.sigil.seer.currentAltarProgress.percent": "Current Progress: %s",
"tooltip.bloodmagic.sigil.seer.currentAltarTier": "Current Tier: %d",
"tooltip.bloodmagic.sigil.seer.currentBonus": "Current Bonus: +%d%%",
"tooltip.bloodmagic.sigil.seer.currentCharge": "Current Charge: %d",
"tooltip.bloodmagic.sigil.seer.currentEssence": "Current Essence: %d LP",
"tooltip.bloodmagic.sigil.seer.currentTranquility": "Current Tranquility: %d",
"tooltip.bloodmagic.sigil.seer.desc": "When seeing all is not enough",
"tooltip.bloodmagic.sigil.void.desc": "Better than a Swiffer\u00AE!",
"tooltip.bloodmagic.sigil.water.desc": "Infinite water, anyone?",
"tooltip.bloodmagic.slate.desc": "Infused stone inside of a Blood Altar",
"tooltip.bloodmagic.slate_vial": "A glass vial infused with a simple slate",
"tooltip.bloodmagic.soulGem.common": "A gem used to contain more will",
"tooltip.bloodmagic.soulGem.grand": "A gem used to contain a large amount of will",
"tooltip.bloodmagic.soulGem.greater": "A gem used to contain a greater amount of will",
"tooltip.bloodmagic.soulGem.lesser": "A gem used to contain some will",
"tooltip.bloodmagic.soulGem.petty": "A gem used to contain a little will",
"tooltip.bloodmagic.soulSnare.desc": "Throw at a monster and then kill them to obtain their demonic will",
"tooltip.bloodmagic.throwing_dagger.desc": "Not to be used in the kitchen",
"tooltip.bloodmagic.tier": "Tier %d",
"tooltip.bloodmagic.will": "Will Quality: %s"
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/accelerationrune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/airritualstone"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "minecraft:block/orientable_with_bottom",
"textures": {
"side": "bloodmagic:block/arc_side",
"front": "bloodmagic:block/arc_front",
"bottom": "bloodmagic:block/arc_bottom",
"top": "bloodmagic:block/arc_top"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/altarcapacityrune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/bettercapacityrune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/blankrune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/bloodlight"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/bloodstonebrick"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "bloodmagic:block/chargingrune"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_1"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_2"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_3"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_4"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_5"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_6"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_7"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/crop",
"textures": {
"crop": "bloodmagic:block/creeping_doubt_8"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal1",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal2",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal3",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "bloodmagic:block/crystal4",
"textures": {
"crystal": "bloodmagic:models/corrosivecrystal"
}
}

Some files were not shown because too many files have changed in this diff Show more