Compare commits

..

1897 commits

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
Nicholas Ignoffo ce52aea512 Recipes for Blood Tank 2016-12-12 00:33:25 -08:00
Nicholas Ignoffo b7e2730bcc Implement the new model for the Blood Tank
- Texture needs some tinkering. Will bother @InsomniaKitten about it
- Minor cleanup and improvements
2016-12-11 23:54:03 -08:00
Arcaratus aac2623440 Implement a functioning Blood Tank (#969)
Added a search bar to the Upgrade Tomes Creative Tab
Updated some Altar fluid code (remove deprecated stuff)
Moved Rendering classes into appropriate package
Fix the localization errors on the Demon Crystals
A few cleanups here and there
2016-12-11 17:28:47 -08:00
WayofTime d1f4e95a7e Added deprecated methods for easier updating - Oops! 2016-12-07 08:14:05 -05:00
WayofTime 99f9d06659 - Fixed Phantom Bridge sigil glitch when travelling between dimensions and teleporting large distances. 2016-12-06 11:53:47 -05:00
WayofTime 89bd91197d Fixed silly dupe bug with the Zephyr ritual. (#988) 2016-11-29 22:06:43 -05:00
WayofTime efb3077fdf Fixed Ritual of Regeneration's text (#987) 2016-11-27 20:33:13 -05:00
WayofTime 9e6c8d8a43 Final push for -67. 2016-11-27 11:32:07 -05:00
WayofTime 1ad2fc0ae4 Added some placeholder recipes for the Living Armour Downgrades - they will eventually change. 2016-11-23 18:46:18 -05:00
WayofTime 82f04d4b6c Updated the book so it contains most of the rituals. 2016-11-20 10:32:13 -05:00
WayofTime a04c8af550 Did some minor bug fixes and updates with some rituals. 2016-11-19 17:06:11 -05:00
Sokratis Fotkatzikis 841eb2a1df Create bg_BG.lang (#765)
* Create bg_BG.lang

done until L23
--------------------

* Update bg_BG.lang

DONE #L43 - #L48 ; #L66 - #L92
~~~~~~~~~~~~~~~~~~~~~~~~
TODO #L25 - #L41 ; #l50- #L64

* More Translation

Still not doe *Will finish it tomorrow* (Ping me at discord if I forget :P)

* here you go
2016-11-16 14:40:11 -08:00
Nicholas Ignoffo 104fb855b4 Run the guide images through a PNG compressor
Drops the jar size by quite a bit
2016-11-13 15:24:10 -08:00
Nicholas Ignoffo bd6b181a1b Wrong @Nullable annotation 2016-11-12 11:52:38 -08:00
Nicholas Ignoffo b0007a1d36 Re-add FakePlayer check to sigils (#970)
whar did dey go?
2016-11-11 16:57:50 -08:00
Nicholas Ignoffo 1f31268669 Fix Mimic render ignoring meta (#965)
Also re-implements Waila handler correctly
2016-11-11 16:50:44 -08:00
WayofTime 3956c9f7dd Setup the .json of the Demon Will to use the new aspected textures. 2016-11-11 17:29:05 -05:00
Yulife d46a5e16ae souls 2016-11-11 23:04:46 +01:00
WayofTime fb38c2e8b8 Snares can no longer hit the thrower of the snare within 20 ticks of throwing it (#745)
Added the "Diseased" upgrade, which vastly decreases healing potency.
2016-11-11 10:42:56 -05:00
WayofTime 33b799723c Made it so you can view the recipes for downgrades in JEI. 2016-11-10 10:39:19 -05:00
WayofTime 1f6c4b47e2 Fixed a crash with the Ritual Diviner when attempting to replace certain blocks. (#967) 2016-11-08 06:54:39 -05:00
WayofTime 97907367a1 Made a ritual augment that makes the Ritual of Regeneration steal health from mobs to heal the player. Also tinkered with having the ritual give absorption hearts (at a slow rate) 2016-11-06 21:49:48 -05:00
WayofTime 0419800a86 Finished most of the Augments for the Ritual of the Shepherd. 2016-11-06 17:03:10 -05:00
WayofTime d1e6076cca Added some more meteors - one that uses a gold block, another that uses a diamond block. 2016-11-05 19:29:03 -04:00
WayofTime faef980e59 - Made it so peaceful animals provide more LP by default (to encourage creating your own farm).
- Increased the effectiveness of animals for the Gathering of the Forsaken Souls ritual by a factor of 4.
- Added the framework for the Purification Altar.
2016-11-05 11:14:56 -04:00
WayofTime da4de55c2e Finished the Augments for the Ritual of the Crusher. 2016-11-03 10:52:14 -04:00
WayofTime 655c2880dc Made the aspected Sentient Tools drop their corresponding Will type on killing enemies. #753 2016-11-02 12:16:24 -04:00
Nicholas Ignoffo 6c4fe34152 Fix Waila altar progress percent (#796)
After rewriting half of Waila, I understand how these things should be done, now
2016-10-31 00:07:59 -07:00
WayofTime 3feb19a22d - Finished the Augments for the Ritual of the Feathered Knife.
- Changed the Ritual of the Feathered Knife so it respects the Tough Palms Living Armour Upgrade.
- Fixed the Ritual of the Feathered Knife so that its health threshold is percent-based.
2016-10-30 17:45:40 -04:00
WayofTime a2317a3a8a Minor code laying out a new sigil. No functionality currently. 2016-10-25 17:02:33 -04:00
WayofTime 5743d9f475 Finished the Augments for the Serenade of the Nether. 2016-10-24 21:23:45 -04:00
WayofTime 77b5f898ca Made the Blood Altar respect the new capability system for fluid management. 2016-10-24 18:15:30 -04:00
WayofTime db33b87b1c Changed the Blood Altar to be more in-line with the rest of the blocks in the mod (credits to wiiv for the model) 2016-10-24 11:38:25 -04:00
WayofTime 8e39b6fb2a Expanded the max damage range of the Ritual of the Feathered Knife 2016-10-24 11:06:13 -04:00
WayofTime 6b27896859 Added more augmentations for the Lava Ritual. 2016-10-23 20:59:49 -04:00
WayofTime 731ba99fa3 Added the Destructive Will effect to the Ritual of the Green Grove. This ritual now is done~ 2016-10-23 18:57:24 -04:00
Nicholas Ignoffo 62f3847d88 Add missing wildcard check for altar recipes 2016-10-22 16:06:48 -07:00
WayofTime 5e1c791908 Added the pages for a few arrays. Also disabled the Ritual for the downgrades temporarily. Final commit for -66 2016-10-22 16:52:35 -04:00
WayofTime 44e1c47e1c Added an alchemy array, the Array of the Fast Miner 2016-10-22 16:11:30 -04:00
Nicholas Ignoffo 4e671d5132 Update changelog 2016-10-18 17:35:59 -07:00
Nicholas Ignoffo 1a5d9d3e45 Fix occasional crash when looking at Mimic blocks with Waila installed (#949) 2016-10-18 17:05:06 -07:00
Nicholas Ignoffo 66974716ef Fix deserialization of EnumDemonWillType 2016-10-18 16:59:50 -07:00
Nicholas Ignoffo b1335f9e9a Fix inversion pillar inventory rendering 2016-10-18 16:59:09 -07:00
Nicholas Ignoffo 1aad7ee531 Cleanup enum container implementation 2016-10-18 16:38:56 -07:00
Nicholas Ignoffo 6a4c56293b Fix massive FPS drop when looking at a ritual with the tinkerer (#950)
Caused by a majorly unfinished feature I was working on long ago and forgot about :D
2016-10-18 16:28:27 -07:00
Nicholas Ignoffo d7b0abafd9 Fix NPE in mimic when loading some tiles (#951) 2016-10-18 16:12:39 -07:00
Nicholas Ignoffo 37fad3f349 Fix localization of /bm network get NAME (#955) 2016-10-18 16:09:22 -07:00
Nicholas Ignoffo f2931deec6 Fix loading of keybinds being at initial use (#922)
Binds correctly load from disk, now.
2016-10-18 16:05:37 -07:00
neconeco2 28f9c367b8 Update ja_JP.lang (#952) 2016-10-16 19:51:33 -07:00
WayofTime 59e10a782b Modified the Sigil of the Phantom Bridge so it better performs with speed modifications 2016-10-16 19:33:14 -04:00
WayofTime e3c55da214 - Added the entries for the Skeleton Turret Array and the Updraft Array
- Added the Bounce Array
2016-10-16 15:19:57 -04:00
WayofTime 5cb5ec4264 Changed most of the BlockString blocks to a BlockEnum in order to solve a loading issue with schematics. 2016-10-15 22:02:16 -04:00
Nicholas Ignoffo 3e0f3f5aa1 Rewrite base blocks to be less weird
Added base ItemBlock classes for each base type (to be used later)
2016-10-15 09:21:30 -07:00
WayofTime ea43fbce7d Added the Sigil of Elasticity, the Sigil of the Claw, and the Sigil of Winter's Breath. 2016-10-14 20:51:21 -04:00
WayofTime 0a1d66a1d9 Fixed the recipes for some of the Demon Will blocks 2016-10-13 22:08:28 -04:00
WayofTime 5ad3c0eda1 Added new potion effects for bouncing as well as clinging to walls - the sigils will come later (Hai, Yulife~) 2016-10-13 19:58:39 -04:00
WayofTime 2e192ff29c Attempted to add a new schematic, but for some reason the generated schematic is non-functional. (Divination Sigil is in testing mode)
Added some more stuff to the Downgrade ritual.
2016-10-10 10:57:29 -04:00
WayofTime f74f46ab4a Removed the stat trackers for the downgrades and prevented downgrades from combining with each other in an anvil. 2016-10-09 10:44:50 -04:00
WayofTime ed8427c04e Added the framework for a ritual that grants downgrades (instead of the potion method) 2016-10-08 21:23:16 -04:00
Nicholas Ignoffo 43f86abc58 Fix guide recipe for Lesser Gem (#946) 2016-10-08 16:52:20 -07:00
Nicholas Ignoffo 6be0af947a Mimic blocks containing altar components work with altar (#945)
This only provides minimal support. So your Blood Runes won't provide their effects. They are a *mimic*, after all.
2016-10-08 16:47:04 -07:00
WayofTime 2b11aeaad7 I missed a few files... 2016-10-05 17:00:46 -04:00
WayofTime b5f7344ca6 Added a Dig Slowdown armour downgrade called "Weakened Pick", trained by having weakness on while mining. Also expanded Dwarven Might so that it can get to level 10. 2016-10-05 16:38:58 -04:00
WayofTime f9b1b91c6d Modified the Dwarven Might skill to better change the mining speed when mining. 2016-10-05 16:06:52 -04:00
WayofTime 16a4857dfb Added a Repairing Living Armour Upgrade (trained by damaging the chestplate of the Living Armour while you have a full set on - it repairs all of your armour pieces over time)
Added the stat trackers for various Living Armour Downgrades.
2016-10-04 17:10:27 -04:00
WayofTime 6ea17510b7 - Added a potion effect called "(-) Immunity", which allows the training of Living Armour Downgrades. This potion is crafted using a Draft of Angelus with a potion flask. Check the uses of the flask!
- Added some more framework for the Living Armour Downgrades.
- Modified the Grim Reaper's Sprint so it is better at later levels.
2016-10-02 15:03:31 -04:00
Joseph C. Sible e5276fba6f More Sigil of the Green Grove fixes and cleanup (#938)
When applying the bonemeal effect, apply it from the player using the sigil,
rather than from a fake player. (Looking at the commit history, this seems
to be this way solely because of overzealous copying and pasting from vanilla
ItemDye.) Also, play the effect for the use of bonemeal, rather than for
breaking a block. Finally, remove a parameter that's no longer necessary.
2016-10-01 13:18:48 -07:00
Joseph C. Sible 59704162a6 Fix Sigil of the Green Grove disappearing on modded crops (#937)
Currently, the Sigil of the Green Grove uses ForgeEventFactory.onApplyBonemeal
for its effects, which gives the right answer for all crops, but for modded
crops, it has the side effect of removing one item from the current stack
(since it's intended for actual bonemeal). That's not desired in this case,
since the sigil isn't supposed to get used up, so this change directly makes
and fires the event itself. This problem was originally reported in
josephcsible/ExpandedBonemeal#1.
2016-10-01 10:35:34 -07:00
ImmortalPharaoh7 55bc3ead7f Update fr_FR.lang (#766)
* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang

* Update fr_FR.lang
2016-10-01 07:20:30 -04:00
WayofTime 81257e1263 Merge branch '1.9' of https://github.com/WayofTime/BloodMagic into 1.9 2016-09-30 16:50:17 -04:00
WayofTime d1a7a77034 Made it so that when you acquire a Living Armour Upgrade from a Tome, it raises the corresponding Stat Tracker up to that upgrade level. 2016-09-30 16:49:56 -04:00
Nicholas Ignoffo 418dcd095a DoS should not affect boss mobs (#932) 2016-09-29 18:44:38 -07:00
WayofTime 7a42968633 Fixed NPE when attacking mobs when you don't have a set of Living Armour. Oops. Fixes #934 2016-09-29 19:53:28 -04:00
WayofTime 006cbeaa83 Changed the Quick Feet upgrade and the speed boost sigil so that their speeds are applied when strafing and walking backwards as well.
Added the Disoriented Downgrade. Muahaha
2016-09-29 16:37:41 -04:00
WayofTime 1a510c694c Finished the Dulled Blade downgrade 2016-09-27 21:10:09 -04:00
WayofTime 8d2ea249ac Added the Quenched Living Armour Downgrade. 2016-09-27 17:15:24 -04:00
WayofTime 82a73ba0cd Experimented with loosening traction with an Armour Upgrade (Forward works, strafing fails) 2016-09-26 06:49:44 -04:00
mezz a1eb8aad56 Fix JEI Altar recipe (#933) 2016-09-26 00:17:20 -07:00
WayofTime f9185817a1 Added another proper Armour Downgrade: Battle Hunger. More to follow. 2016-09-25 19:08:06 -04:00
Nicholas Ignoffo 9112f5ae04 Add redundant name of redundancy (#930) 2016-09-22 16:35:31 -07:00
WayofTime 22ffed51b9 Fixed 1.9 support 2016-09-22 19:30:07 -04:00
WayofTime e9517194f9 Fixed the Sigil of Translocation so that it does not crash when picking up certain blocks. Also removed the damned lightning. #918 2016-09-22 15:37:11 -04:00
WayofTime 7d91cc40ff Added the entries for the Rune of Augmented Capacity, Charging Rune, and Rune of Acceleration 2016-09-22 15:08:42 -04:00
WayofTime ca96afa375 - Changed the recipe of the Acceleration rune so that it is a T4 rune.
- Added the Charging rune, which accumulates charge by using the LP from the Blood Altar (1 charge = 1 LP always). If enough charge is stored when crafting, the crafting occurs instantly.
2016-09-22 14:20:05 -04:00
WayofTime dade5f0837 Fixed the symmetry issues of the Ritual of Containment 2016-09-21 07:37:48 -04:00
WayofTime 9538e9aa0d Added a corrupted chicken, which hits very hard but stealths itself in between attacks. 2016-09-20 17:28:58 -04:00
Nicholas Ignoffo 6f5e96bd52 Add current ritual to diviner highlight tip (#926) 2016-09-18 18:17:10 -07:00
WayofTime d6c1d59e5d Updated the hp/damage/etc logic of the corrupted mobs in general, and made it so the sheep will cast resistance on hurt allies when nearby on a cooldown.
Added an alchemy array layer (WIP) for the sheep when it is casting a "spell".
2016-09-18 18:44:18 -04:00
Nicholas Ignoffo cbd2609fe2 Blacklist armor stands from WoS 2016-09-18 14:51:54 -07:00
Nicholas Ignoffo 908c638bb2 Ritual diviner will now ignore replaceable blocks (#923)
Tall grass and stuff
2016-09-18 10:50:34 -07:00
WayofTime f7ff728c0d Added a corruption handler so that blocks can be corrupted by a wide variety of processes. 2016-09-18 10:07:02 -04:00
qianzha e12b1a7042 Update zh_CN.lang (#921) 2016-09-17 10:18:09 -04:00
WayofTime 7b55293a40 Added the initial body of the Corrupted sheep, as well as the rendering. Moved most of the aspected demon stuff to a new base class. 2016-09-17 08:06:31 -04:00
WayofTime f900fef846 Removed the darn testing code from the Divination Sigil. >.> 2016-09-16 14:54:43 -04:00
WayofTime c4b879eaa6 Updated the changelog and removed the test outputs. This is all that's needed for -62. (Mainly testing the compilation?) 2016-09-16 14:45:07 -04:00
WayofTime 21607213d4 Added some test System.out outputs to test the ritual (local compilation was successful). 2016-09-16 14:33:44 -04:00
WayofTime e541ed67e9 Fixed the Sentient Specters, stopping them dropping null items if they have nothing in their hand (only happens due to spawners). Solves #920 2016-09-16 14:11:52 -04:00
WayofTime f0a5b5274f Added a temporary texture overlay (borrowed from the Faithful 32x texture pack, until a unique one is made) for the corrupted zombie. Generalized enough so that new mobs can have them added easily. 2016-09-15 17:07:06 -04:00
Nicholas Ignoffo 80af2463b3 Temporary fix for obtaining bedrock in Survival (#919)
This stops the mimic from being placed inside of any block marked as unbreakable. This should be expanded to a blacklist when I'm not late for work.
2016-09-15 06:54:00 -07:00
WayofTime ea61ee201b Updated the changelog for -61. 2016-09-14 10:39:12 -04:00
WayofTime a0b92c0c2f Finished up the Inversion Pillar animation rendering. 2016-09-14 10:07:53 -04:00
WayofTime dab6e0842b Initial (unsuccessful) tests of the Inversion Pillar animations. 2016-09-14 08:47:46 -04:00
WayofTime f40f5abc0d Decreased the overall Will costs and numbers of the Inversion Pillar - Will per block is down from 2.5 to 0.5, and the Will generated was also divided by 5. Also minor adjustments to the spreading logic. 2016-09-13 22:02:13 -04:00
Nicholas Ignoffo d1f98be462 Fix server crash with holding sigil keybind (#915)
@Arcaratus, poking because this will break BA again. I separated things into new classes.
2016-09-13 16:09:45 -07:00
WayofTime e9549fd9db Did a lot of work on the behaviour of the Inversion Pillar. Also added a Corrupted Zombie for later testing. 2016-09-13 17:20:35 -04:00
Nicholas Ignoffo d1455920ec Rewrite Meteor system to be fully json (#914)
Also cleans up some other JSON stuff
2016-09-12 19:54:46 -07:00
WayofTime 0bb2fa6002 Removed unwanted System.out lines when clicking on the slots in the routing node 2016-09-12 19:04:53 -04:00
Nicholas Ignoffo ccacb0acfc Fix routing node serialization (#913) 2016-09-12 16:01:47 -07:00
WayofTime 8375daf7d4 Cleaned up the "proximity" algorithm for the Pillars, allowing quick access to the nearby pillars. Hopefully will allow better scaling of computation for large networks of pillars. 2016-09-11 19:51:42 -04:00
WayofTime 1e77b16bd7 Yeah. 2016-09-11 17:58:54 -04:00
WayofTime f110402169 Updated mod version 2016-09-11 17:18:16 -04:00
WayofTime 3e71ac3496 - Merged the three brick variants into one.
- Added the Inversion Pillar models and caps
2016-09-11 15:45:54 -04:00
Yulife cfa6979056 Dungeon blocks 2016-09-11 16:13:09 +02:00
WayofTime 5c627d123c Initial push of the Inversion Pillars - this is before full implementation of features and before fixing the item model. 2016-09-11 10:02:06 -04:00
Yulife 540e6941ef Incense Pillar 2016-09-11 14:22:53 +02:00
WayofTime aad1b541f8 Did some work on the Inversion Pillar 2016-09-10 20:15:17 -04:00
Nicholas Ignoffo 24b4c4b8d1 Made all item fields final 2016-09-10 17:04:24 -07:00
Nicholas Ignoffo 537ccc092c Made all block fields final 2016-09-10 16:13:20 -07:00
Nicholas Ignoffo f244f2c053 Remove the Pedestal
It's unused and probably won't ever be used.
2016-09-10 13:19:11 -07:00
WayofTime 4b54f6d94c Initial push of the Inversion Pillar before testing. 2016-09-10 16:13:05 -04:00
WayofTime abfc7b13b6 Fixed it so you can set the meta of the key stack for the meteors. 2016-09-09 14:07:03 -04:00
WayofTime 4c79a4f2ff Configurified the Meteor Ritual - Modpacks and users can edit all of the major properties of the meteor ritual, including what items need to be dropped onto the ritual as well as what you get in the ritual, radius, etc. The config will refresh if there is a version change unless you set "resyncOnVersionChange" to false. 2016-09-09 12:28:23 -04:00
WayofTime 63febfeb85 Added Mimic entry to The Architect. 2016-09-08 19:20:14 -04:00
Nicholas Ignoffo 4190031710 Fix remaining cases of calling readFrom/writeTo NBT 2016-09-07 17:53:09 -07:00
Nicholas Ignoffo 9b51b28dbb Let's not write ourself and all our children to our own NBT recursively... 2016-09-07 17:49:28 -07:00
Nicholas Ignoffo 798bad5583 Clean up TE implementations
Offload some work to base classes that provide some helpers

TODO: Implementations for Inventories (using caps) and ticking tiles with inventories.
2016-09-07 17:46:06 -07:00
Nicholas Ignoffo 4d331aa758 Implement missing data syncing methods
Fix MRS not syncing data immediately.
2016-09-07 17:12:25 -07:00
Nicholas Ignoffo f4feb07e47 Waila should display if a ritual is deactivated 2016-09-07 16:58:45 -07:00
WayofTime 5451f1ff8d Made the costs scale properly for players and non-players 2016-09-07 19:44:28 -04:00
Nicholas Ignoffo 8f6bb85362 Fix Regen ritual so it affects non-player entities too (#906) 2016-09-07 16:40:12 -07:00
WayofTime 30cf11075b Added a temporary texture (finally) for the Inspectoris Scandalum 2016-09-07 17:05:05 -04:00
neconeco2 de3c7f2168 Update ja_JP.lang (#904)
* Update ja_JP.lang

* Update ja_JP.lang +
2016-09-06 22:12:02 -07:00
Nicholas Ignoffo 5ee2cb2a90 Do these look small to you? I didn't think so 2016-09-06 21:50:04 -07:00
Nicholas Ignoffo 8f48f3a2d0 Restore Java 6 compatibility
Removes a lot of needless TODO's
2016-09-06 19:06:07 -07:00
Nicholas Ignoffo 09b331fdbe Fix client having NBT that the server doesn't
This was reported months ago but I forgot because it was in the WRONG PLACE.
2016-09-06 18:55:32 -07:00
Nicholas Ignoffo 137975331c Fix specters spawning with /give (#885) 2016-09-06 18:38:52 -07:00
Nicholas Ignoffo 5989f37f59 Add node type name to GUI (#901) 2016-09-06 17:41:15 -07:00
Nicholas Ignoffo 7f24698651 Fix sacrifice range of altar (#905)
@Arcaratus, you swapped Y and Z when you copied this.
2016-09-06 17:27:45 -07:00
Nicholas Ignoffo aec841ef85 Restore 1.9.4 compatibility
Also includes cleanup of the stair class
2016-09-06 17:13:43 -07:00
WayofTime 2662114b7c Finished adding the recipes for all of the blocks (except the Demon Alloy) 2016-09-06 19:42:48 -04:00
WayofTime 976fa1981d Finished dungeon block localization of all current Dungeon Blocks. Finished implementing BlockStringStairs. Added the WAILA compat for the Stairs. 2016-09-06 16:53:52 -04:00
Nicholas Ignoffo 348664c3fe Fix Waila stack display for pillars 2016-09-05 15:04:02 -07:00
Nicholas Ignoffo 246eb7950c Add the rest of the walls 2016-09-05 14:59:24 -07:00
WayofTime 74196dd67b Finished Wall framework, including the fancy break particles. 2016-09-05 17:42:26 -04:00
Nicholas Ignoffo a62e377801 Walls render in inventory now
Includes a bit of cleanup and fixes pickblock on Pillars and Caps
2016-09-05 11:40:25 -07:00
WayofTime 78b035d0fd Started work on most of the framework for the BlockStringWall - commiting so TehNut can fix my mistakes in life 2016-09-05 13:11:07 -04:00
WayofTime afcba54df4 Finished adding all of the dungeon blocks and localized them. Added the appropriate models for rotated pillars/pillar caps. 2016-09-05 10:30:59 -04:00
neconeco2 b08c7fd7ae Update ja_JP.lang (#903) 2016-09-04 23:22:37 -07:00
WayofTime 10e9d046c3 Fixed the problem with the pillars not showing their proper textures \o\ /o/ \o/ 2016-09-04 21:54:25 -04:00
WayofTime f1b3d6f4bc Finished the pillar but rearranged the .json for testing 2016-09-04 21:25:32 -04:00
WayofTime 1286efbca7 Finished adding the standard blocks and localized them - pillars are next 2016-09-04 18:09:04 -04:00
WayofTime d52240813e Initial work on pillars - needs some serious bug fixing! 2016-09-04 16:20:10 -04:00
WayofTime bafbd0b076 Added more blocks for Yulife to bang his head against 2016-09-04 10:04:46 -04:00
WayofTime 4174be42b0 Added some Demon Will blocks for Yulife to peruse - more coming 2016-09-04 09:50:34 -04:00
Yulife 2c4aac9beb Folder 2016-09-04 10:42:21 +02:00
Yulife a40084ebbb Dungeon Blocks 2016-09-04 10:42:21 +02:00
WayofTime 0bc3824814 Added the Living Armour Upgrade, Nocturnal Prowess, which gives night vision in dark areas and increases damage while the area is dark 2016-09-03 11:17:36 -04:00
WayofTime 0a2074c110 More testing (successful!) with loot tables! 2016-09-02 11:52:16 -04:00
WayofTime 99a4ac4fb3 Added a test loot table for later testing. Also fixed a small issue in the Routing Node documentation. 2016-09-02 11:36:28 -04:00
Nicholas Ignoffo 59135f5142 Add support for Buttons
Currently just a "Fill network" button
2016-09-01 19:33:49 -07:00
Nicholas Ignoffo 44cf949e91 Add Curse badge to README 2016-08-31 22:28:16 -07:00
Nicholas Ignoffo 58150ab075 Fix reading dungeon files (#899)
Now requires new rooms to be registered in `resources/assets/bloodmagic/schematics/Schematics.json`. This *can* be overwritten by a resource pack, so adding new rooms is still possible. Also allows sub-folders, so sorting rooms is now possible (sort by themes maybe?)
2016-08-31 20:32:31 -07:00
WayofTime 5a44ac53e0 Temporarily removed the dungeon stuff so that it doesn't crash. 2016-08-31 21:05:29 -04:00
WayofTime 8df391a2b7 Prepping a small bit before working on the Tether - final push before build -57. 2016-08-31 18:41:32 -04:00
WayofTime 4080a6add8 Satisfied @Vazkii 's BIZARRE OCD 2016-08-31 16:56:25 -04:00
WayofTime fd684588d4 Further improved the routing GUI by allowing an amount to be typed into the amount bar 2016-08-31 16:19:20 -04:00
WayofTime 4a21e6cbf0 Updated the toggleable sigils so they drain the user's LP based on the user's total ticks existed instead of the world time. This is to solve the doDaylightCycle glitch in this scenario.
Also further tweaked the Routing Node GUI
2016-08-31 11:45:25 -04:00
WayofTime 78c7a63190 Expanded the size of the Routing GUI and moved the buttons over to the right. Future movement is planned. 2016-08-31 08:30:35 -04:00
WayofTime 5b13be4965 Disabled the cobblestone ritual 2016-08-31 08:12:50 -04:00
WayofTime 3d372d18e3 Removed the Master Routing Node GUI. 2016-08-31 07:27:11 -04:00
WayofTime 3e7187610a Further un-stupified the routing GUI. 2016-08-31 07:26:22 -04:00
WayofTime 413b150142 Updated the Filtered Item Routing Nodes' GUI so that it behaved less like ass. Also added the necessary nbt porting code. 2016-08-30 21:12:40 -04:00
WayofTime 7d690ad598 Generalized the demon entity AI logic. Also improved the behaviour of the mimic entities. 2016-08-29 18:56:21 -04:00
qianzha 043c4cab6a Update zh_CN.lang (#893) 2016-08-27 22:48:49 -07:00
Nicholas Ignoffo 3a26dbb567 Move guide recipe registration to Mod mapping
The guide's index after loading a world may not be the same as the guide's index at preInit.

In the 1.10 version of GuideAPI, there is a `setMappingFunction(Function<Book, Void>)` method that will clean this up.
2016-08-26 19:03:43 -07:00
Nicholas Ignoffo ffeb0309a8 Fix Elytra upgrade causing server to think you're always flying (#780) 2016-08-26 18:10:33 -07:00
WayofTime 95983732b1 Fixed #792. 2016-08-26 20:57:32 -04:00
Nicholas Ignoffo 5240755a05 Rewrite keybinding system
@Arcaratus, I don't even know what you were thinking with that...

I'm still not happy with IKeybindable, but the system is at least better than it was
2016-08-26 15:56:32 -07:00
WayofTime 4c514224d5 SUPPOSEDLY fixed 1.9.4 compat again. >.> 2016-08-26 18:40:15 -04:00
WayofTime f998481329 Fixed 1.9.4 compat. 2016-08-26 18:14:04 -04:00
Nicholas Ignoffo 280340182d Fix Draft of Angelus not using Ore Dictionary (#890) 2016-08-26 15:10:45 -07:00
WayofTime b422e00019 Fixed SILLY rendering errors with the Mimic 2016-08-26 17:11:03 -04:00
WayofTime 215b337f71 Added peaceful-friendly settings for the Sentient Mimics 2016-08-26 17:01:34 -04:00
WayofTime fc6f99df75 Set it so that clicking on a mimic block that has a potion set to it on different sides will allow the person to set the player detection radius, potion spawn radius, and potion spawn intervals.
Also made it so that you can set the player detection of the sentient mimic blocks.
2016-08-26 15:53:58 -04:00
Nicholas Ignoffo 89ec81a78b Register and localize the keybinds
Forgot that
2016-08-25 23:43:17 -07:00
Nicholas Ignoffo da2120434d Keybind for Holding Sigil cycling
For those 3 weird people who don't have a scroll wheel in 2016.
2016-08-25 23:35:26 -07:00
WayofTime 166b629ccb Players in creative can add a potion to the mimic block, which causes them to drop potions from them... >:D Needs tweaking to be more configurable. 2016-08-25 21:07:09 -04:00
WayofTime 42d2c454f8 Changed the Demon Will Aura Gauge so it refreshes based on the player's ticks existed 2016-08-24 22:10:12 -04:00
WayofTime 8a94dd8acd Mimic entities will spawn when the player can see their block and they are within 5 blocks (mimics with inventories only spawn on interacting with them). 2016-08-24 17:06:24 -04:00
WayofTime 421aa77c02 Worked on mimic spawning and death - needs some adjustments 2016-08-23 19:41:05 -04:00
WayofTime 1adbe04ab8 Made it so that replaced chests from mimics keep their inventory and when broken will drop their inventory. 2016-08-23 17:53:33 -04:00
WayofTime 0420779e5e Added different types of mimic blocks and created their recipes 2016-08-23 17:35:43 -04:00
WayofTime ebd7b1f8da Updated mimics so that they store and display the meta for the block they want to mimic (using reflection). 2016-08-23 15:13:03 -04:00
WayofTime 117e692969 Made the mimics actually render chests and other TESRs properly - need to add non-opaque mimics for wider selection and for chests to not look like crud. 2016-08-22 19:55:15 -04:00
WayofTime 80bf140ee5 Made it so placed mimic blocks replace the block that you place it on unless you hold shift. Also worked on dungeon schematic saving/loading. 2016-08-22 14:22:18 -04:00
WayofTime 61b11a88bf Properly serialize and deserialize the Dungeon rooms 2016-08-21 13:17:04 -04:00
WayofTime 9b64e2a2f6 More tests with dungeon generation 2016-08-20 17:16:07 -04:00
WayofTime f734e93921 Testing the infrastructure and adding more things such as AreaDescriptor transforms and checking for overlaps. 2016-08-20 14:00:08 -04:00
WayofTime 4cfe57a5f9 Updated the changelog 2016-08-19 22:07:55 -04:00
WayofTime 7fefea3243 Fixed compatability issue in the Specter AI 2016-08-19 22:02:01 -04:00
WayofTime a3c69798f3 Fixed CurseForge build nomenclature so that Guide-API is seen as a required library 2016-08-19 20:51:48 -04:00
WayofTime 51275f99b3 Added recipe for the Mimic block and updated the changelog for release. Also minor update to the particles that spawn from the specter when it heals. 2016-08-19 20:45:50 -04:00
WayofTime 0fe442d804 Prevented the Specter from despawning on Peaceful.
Changed the healing algorithm to make it more evil.
2016-08-18 16:31:30 -04:00
Nicholas Ignoffo aa31592ba7 Repairing items should not replenish flask uses (#883) 2016-08-18 05:49:17 -07:00
WayofTime fdc20b63c7 Fixed a funky issue where the Sound of the Cleansing Soul did not reset the upgrade points internally 2016-08-18 07:41:56 -04:00
WayofTime 64c06e39b5 Added retreat-and-heal AI to the Specters 2016-08-17 15:48:59 -04:00
WayofTime 5592e8661b Fixed it so that if the Sentient Specters hit each other and they have the same owner they will not attack each other 2016-08-16 21:41:02 -04:00
WayofTime 939e1c3946 Added the ability for the Sentient Specter to shoot arrows with status effects, depending on its typing. 2016-08-16 18:22:05 -04:00
WayofTime 007c6c5ace Corrosive Sentient Specters will steal the negative effects from the owner and attempt to apply them to other entities it attacks. 2016-08-16 16:13:29 -04:00
WayofTime 5953a5a0cf A bit more work on the ranged aspects of the Sentient Specter - Allowed it to inherit the abilities of the Sentient Bow 2016-08-15 21:52:54 -04:00
WayofTime 38f4ea6bac Added ownership to the Sentient Specter and improved its AI. Also enabled it to use a bow. 2016-08-15 17:09:01 -04:00
Yulife bc37851bd6 Bars 2016-08-15 22:04:05 +02:00
WayofTime 1ee66d6762 Added Yulife's updated bars (such a git!) 2016-08-15 08:02:56 -04:00
WayofTime 211d3906a4 Fixed a crash when mining the mimic block. 2016-08-14 19:16:31 -04:00
WayofTime a2f89687be Made it so blocks placed inside mimics from someone in Creative do not drop. 2016-08-14 19:14:08 -04:00
Nicholas Ignoffo e3bb9f20bf Mimic block selection box now mimics the mimic'ed block's selection box
Say that 5 times fast
2016-08-14 12:32:21 -07:00
Nicholas Ignoffo a38d9b435b Waila compat for mimic blocks 2016-08-14 12:13:19 -07:00
WayofTime 9508eec4b0 Created mimic blocks 2016-08-14 14:53:25 -04:00
WayofTime c201beb87f Added some baseline work for Sentient Specters, which are basically summons of the Sentient Weaponry. 2016-08-14 14:14:25 -04:00
WayofTime 7b53111b30 Made Guide-API a required mod 2016-08-14 10:23:26 -04:00
WayofTime 5dc98a0be0 Removed silly crystal overlay and added more Will brackets to the Sentient Sword 2016-08-13 10:13:33 -04:00
WayofTime dacaae3e12 Did some testing with rendering a layer on top of existing mobs - not sure if in the end I will want to make individual textures/renderers for each mob to make it more pretty, or if I will just have a singular texture overlay. 2016-08-12 17:10:30 -04:00
qianzha 63e7ed7c91 Update zh_CN.lang (#859)
* Update zh_CN.lang

* Update zh_CN.lang

* Update zh_CN.lang

* Update

* Update zh_CN.lang
2016-08-12 15:54:35 -04:00
WayofTime 3a6e09f1e4 Increased the chance of growing a plant each processing tick for the Green Grove ritual when supplied with Vengeful Will 2016-08-11 16:32:46 -04:00
WayofTime 35ca516f63 Rebalanced the Ritual of the Green Grove and added the augmenting effect of (Steadfast) hydrating the soil and replanting seeds that are on the ground. 2016-08-11 16:14:06 -04:00
WayofTime c177b1a728 Added some simple framework to increase the speed of the green grove ritual (may need a buff overall) 2016-08-10 21:54:36 -04:00
WayofTime 253c26326f Added Deafness potion effect 2016-08-10 17:38:37 -04:00
WayofTime d3c6a474de Added the Corrosive Green Grove augmentation 2016-08-10 17:24:36 -04:00
WayofTime f431be3eb8 Fixed character errors 2016-08-08 17:14:54 -04:00
WayofTime 3755c6e1f9 Finished off The Demon Kin docs for the time being. 2016-08-08 17:12:52 -04:00
WayofTime 2725255fc6 Finished off The Architect docs for now. Also tidied up the Binding Array 2016-08-08 16:50:02 -04:00
WayofTime 2350f0e35b Added the tooltip to tell you which keys to press to see the progress for the next level on your Living Armour Upgrades 2016-08-07 21:00:58 -04:00
WayofTime eceb041fab Fixed Quick Feet, Elytra, and the jumping one (lol) on servers 2016-08-07 20:53:00 -04:00
Nicholas Ignoffo 7516f9c5d3 Added a way to view the progress towards the next upgrade level
Override `getProgress()` and return a value between 0.0 (0%) and 1.0 (100%)
2016-07-29 21:10:22 -07:00
Nicholas Ignoffo 3ad0969644 Uses tooltip for flasks 2016-07-28 21:47:02 -07:00
Nicholas Ignoffo d490f295a0 Hey look textures that have been missing for weeks that I didn't know about 2016-07-28 21:25:20 -07:00
WayofTime bb3081e2a5 Fixed the Aura gauge not resetting in chunks that do not have any Aura 2016-07-28 09:28:43 -04:00
WayofTime c36b7fed9d Fixed glitch with the Corrosive effect of the crushing ritual 2016-07-28 09:23:31 -04:00
Nicholas Ignoffo 0538f206bb Living armor should not be repairable with Iron Ingots 2016-07-27 16:50:27 -07:00
Nicholas Ignoffo 5c3b1c882b No-effect flasks should be blue for water
I was brain-dead at the time.
2016-07-27 15:03:08 -07:00
WayofTime 5c43aa8c23 Changed the Potion Flask rendering to use the new textures 2016-07-27 13:25:25 -04:00
WayofTime 1c8faa03ef Semi-finalized the bar texture for Demon Will (Thanks Yulife <3) 2016-07-27 08:28:33 -04:00
WayofTime bf7e9eed6e Removed the transparency from the bars themselves for the Demon Will gauge and set them to always render for testing 2016-07-27 07:54:32 -04:00
Yulife e82bc6027b Removed transparency on some pixels 2016-07-27 12:46:47 +02:00
Yulife f089e2721a Everything needed
@WayofTime @TehNut lots of code changes are needed, e.g. the actual
potion liquid part is an UNDERLAY and then comes the flask and then the
ribbon as an OVERLAY. I put the bar stuff in a HUD folder for structure
reasons and added the demon bar. Each bar is a pixel thick for each
demon will
2016-07-27 12:44:12 +02:00
neconeco2 3771922c62 Update ja_JP.lang (#856) 2016-07-26 20:27:26 -07:00
Nicholas Ignoffo 1b83510e1d Colors for flasks
Blends effect colors
Needs a new texture.
2016-07-26 17:55:15 -07:00
WayofTime 8ada331f61 Fixed the JEI display for power augmented potions 2016-07-26 19:56:49 -04:00
WayofTime 494c620b0b Added moar potion recipes 2016-07-26 19:52:38 -04:00
WayofTime 98406793a1 Added the Potion Flask and a few of the potion effects - max amount of effects that can be added to a single flask is currently 3 2016-07-26 19:44:42 -04:00
WayofTime 944b8232e6 Merge branch '1.9' of https://github.com/WayofTime/BloodMagic into 1.9 2016-07-26 19:05:52 -04:00
WayofTime c618f27a87 A bunch of back-end for Potions, as well as a minor glitch fix on the Demon Crystals when broken in incorrect manners. 2016-07-26 19:05:48 -04:00
Nicholas Ignoffo 9a39a9f6f0 Cleaner repairable check for Living Armour 2016-07-25 23:08:24 -07:00
Nicholas Ignoffo 26d6a8271d Add tooltip to holding sigil displaying keybinding
https://redd.it/4umt7s
2016-07-25 23:02:13 -07:00
WayofTime 6790d39c7e Added a funky workaround that will insert checks for the required Will of the gem inside of the Hellfire Forge while still allowing the progress bar to fill 2016-07-25 17:50:50 -04:00
WayofTime 2af621cced Implemented a "Constriction" potion, which prevents using items in your hand (will be refined later) 2016-07-25 17:42:54 -04:00
qianzha 9cfc8870c1 Update zh_CN.lang (#852)
* Update zh_CN.lang

* Update zh_CN.lang
2016-07-23 07:17:20 -04:00
WayofTime 6a937c2047 Eliminated some of the "wonkiness" from the Air Sigil by moving its effects to the client side.. Also worked a bit more on the PageAlchemyArray. 2016-07-21 16:49:12 -04:00
WayofTime 087982eb9d Fixed issue where the mod doesn't load on servers. Oops. 2016-07-21 10:36:16 -04:00
WayofTime d05f4a4af8 Added another entry to the Alchemist, then realized the glitch he fixed is serious enough to warrant a release. 2016-07-20 21:50:09 -04:00
WayofTime 34d9649c70 Fixed the Blood Altar so that it can (again) work on a stack size larger than 1 2016-07-20 21:29:04 -04:00
WayofTime 4e7702290e Work on The Alchemist book 2016-07-20 21:08:53 -04:00
WayofTime a037d71337 Updated the Sanguine Scientiem with Alchemy Array recipes 2016-07-19 21:26:50 -04:00
WayofTime 81acd62bda Updated the books to a more readable format
Also thumbed my nose at TehNut's stupid bracing.
2016-07-18 21:11:02 -04:00
WayofTime e285ae56b8 Fixed a bad character 2016-07-18 20:22:09 -04:00
WayofTime 89e42a362a Added a lot more to the Ingame Docs 2016-07-18 20:18:49 -04:00
WayofTime 856d7c1fc8 Apparently static variables can be rather shocking 2016-07-18 19:10:51 -04:00
WayofTime bf045dbebd Sigil of Holding Shenanigans 2016-07-18 19:09:53 -04:00
WayofTime 2122fba1bc (Perhaps) fixed an Atlas issue with the alchemy array, and then proceeded to shrug. 2016-07-18 12:41:08 -04:00
WayofTime b31ff082e9 Fixed it so that setting the altar to display tier 1 actually works. 2016-07-14 21:27:13 -04:00
WayofTime ad6567c5d6 Added/modified the Recipe Page renderers so they were actually functional. 2016-07-14 15:50:25 -04:00
WayofTime 78a0de0b1f Changed the tooltip of the ritual diviner so that it gives information about the selected ritual 2016-07-13 18:56:42 -04:00
WayofTime ee71072969 Remembered after the fact to add the new stuff too. 2016-07-13 17:19:02 -04:00
WayofTime e3b3d69d1d Meteor Mash! 2016-07-13 17:18:34 -04:00
WayofTime c5f6495859 Work on the Lava Ritual's demon Will shenanigans 2016-07-12 18:24:19 -04:00
WayofTime acde7ceccd Did some work on the Crushing ritual and made it so that it ignores liquids.
The Lava Ritual now places source blocks when the fluid is flowing.
Added the ability for my potions to (finally) have custom sprites.
2016-07-12 16:57:22 -04:00
qianzha b79f7127b6 Update zh_CN.lang (#849) 2016-07-11 21:25:24 -04:00
WayofTime 3dd574b1f7 Added some effects for the Crushing Ritual when affected by different types of Demon Will (balancing pending)
Also added the LP costs for the Crystal Harvest and Forsaken Souls rituals. You are welcome!
2016-07-11 19:47:19 -04:00
WayofTime c09ad83e53 Test commit for updating 1.9 branch to master 2016-07-11 16:48:15 -04:00
WayofTime 12f3d5c6e0 Mild work on Crushing :P 2016-07-11 16:47:27 -04:00
neconeco2 ffae14c397 Update ja_JP.lang (#847) 2016-07-11 09:50:06 -07:00
qianzha b5d7b599f2 Update zh_CN.lang (#846) 2016-07-10 21:43:32 -07:00
WayofTime 767b09221c Added the necessary infrastructure for Rituals to use Demon Will from the Aura.
Added the Demon Will Gauge.
2016-07-10 21:51:17 -04:00
WayofTime 12094c1153 Changed to a non-retarded way of sending a packet for the Demon Aura and created the Demon Will Viewer interface. 2016-07-10 18:22:01 -04:00
WayofTime 98ed17fe21 Updated the Demon Aura hud by allowing it to actually see the Aura in the chunk - refresh rate is 50 ticks. 2016-07-10 15:27:26 -04:00
WayofTime 0ac2b78803 WIP work on the Demon Aura rendering (Halp, Yulife!) 2016-07-10 12:46:03 -04:00
WayofTime b8745e34ee Fixed the Hellfire Forge filling the Tartaric Gem with the incorrect Will from the Demon Aura, without actually adding to the gem 2016-07-09 21:45:35 -04:00
Arcaratus c34bd48aa5 Store ItemStackWrappers instead of just ItemStacks (#844)
* Store ItemStackWrappers instead of just ItemStacks
Allows proper usage of getRecipeForInput()

* Refactoring and helper methods
2016-07-08 15:13:46 -07:00
WayofTime 46a35ac1fb Fixed bad NPE when using the WoS. 2016-07-08 09:19:39 -04:00
WayofTime 617b70bcf4 Updated changelog. 2016-07-07 21:15:08 -04:00
Nicholas Ignoffo b582390cd6 Allow Blood Light to be replaced (#840) 2016-07-07 18:00:19 -07:00
Nicholas Ignoffo ab73edf5d3 Add a proxy system for better cross-version compat (#831) 2016-07-07 17:52:47 -07:00
WayofTime d314d84fbe Adjusted the damage of the other bound tools. 2016-07-06 21:33:40 -04:00
WayofTime 58a55ec5d4 Nerfed the Bound Blade. This is temporary, since the sword eventually will be modified. 2016-07-06 21:25:25 -04:00
WayofTime 3b135601fd Fixed the Lava Crystal recipe so that it can use all tiers of blood orb 2016-07-06 17:28:54 -04:00
Nicholas Ignoffo 5533a956dd Suppressed all model/texture errors
About the changes in ClientHandler

* onModelBake() - Suppresses model/variant errors from our domain. At any given time we have X amount of models missing. No reason to inform the player as it has nothing to do with them.

* onTextureStitch() - As far as I can tell, we *need* to pass bad textures in all of the Crystal#.mtl files in order for the correct texture to be applied later on. These bad textures fall under the Minecraft domain. This strips those from the list and then removes the MC domain if there are no other errors there.
2016-07-05 21:00:10 -07:00
Nicholas Ignoffo 7fdbcf3b3c Altar and Dagger should respect 0 LP as an effective blacklist (#837) 2016-07-04 20:17:23 -07:00
qianzha 14b448bbee Update zh_CN.lang (#835) 2016-07-04 12:01:30 -04:00
WayofTime d1052355c2 Added a "Crippled Arm" living armour "upgrade" which disables your offhand. Also moved the downgrades to a new "downgrade" folder 2016-07-03 12:34:40 -04:00
WayofTime f33ed95d1f Fixed a null in RitualMagnetic 2016-07-03 07:40:15 -04:00
WayofTime ffdd72171b Possible fix for the Magnetism ritual. Also turned Life Essence into a "solid" block for rendering 2016-07-02 19:35:08 -04:00
WayofTime dd3c241fd7 Attempted to fix the Ritual of Magnetism for TileEntity ores. 2016-07-02 15:36:38 -04:00
WayofTime b4ff6d5d2f Added the Updraft Array (feather + glowstone) 2016-07-01 19:07:43 -04:00
Nicholas Ignoffo 39d215887f Future releases should be marked as 1.10.2 compatible 2016-06-30 20:32:05 -07:00
WayofTime 7cb1ff4c3d Added/fixed the temp texture for the Holding Reagent. Added the Array Effect for the Skeleton Turret array 2016-06-30 08:34:15 -04:00
WayofTime d1d66e5388 Fixed a NPE in the Alchemy Arrays 2016-06-29 17:10:12 -04:00
WayofTime 0ae85435ae Added a Dual alchemy circle renderer for some fancy effects 2016-06-29 16:12:51 -04:00
WayofTime a019bedd4d Allows an Item Handler for null directions in TileInventory 2016-06-29 08:26:24 -04:00
WayofTime 1836fc742d Fixed server sided issue with Attractor Array
Added Movement Array, and helped generalize the Arrays a bit more
2016-06-29 07:43:04 -04:00
Nicholas Ignoffo 22c1f0db55 Add a getter for the LE bucket to the API 2016-06-28 15:18:35 -07:00
Nicholas Ignoffo 7872e94430 Fix JEI not displaying correct recipe for LP bucket 2016-06-28 15:13:52 -07:00
Nicholas Ignoffo fc57486054 Revert changes to Sacrificial Dagger
Adds a description that indicates correct usage.
2016-06-28 15:01:53 -07:00
WayofTime bb8552b4b5 Added the bare bones for the "movement array" 2016-06-28 13:55:26 -04:00
WayofTime 707be222f5 Added a small amount of Alchemy Array infrastructure. 2016-06-28 13:35:42 -04:00
WayofTime fdaa32af0c Reverted parts of #827. 2016-06-28 13:23:45 -04:00
Arcaratus 81d7cd4093 Bucket recipe fix and Creative Sacrificial Dagger fix (#827)
* Bucket recipe fix and Creative Sacrificial Dagger fix

* Do #808

* Add a Sacrificial Dagger conversion config

* Put the conversion everywhere
2016-06-28 11:55:58 -04:00
WayofTime 81a5e3c956 Switched key usage check around because boni worries too much... 2016-06-28 07:26:16 -04:00
WayofTime 11e56158d3 Fixed empty string storage in existing Alchemy Arrays. 2016-06-28 07:20:28 -04:00
WayofTime ad546380a3 Initial work on the Attractor alchemy array. Very WIP and is not quite where I like it. 2016-06-27 20:01:34 -04:00
WayofTime a35e4385ed Added the main tank to the FluidTankInfo of the blood altar. 2016-06-27 15:21:04 -04:00
WayofTime 23f8f23006 Fixed a stupid bug by a stupid Way. Also work on negative Living Armour Upgrades 2016-06-27 15:07:00 -04:00
qianzha 44617fac50 Update zh_CN.lang (#822)
* Update zh_CN.lang

Updated and fixed. 
There is a little question about the sanguineBook. Is "Inspectoris" meaning "viewer", and "Scandalum" meaning "stumbling block" which is stumbling to get the next tier?

* Update zh_CN.lang

Meaning "Book of Viewer". Most of the time, It will be strange that translate word by word.

* Update zh_CN.lang
2016-06-27 13:32:42 -04:00
WayofTime c5f0333aac Reorganized the AlchemyArrayEffects so it is easier to make more unique arrays. Also fixed an NPE when crafting sigils. 2016-06-27 11:21:37 -04:00
WayofTime 587e94d197 Item Nodes can now be disabled by a (weak) redstone signal 2016-06-26 12:51:25 -04:00
WayofTime adc100ee17 (Possibly) further helped eliminate the memory leak issue. 2016-06-26 10:09:18 -04:00
WayofTime c69b6bbade Fixed horrible memory leak in the Living Armour. Fixes #825 2016-06-26 09:38:13 -04:00
Nicholas Ignoffo afa6ccd7f3 Temporarily disable suppression of modded fluids 2016-06-25 16:03:29 -07:00
Nicholas Ignoffo 0f7f0873e4 Fix Suppression Sigil placing source instead of flowing for life essence (#814) 2016-06-25 15:48:22 -07:00
Nicholas Ignoffo 065043bafa (Temporary?) Recipe for Holding Sigil (#824)
I just kinda picked stuff... Chest + Leather + String = Makeshift backpack = "essence" of portable storage? i'unno
2016-06-25 15:43:53 -07:00
Nicholas Ignoffo e3261357fe Only render holding HUD if it's our sigil 2016-06-25 15:26:50 -07:00
WayofTime 24146a180b Small update to the changelog for -46 2016-06-24 17:26:12 -04:00
WayofTime c4e3dc81f5 Added the appropriate SideOnly checks to make the Rituals work again. Fixes #817 and #819 2016-06-24 17:23:18 -04:00
Arcaratus f831c0b1e6 no message (#820) 2016-06-24 17:16:26 -04:00
Nicholas Ignoffo fbfc8af8cc Add 1.10 as a valid Curse version 2016-06-23 18:46:19 -07:00
WayofTime 899216ba5f More formatting because Way is a derp 2016-06-23 21:44:01 -04:00
WayofTime 4c3bd1c81f Merge branch '1.9' of https://github.com/WayofTime/BloodMagic into 1.9 2016-06-23 21:43:38 -04:00
WayofTime 8c4eff0d81 Formatting! 2016-06-23 21:43:27 -04:00
Nicholas Ignoffo aeb7b0af12 Bound tools should be unbreakable, yet enchantable (#815, #793) 2016-06-23 18:40:28 -07:00
WayofTime d240daf958 Hey, get back in that commit! 2016-06-23 21:28:11 -04:00
WayofTime 3b93a699d9 Reverted a change that made Bound Tools unenchantable. Mah bad. 2016-06-23 21:26:45 -04:00
Nicholas Ignoffo 85083254a8 ClientHandler should not be registered twice 2016-06-21 19:33:58 -07:00
Nicholas Ignoffo eb76760919 Routing system should accept I(Sided)Inventory
Stupid non-capability using n00bz0rz
2016-06-21 19:33:26 -07:00
WayofTime 6315d38c8a Added the recipe for the Inspectoris Scandalum and changed its name 2016-06-21 21:48:07 -04:00
Arcaratus 6a2c30834e Added holograms to TileMasterRitualStone and TileAltar (#810)
* Added holograms to TileMasterRitualStone and TileAltar
-Right click with either Ritual Diviner or (name pending) Sanguine Sanctum to show up the hologram
-Ritual hologram disappears once ritual is activated
-Altar hologram disappears once altar reaches specified tier
-Fixed the Sigil of Holding configs
-Someone still needs to add in a recipe for the Sigil of Holding
-Disabled the Sanguine Sanctum right-click effect for now
-Kept the hologram from holding the Ritual Diviner in hand
-Someone needs to fix the lighting for the ritual hologram!

* Getters and formatting changes

* Re-implement commented out feature

* Moved the rendering completely to client-side

Have the Sanguine Book work again

Make it actually work

Tidy things up

* Cycles through tier when right clicked

* Re put onItemUse

* Add IAltarReader to ItemSigilHolding
2016-06-21 18:20:49 -07:00
WayofTime ebe428a89b System.out.println("Dang it, Kinnison!"); 2016-06-20 09:34:56 -04:00
WayofTime 6da686aabe Fixed it so the Ritual will call stopRitual when a ritual stone is broken 2016-06-20 09:31:16 -04:00
Nicholas Ignoffo 2c70e6ebc1 Accept null from IAltarComponent 2016-06-19 22:36:35 -07:00
Nicholas Ignoffo aa8d41385f IAltarComponent should use state, not meta 2016-06-19 22:24:47 -07:00
neconeco2 4fd69186fb Update ja_JP.lang (#811) 2016-06-19 20:36:30 -07:00
WayofTime 1c66a2fc61 Updated The Architect section of the documentation 2016-06-19 16:12:20 -04:00
WayofTime 6aff707708 Added Fire Resistance Living Armour Upgrade, "Gift of Ignis." 2016-06-18 16:59:56 -04:00
Nicholas Ignoffo f864cbddf1 Mark old network system as Deprecated 2016-06-18 13:43:29 -07:00
Nicholas Ignoffo 7b653a4bb6 Merge branch '1.9-NetworkChange' into 1.9 2016-06-18 13:11:50 -07:00
Nicholas Ignoffo f500ec70ad Fix Essence bucket recipe (#809) 2016-06-18 07:27:22 -07:00
Nicholas Ignoffo 36c8932cb2 Fix compilation errors from last PR 2016-06-17 16:01:03 -07:00
Arcaratus 6680e8be49 Option to skip empty slots in Sigil of Holding (#807)
* Option to skip empty slots in Sigil of Holding
2016-06-17 15:46:33 -07:00
WayofTime 466f26d80b Readded the Sigil of Holding key ಠ_ಠ 2016-06-17 17:37:47 -04:00
WayofTime 4b221c2e5c Made it so that the bound tools are (supposedly more so) unbreakable. Fixes #793 2016-06-17 10:15:46 -04:00
WayofTime 145d7a5bc2 Fixed an issue where the Spectral Blocks (from the Sigil of Suppression) would return the liquid on the client side before the sigil was deactivated. Fixes #803 2016-06-17 10:00:33 -04:00
WayofTime e89cb61bf9 Fixed the Routing system so that it properly eliminates the connection to the Master node when the Master node is broken. Fixes #805 2016-06-17 09:55:30 -04:00
Nicholas Ignoffo 1d8a47ce1e Begin basic HUDElement system
Need to allow moving and such by specifying a clickable area

Will probably have the element override getClickableArea() and return a default. We'll then set that to new values after being moved.
2016-06-16 18:12:20 -07:00
WayofTime f043eb0fde Changed the recipe of the Sanguine Scientiem
Properly incremented the mod version...
2016-06-16 15:40:44 -04:00
Nicholas Ignoffo eceb0eab6e HUD element for Sigil of Holding
Needs cleaning and configurability still

TODO: Move to HUDElement system that Hemomancy had.
2016-06-15 20:23:15 -07:00
Nicholas Ignoffo f7179f6d6a Merge remote-tracking branch 'origin/1.9' into 1.9 2016-06-15 15:38:29 -07:00
qianzha 1fad9b6c39 Update zh_CN.lang (#795)
* Update zh_CN.lang

Added things for updates.
Deleted some untranslated keys.

* Update zh_CN.lang
2016-06-13 22:21:47 -07:00
Nicholas Ignoffo eee24309fa Fix Ritual Stones being silk touched (#797) 2016-06-13 18:21:14 -07:00
Nicholas Ignoffo 317989a737 Mark BucketEssence enum as deprecated 2016-06-13 18:19:56 -07:00
WayofTime da060639e9 Fixed #774, a bug that caused the Tome of Peritia to be wonky again. 2016-06-13 14:40:27 -04:00
Nicholas Ignoffo f99b21cffc Rewrite LP network data saving system
Instead of creating a new file for each player with their UUID as the name, we create a single file and store it all in a List. That List gets converted to a UUID -> SoulNetwork map when read from the file.

MigrateNetworkDataHandler is used to migrate players from the old system to the new one. It reads both data files and sets the LP of the new network to the LP of the old network (if the old network is larger). Once conversion is done, we delete the old file so that it doesn't happen again and overwrite player progress.

This is an API breaking change due to an import change.
2016-06-12 13:41:02 -07:00
WayofTime f8859dbf56 Added the Draft of Angelus, which increases the max number of upgrade points for Living Armour. 2016-06-12 15:20:48 -04:00
WayofTime e509b4fe69 Added Will collection to the Sentient Bow. 2016-06-12 12:42:32 -04:00
WayofTime d0e81e6426 Implemented (inefficiently) the sentient tools. 2016-06-12 12:08:06 -04:00
WayofTime f097f00c55 Added recipes for all ores -> dust in the alchemy table. 2016-06-12 10:28:03 -04:00
WayofTime 4d8933b8b9 Merge branch '1.9' of https://github.com/WayofTime/BloodMagic into 1.9 2016-06-11 11:52:14 -04:00
WayofTime fd931a06a4 Fixed an issue added by TehNut ( ;) ) and updated forge to 1957 2016-06-11 11:42:58 -04:00
qianzha 51d59f0340 Update zh_CN.lang (#789) 2016-06-10 21:50:45 -04:00
WayofTime d1bdec7113 (Possibly?) fixed Tome of Peritia bug of the Negative Speed of Light 2016-06-10 19:36:21 -04:00
WayofTime 5388dbf883 Added the dyeable recipes for the Sigil of Holding to the Alchemy Table. 2016-06-09 21:43:37 -04:00
Nicholas Ignoffo 4eda0d6caa First pass at coloring Sigil of Holding (#787) 2016-06-09 16:59:11 -07:00
Nicholas Ignoffo 513bb113e1 Add transposition blacklist to API (#790)
Blacklist the same blocks that are blacklisted from the Teleposer.
2016-06-09 16:01:32 -07:00
qianzha cc5f7b88c0 Update zh_CN.lang (#779)
* Update zh_CN.lang

* Update zh_CN.lang
2016-06-08 20:39:08 -07:00
WayofTime 8c8331eddf Updated the guide so that it had more infos 2016-06-08 15:36:47 -04:00
WayofTime 150ed4c6a9 Fixed separate NPE with the Sigil of Holding.
Added possible fix to an Incense glitch.
2016-06-07 21:11:21 -04:00
Nicholas Ignoffo eccf747a09 Change from bold to italics
It's much less.. IN-YO-FAIC
2016-06-07 17:19:35 -07:00
Nicholas Ignoffo d16144ee2c Make sure sigils are bound before allowing use 2016-06-07 16:43:24 -07:00
Nicholas Ignoffo b1d73e3383 Fix NPE when pressing keybind with no held item 2016-06-07 16:21:23 -07:00
Arcaratus 8d66575530 Backstage Sigil of Holding (#785)
* Backstage Sigil of Holding
All Sigil of Holding features work, just need to add the aesthetics -> TehNut
Somebody might want to look at adding LP costs to the Sigil?
Also recipes need to be added
Added a keybinding system for future usage
Standardized some NBT tags

Compact classes

Fix lang stuff?

* Fancify Sigil of Holding GUI
Displays the selected sigil in the GUI now

Woops

* Quick fix

* Unused import

* Final commit I promise
2016-06-07 15:50:41 -07:00
WayofTime 9aa2f86c88 Fixed #778 2016-06-07 10:34:36 -04:00
WayofTime f0f6af3eac Fixed #782 2016-06-07 10:15:40 -04:00
Nicholas Ignoffo 2798fb5873 EntryText should have the "hover to display full" feature 2016-06-05 17:38:23 -07:00
Nicholas Ignoffo 600ff65aa8 Fix Plantable harvest handler not replanting (#781)
Another case of NutDerp!
2016-06-05 16:55:01 -07:00
Nicholas Ignoffo 8edf42a5cb Add IGuideLinked for ritual controller 2016-06-05 16:29:36 -07:00
Nicholas Ignoffo 75f8bd0bda Sync ImperfectRitual data 2016-06-05 16:29:06 -07:00
Nicholas Ignoffo 4af15fc059 Move Bucket over to Forge system 2016-06-05 12:31:35 -07:00
WayofTime 9e7517459e Played around a bit more with the guide. Added a simple recipe getter for the recipe pages. 2016-06-05 14:12:28 -04:00
Nicholas Ignoffo 7c1cbb2503 Fix book model 2016-06-04 13:56:02 -07:00
WayofTime 50aa866e24 Updated Guide-API version 2016-06-04 16:19:25 -04:00
WayofTime 424d84d5ad Added a test entry for the Demon Kin 2016-06-04 15:01:25 -04:00
Nicholas Ignoffo 93623a6687 Begin GuideAPI integration 2016-06-03 16:56:13 -07:00
Nicholas Ignoffo d0c0700fda Un-hardcode block documentation
Opens it up for all our custom blocks to be able to provide information.

Need a texture from @Yulife.
2016-06-02 17:03:21 -07:00
WayofTime e406a4fa6f Grew a Pair 2016-06-02 19:13:50 -04:00
WayofTime cf72036ff9 Added an initial (read: rough) method to divine where a blood rune is missing for the next tier of altar 2016-06-02 19:09:02 -04:00
WayofTime 686d79570f Updated the changelog 2016-06-02 17:20:43 -04:00
Nicholas Ignoffo c884c3819b Fix retention for @Handler 2016-06-01 16:01:36 -07:00
WayofTime 2ad836fa32 Fixed Demon Crucible's weird behaviour where right-clicking it with an invalid item would still put the item in the crucible and give the player an item with a stacksize of 0 2016-06-01 08:10:15 -04:00
Nicholas Ignoffo ce6c014191 Restore Java 6 compatibility 2016-05-31 17:00:55 -07:00
Nicholas Ignoffo f474c31bc9 Re-implement Waila integration 2016-05-31 16:43:11 -07:00
Nicholas Ignoffo b9464e3dbb Fix Elytra Wings in obf environments
I forgot that obfuscation was a thing last night :D
2016-05-31 16:14:15 -07:00
Yulife 889d943573 Elytra for Living Armour
@TehNut , Credits to lemoncake__ for the Red Dragon Wings, I took
inspiration from those imgur.com/a/sI5cv
2016-05-31 10:33:28 +02:00
Nicholas Ignoffo 5d96b9d2bd Add Elytra render for Elytra Upgrade
Temporarily stole a texture for it from https://www.reddit.com/user/lemoncake__ (http://imgur.com/a/sI5cv) until @Yulife can make a real one.
2016-05-30 19:48:28 -07:00
Nicholas Ignoffo 027787e3cd Fix logging levels of LogHelper
Apparently this has always been wrong *shrug*
2016-05-30 18:20:50 -07:00
Nicholas Ignoffo 512600a677 Split EventHandler into multiple different handlers
Better organization allows for finding things easier
2016-05-30 18:20:31 -07:00
Yulife 6e1383c6e0 Upgrade Trainer and Sheathed Tool 2016-05-30 13:49:43 +02:00
Nicholas Ignoffo 5aea7b637a Fix Green Grove Sigil destroying plants (#767) 2016-05-29 16:39:31 -07:00
WayofTime 3eb1c0f43d Updated the changelog as well as updated gradle.properties. Final commit for 2.0.1-40 2016-05-29 19:19:21 -04:00
Vexatos 6e8c05f464 Update de_DE.lang (#764) 2016-05-28 09:39:31 -04:00
Tridon343 21a69176da Update de_DE.lang (#730) 2016-05-28 08:24:29 -04:00
qianzha 9ab95320d8 Update zh_CN.lang (#734)
* Update zh_CN.lang

* Update zh_CN.lang

* Update zh_CN.lang

* Update zh_CN.lang
2016-05-28 08:23:57 -04:00
ImmortalPharaoh7 51fce309dd Update fr_FR.lang (#761) 2016-05-28 08:23:41 -04:00
Nicholas Ignoffo 439e830105 Fix commands for usage in Command Blocks (#748) 2016-05-28 05:19:50 -07:00
Nicholas Ignoffo a37cf7d60b Fix Tile data syncing (#763) 2016-05-28 04:53:19 -07:00
WayofTime bdf540aa76 Changed it so the Sentient Sword drops will for IMob instead of EntityMob - slimes have a 33% reduction to will drop. 2016-05-28 07:27:29 -04:00
WayofTime 5e0a390f48 Fixed Sigil of Magnetism and Call of the Zephyr picking up "dead" items. 2016-05-28 07:19:43 -04:00
Nicholas Ignoffo 3ac00ce4d6 Add recipe for Vengeful Crystal Clusters (#759) 2016-05-28 04:05:16 -07:00
Nicholas Ignoffo 36a5b7f6a1 Fix bound tools working on incorrect materials (#752) 2016-05-27 23:03:32 -07:00
Nicholas Ignoffo 6302ce8133 Fix Life Essence being solid (#751)
Forge missed some fluid changes in 1.9.4.
2016-05-27 22:55:40 -07:00
WayofTime d474ead910 Updated changelog for -39 release 2016-05-22 12:11:15 -04:00
WayofTime aa3bef31c5 Fixed the Trick Shot upgrade 2016-05-22 12:09:36 -04:00
Nicholas Ignoffo cebf71c329 Fix Gate of the Fold endless loop (#743) 2016-05-21 12:57:04 -07:00
Nicholas Ignoffo dce6bf1e93 Add rune type colors Ritual Diviner tooltip
Fixes casing for direction as well. IE: north -> North
2016-05-21 12:47:17 -07:00
Nicholas Ignoffo 253da93b3e Make it clearer when arrow is not able to fire (#744)
- Now does not fire an arrow (seems kinda obvious)
- Plays the "fire extinguish" sound as further indication.
2016-05-20 22:39:54 -07:00
Nicholas Ignoffo c66b99b535 Remove things that shouldn't be there 2016-05-19 17:46:11 -07:00
Nicholas Ignoffo de5e23e6c4 package-info upd- I mean 1.9.4 update
These are now "required" thanks to Mojang giving us some annotations. Yay..?
2016-05-19 17:43:33 -07:00
Nicholas Ignoffo cb05e643a3 Crusher ritual should ignore unbreakable blocks
Also does destroy effects when removing block
2016-05-16 19:12:33 -07:00
WayofTime 1936e2d251 Fixed bound sword stuttering 2016-05-14 15:33:05 -04:00
Nicholas Ignoffo 0855c61943 Fix bound tool attributes (#741) 2016-05-13 17:05:40 -07:00
Nicholas Ignoffo d70f423a10 Fix NPE in Crusher ritual (#739)
Also adds a utility for spawning an itemstack at a specific block location
2016-05-13 16:50:07 -07:00
WayofTime b684aebdaa Fixed the Living Armour so that it wouldn't get damaged by self-sacrificing when you had upgrades that mitigate unblockable sources. 2016-05-12 15:44:12 -04:00
WayofTime e363ba8ffb - Fixed it so that the Sentient weaponry is actually repairable using any demon will crystals in an anvil
- Changed the stat tracker for Tough Palms so that it counts number of hearts sacrificed, not number of sacrifices
2016-05-12 14:51:42 -04:00
WayofTime 328b566064 Guesstimated the localization of the Fluid for Life Essence 2016-05-12 10:50:07 -04:00
Nicholas Ignoffo d8de125f52 Reduce debug commands perm level to support command blocks (#678) 2016-05-11 20:35:12 -07:00
Nicholas Ignoffo 3f28a9e268 Config for spectral block visible-ness
true = Invisible (default)
false = Visible from the outside
2016-05-11 20:30:23 -07:00
Nicholas Ignoffo 9253d6a410 Add an entity blacklist for the Teleposer (#701)
Added event for when an entity is teleposed. Includes a Post version as well to allow modification of the entity after the fact.
2016-05-11 20:29:16 -07:00
Nicholas Ignoffo cfce1a4a6c Fix spectral blocks being opaque (#716)
Now you can see through the missing fluids

Also reduced the opacity slightly.
2016-05-11 17:40:41 -07:00
Nicholas Ignoffo b2fb264108 Phantom Bridge sigil should now work while riding entities (#717)
http://i.imgur.com/TnQRX6v.gifv
2016-05-11 17:27:01 -07:00
Nicholas Ignoffo f3173c80a7 Fix Phantom Block rendering 2016-05-11 17:26:38 -07:00
Nicholas Ignoffo a37f3fad7b Beets should increase Tranquility (#737) 2016-05-11 16:44:52 -07:00
WayofTime 4486e03736 Merge branch '1.9' of https://github.com/WayofTime/BloodMagic into 1.9 2016-05-11 18:39:03 -04:00
WayofTime d26b300b7b Fixed Elytra upgrade not working on servers. Oops! 2016-05-11 18:38:38 -04:00
neconeco2 bb16279497 Update ja_JP.lang (#732) 2016-05-09 19:52:03 -04:00
Nicholas Ignoffo 3ce6735920 Allow Demonic Will to drop from passive mobs in Peaceful (#733)
Goes along with b2d1b75f49 and #711
2016-05-09 16:38:43 -07:00
Yulife 6cd78757bf Merge remote-tracking branch 'origin/1.9' into 1.9
# Conflicts:

#	src/main/resources/assets/bloodmagic/textures/items/ExplosivePowder.png
#	src/main/resources/assets/bloodmagic/textures/items/PlantOil.png
#	src/main/resources/assets/bloodmagic/textures/items/Saltpeter.png
#	src/main/resources/assets/bloodmagic/textures/items/Sulfur.png
2016-05-08 15:08:56 +02:00
Yulife 7fa03ad432 Alchemy items 💃 2016-05-08 15:07:00 +02:00
WayofTime 7434a253cf Merge pull request #726 from qianzha/patch-14
Update zh_CN.lang
2016-05-06 17:54:29 -04:00
WayofTime d79be6d312 Added saltpeter and sulfur, used for gunpowder creation and will be used for other things. 2016-05-06 17:51:39 -04:00
qianzha 000c8041af Update zh_CN.lang 2016-05-06 21:22:19 +08:00
qianzha 500a11a468 Update zh_CN.lang 2016-05-06 15:18:47 +08:00
qianzha be640bff95 Update zh_CN.lang 2016-05-06 14:54:40 +08:00
WayofTime ec2ddbd427 Added more alchemy recipes 2016-05-05 15:46:09 -04:00
WayofTime 03fa7b2712 Added plant oil and associated recipes - need to compile a list for future alchemy items 2016-05-05 07:59:08 -04:00
Yulife 050d1185a7 Cutting Fluid 2016-05-05 12:09:44 +02:00
Yulife dde4e6fbe2 Dusts 2016-05-05 11:55:51 +02:00
Yulife c9140669d4 Charging Rune 2016-05-05 11:51:17 +02:00
WayofTime e3b72c3b7e Made the Tough Skin effect easier to get, and increased the durability of living armour by 50%. 2016-05-04 19:32:32 -04:00
WayofTime 37cb2a1360 Added some more recipes (like rudimentary ore doubling) to the alchemy table 2016-05-04 19:25:42 -04:00
WayofTime 86efa8b1a3 Updated the Alchemy Table recipe system so that it can provide better custom recipes 2016-05-04 16:44:32 -04:00
WayofTime a5dee50984 Attempted to fix the CME in the routing. 2016-05-03 09:16:56 -04:00
WayofTime 7ce9040aeb Changed Blood Altar to be stone level for the pick. 2016-05-03 07:29:35 -04:00
WayofTime 25108a5838 Formatting pass. 2016-05-02 20:56:32 -04:00
WayofTime 1e9f3dadd3 Merge pull request #723 from lazerzes/1.9
Fixed Issue #703; Blocks with MetaData being reset to 0
2016-05-02 20:54:22 -04:00
lazerzes 3f5fd16f87 Fixed Issue #703; Blocks with MetaData being reset to 0 2016-05-02 20:45:38 -04:00
WayofTime c80b083865 More tweaks to the alchemy table, as well as some minor recipes. 2016-05-02 20:08:25 -04:00
WayofTime ce385bd9a6 Added JEI compat for the Alchemy Table 2016-05-02 13:45:52 -04:00
WayofTime f9fc33d1ee Finished work on ISided nature of the alchemy table 2016-05-02 11:45:11 -04:00
WayofTime a03bc4d9a9 Forgot files... 2016-05-02 11:24:34 -04:00
WayofTime c32ac20936 Work on alchemy table 2016-05-02 11:24:22 -04:00
WayofTime 7116e3775e Worked on the Alchemy Table - final push for -35 2016-05-02 08:27:38 -04:00
WayofTime bc7760b11b Removed bad code from Elytra upgrade. 2016-05-01 22:33:13 -04:00
WayofTime d3379ff69b Additional work on the Alchemy Table, as well as the Elytra upgrade. 2016-05-01 22:32:15 -04:00
Nicholas Ignoffo d10d6e6275 Comment out Waila compat until Waila updates mappings 2016-05-01 13:55:15 -07:00
WayofTime f754d14927 Elytra upgrade~ (Untested) 2016-05-01 15:10:32 -04:00
Nicholas Ignoffo 08f865ba8a Fix JEI support for orb recipes with more than 1 orb 2016-05-01 09:10:12 -07:00
Nicholas Ignoffo 8283047bf1 Re-implement Waila compat 2016-05-01 09:00:49 -07:00
Nicholas Ignoffo cfa40e9bfb Update JEI compat
Supports new category item system.
Fixes Binding category input slot cycling through input and catalyst.
2016-05-01 08:35:07 -07:00
WayofTime 41edd86602 Work on Elytra upgrade.
Fixed Lava Crystals again
2016-05-01 10:01:00 -04:00
WayofTime 08de13b482 Added fall distance mitigation to the jump upgrade 2016-04-30 10:39:50 -04:00
WayofTime aba4332699 Changed it so that the Mending enchantment consumes the EXP before the Tome of Peritia does 2016-04-29 19:55:23 -04:00
WayofTime 172cf86348 - Changed Living Armour so that it is now damagable. The Living Armour Chestplate will be damaged, but will not break. If it gets to ~0 durability, it will damage your LP network heavily.
- Living Armour is now repairable in an anvil with Binding Reagent.
- Started adding in the Alchemy Table... not really started.
2016-04-29 19:45:45 -04:00
Nicholas Ignoffo aacb54962b Remove Compression mod bandaid
An actual fix was implemented by the author.
2016-04-24 11:54:05 -07:00
Nicholas Ignoffo 4a1484965c Fix spam when registering potions 2016-04-24 11:52:58 -07:00
Nicholas Ignoffo d550513f0a Update Forge + mappings 2016-04-24 10:06:28 -07:00
Nicholas Ignoffo b408234ab0 Fix formatting in compression compat 2016-04-24 08:50:10 -07:00
WayofTime 7bf8fb82c3 Fixed changelog because TehNut is a meanie pants. 2016-04-24 11:49:06 -04:00
WayofTime fbd7b751fc Updated changelog for the -34 update. 2016-04-24 11:48:06 -04:00
Nicholas Ignoffo ba17fe126e Config for ignoring Compression mod's compress recipes
Over 3200 recipes with *just* vanilla + BM is... bad. Nobody should be adding that many...
2016-04-24 08:30:59 -07:00
WayofTime b9557bf5ae Merge pull request #719 from neconeco2/1.9-JP-patch01
Create ja_JP.lang (v2.0.0-33)
2016-04-24 07:08:40 -04:00
WayofTime 9ba616d260 Merge pull request #720 from qianzha/patch-13
Update zh_CN.lang
2016-04-24 07:08:30 -04:00
qianzha 57e949c99e Update zh_CN.lang 2016-04-24 18:36:58 +08:00
neconeco2 0cfa101e22 Update ja_JP.lang
change 'Dusk' and 'Dawn' transrate
2016-04-24 11:18:54 +09:00
neconeco2 95105db5e2 Create ja_JP.lang (v2.0.0-33) 2016-04-23 15:22:36 +09:00
Yulife 2293b91b98 Charging Rune 2016-04-22 21:33:52 +02:00
Yulife a6949f58bb Transposition Sigil and Sacrifice Armour
Also removed some unused textures, @Tombenpotter what does each sigil
do?
2016-04-19 17:50:14 +02:00
Nick 137beb4006 Add a clickable area to Soul Forge to view recipes 2016-04-18 19:23:47 -07:00
Yulife 472fe71a80 New ceremonial dagger texture 2016-04-18 15:43:20 +02:00
Yulife a34f7b9566 Goodbye transparent pixels 2016-04-18 15:43:20 +02:00
Nick 6449da0733 Use separate texture for activated sac dagger instead of enchant overlay 2016-04-17 14:03:26 -07:00
Nick a4f55d88b6 Change some int displays to Roman Numerals
May not be 100% accurate if you somehow manage to get these really, really high, but it's good enough.
2016-04-17 13:51:39 -07:00
Nick d71f181729 Add decoration safe tooltip to Blood Runes and Ritual Stones 2016-04-17 13:50:23 -07:00
Yulife 46aafe3368 New soul texture
Thanks to @CyanideX for the base :D
2016-04-17 22:45:39 +02:00
WayofTime bbe67662fa Updated changelog for -33 2016-04-17 08:19:48 -04:00
Nick 458f8810b6 Fix Sacrificial Runes not affect sacrifice amount (#713) 2016-04-17 00:03:53 -07:00
Yulife 8ddd95b294 Demon Tools 2016-04-16 15:52:50 +02:00
Nick b2d1b75f49 Allow passives to drop Will in Peaceful (#711) 2016-04-15 16:46:58 -07:00
WayofTime 0e4e428f0e Fixed NPE when re-activating a ritual. 2016-04-15 13:19:32 -04:00
WayofTime 33901910de Fixed another localization derp 2016-04-15 11:08:20 -04:00
WayofTime f770f5eb30 Finished localization of ritual descriptions (for now). 2016-04-15 10:59:22 -04:00
Yulife d00c272561 New router 2016-04-15 16:03:06 +02:00
Yulife 7ddafcf4d4 Ritual Tools 2016-04-15 15:46:48 +02:00
WayofTime 7ca72320c5 Initial work on Capabilities usage for inventories. 2016-04-13 17:58:06 -04:00
WayofTime 744feffc54 Added the recipe for the ritual tinkerer and modified the recipe for the bloodstone blocks. 2016-04-13 14:50:42 -04:00
WayofTime 049d7c8472 Fixed shift-clicking for the routing nodes 2016-04-13 11:46:28 -04:00
WayofTime c0b39039cc Fixed the Speed and Jump rituals so that they correctly update the player's motion 2016-04-13 11:05:17 -04:00
Nick Ignoffo 81e9452a21 Merge pull request #709 from Arcaratus/1.9
Improved the API and internal workings
2016-04-12 18:37:05 -07:00
Arcaratus 3e50dd4117 Improved the API and internal workings
Update things

Fix some more things

Update once more

Refactoring and removing unnecessary null checks

Woops

Fix

Nother fix

Moar fix

Fix imports

Update ItemBindable.java
2016-04-12 20:34:08 -04:00
WayofTime 8571d4d264 Potential fix for routing nodes (I changed nothing, but it now works). Fixed blocks that are solid that did not block sunlight. 2016-04-12 15:25:16 -04:00
WayofTime 0a2dfb4fd4 Finished more ritual stuff 2016-04-11 17:31:14 -04:00
WayofTime 91ddb8b761 A lot more implementation work for custom areas for rituals. 2016-04-11 15:36:27 -04:00
WayofTime 51c79f15a9 Added chest ranges to the rituals that have chests, allowing the location of the chest to be assigned by the player. 2016-04-11 09:57:57 -04:00
WayofTime 9fe525b74b Did more work on the Ritual Reader. Fixed issue with the Ritual Diviner cycling its direction when you right click on the MRS. 2016-04-11 08:26:41 -04:00
WayofTime 057a951732 Did more work on the Ritual Reader - functionally, it is at about 80%. 2016-04-10 22:09:32 -04:00
WayofTime 30f233b81a Untested Ritual Reader stuff, and removing some registry shenanigans. 2016-04-10 21:19:18 -04:00
WayofTime db268b23a4 Started work on the "Ritual Reader," which will in the future give more information about rituals as well as allow you to set the custom areas of the rituals. 2016-04-10 15:05:51 -04:00
Nick f88dae6dda Add setRegistryName calls where missing
Also fixed Teleposition Sigil having Teleposition Focus's name. Stupid auto-complete not knowing which "TELEP" I wanted.
2016-04-09 17:06:41 -07:00
Nick d48e4e5ae8 Move setRegistryName out of item/block constructors 2016-04-09 16:50:16 -07:00
WayofTime b259afc7df Updated changelog, changed Sacrificial Dagger's call to protected 2016-04-09 17:59:25 -04:00
WayofTime 8b4a7d4999 Did some work on the Sentient Bow to start adding abilities to it 2016-04-09 17:57:30 -04:00
WayofTime 9768909eb8 Fixed it so the sentient bow actually shoots sentient arrows. 2016-04-09 15:35:02 -04:00
WayofTime 22a0343740 Updated for Forge 12.16.0.1859 2016-04-09 10:27:18 -04:00
WayofTime 0b38f16672 Attempted to do a bit of rebalancing with the upgrade points 2016-04-07 21:11:25 -04:00
WayofTime 21473c12cd Added True Strike, increasing the damage of critical hits 2016-04-07 16:27:34 -04:00
WayofTime 7b94e414f8 Added Charging Strike armour upgrade 2016-04-07 15:12:57 -04:00
WayofTime bd36e95fc9 Reworked damage-modifying upgrades 2016-04-07 14:22:45 -04:00
WayofTime aa6d7bcfaa WTP, SourceTree? 2016-04-07 14:05:36 -04:00
WayofTime 2c72a27f8f Added step assist living armour upgrade tracker 2016-04-07 14:00:18 -04:00
WayofTime 832371271a Added recipe for the Tome of Peritia 2016-04-07 10:44:20 -04:00
WayofTime c3922fad63 Rebalanced Grave Digger so that it takes into account the swing cooldown 2016-04-07 10:35:00 -04:00
WayofTime 7d9312b2f8 Reverted changes to Living Armour - waiting on change to Forge's armour to balance properly. 2016-04-07 10:07:55 -04:00
WayofTime aa480af518 Updated forge, did random stuff to the armour before realizing issues with armour calculations 2016-04-06 21:04:50 -04:00
WayofTime b56bbef29e Formatting! 2016-04-05 16:16:17 -04:00
WayofTime 029091852d Fixed Water and Lava sigils placing two sources in special scenarios. 2016-04-05 16:13:49 -04:00
Nick 794ac6a7a2 Move binding back to PIE
BM will now only load with Forge 1840+ as that is the version that PIE was re-implemented. Set dependency to avoid crashes. Also updated JEI version so it wouldn't crash with new Forge.
2016-04-04 19:23:06 -07:00
WayofTime b0b61798fe Added "Grave Digger" living armour upgrade 2016-04-04 20:18:10 -04:00
WayofTime 1c6c7ba0a6 Fixed some minor bugs with the Living Armour 2016-04-04 19:24:43 -04:00
WayofTime 0755202a35 Fixed custom potion effects so they could be applied server-sided 2016-04-04 13:35:10 -04:00
WayofTime fa6c57091b Fixed an issue with the sentient sword having an attack speed of 4 when it did not make a will bracket. 2016-04-03 21:59:47 -04:00
WayofTime 6630e50efd Fixed the Sentient Sword so that it would use the default will type if it didn't have enough will. 2016-04-03 21:46:23 -04:00
WayofTime 02adac819d Fixed OutOfBoundsException in the Sentient Sword when you didn't have enough Will 2016-04-03 19:19:45 -04:00
WayofTime 912f1694e8 Added increase in speed for Routing nodes inside of a chunk with Demon Aura 2016-04-03 17:08:00 -04:00
WayofTime 25bfa0c969 Fixed armour calculations for unblockable sources 2016-04-03 13:44:47 -04:00
WayofTime 0afc150cc3 Rebalanced soft fall upgrade poings 2016-04-03 12:19:52 -04:00
WayofTime 96ecd73286 Added Soft Fall and Strong Legs living armour upgrades. 2016-04-03 12:17:42 -04:00
WayofTime f9bf63ccf1 Fixed NPE when using an empty bucket 2016-04-03 10:12:10 -04:00
WayofTime ad97710dda Implemented texture for the Experience Book 2016-04-03 09:03:27 -04:00
Yulife 73a3f4800a Texture for Experience Book 2016-04-03 15:00:48 +02:00
WayofTime fe5a544e9d Finished the behaviour of the experience book. 2016-04-03 08:54:15 -04:00
WayofTime dbedcf0745 Fixed it so that the blood orb is no longer consumed in the crafting grid 2016-04-03 07:58:01 -04:00
WayofTime be87a96a5f Fixed formatting not working properly on servers. 2016-04-02 21:44:50 -04:00
WayofTime d20ad198be Working on the experience book 2016-04-02 20:09:23 -04:00
Nick 2258f7b442 Fix registered name spam 2016-04-02 16:15:22 -07:00
Nick c40936870e Update JEI version 2016-04-02 16:08:04 -07:00
WayofTime 7a119adaf9 More work on the Item Experience Book. Changed the names of the Sanguimancy rituals to be more... majestic. 2016-04-02 18:45:52 -04:00
WayofTime 1d14692a93 Slowly working on an experience book for the mod. Changed Curse building to Beta 2016-04-02 16:42:04 -04:00
WayofTime 378c59d2b3 Updated to Forge 1826 2016-04-02 16:02:01 -04:00
WayofTime 39df6d5bb0 Fixed living armour's training bracelet so that it deactivates any training of upgrades not supported
Added "Experienced" living armour upgrade, which provides more xp from picked up orbs.
2016-04-02 10:10:49 -04:00
WayofTime cc7c594c52 - Removed health buff from Steadfast armour
- Changed corrosive sword's effect from poison to wither
2016-04-01 14:29:56 -04:00
Yulife 89f6375031 Masks for Armour 2016-04-01 13:34:42 +02:00
WayofTime 66f3a9b581 Fixed #697 2016-03-31 21:11:58 -04:00
WayofTime b1a532950d Added damage boost and attack speed penalty for the Destructive sentient armour 2016-03-31 12:37:39 -04:00
WayofTime d7191d9f2e Fixed Blood Altar model 2016-03-30 21:13:27 -04:00
WayofTime 92992e246b Fixed issue with Sentient Sword damage always being 12. 2016-03-30 19:32:57 -04:00
Nick 1cdcd81508 Pull teleportBlocks method into general utility class
It's useful in other places and those other places really shouldn't be firing off the TeleposeEvent.
2016-03-29 17:38:11 -07:00
WayofTime 63b541da06 Fixed Teh Nut derp 2016-03-29 19:56:15 -04:00
WayofTime 1b0e07cdb1 Added speed effect to Vengeful armour 2016-03-29 19:36:12 -04:00
Nick 7716e743ad Fix possible NPE on telepose (#693) 2016-03-29 16:27:59 -07:00
WayofTime eb43a7d04a Added movement speed on the Vengeful sword when in-hand. 2016-03-29 18:54:12 -04:00
WayofTime 7977fa351f FINALLY changed it so farm animals do not drop demon will
Did work on the armour's unique effects.
2016-03-29 18:39:52 -04:00
WayofTime 3fc5a76d53 Tweaked Tartaric Gem interactions. 2016-03-29 16:34:39 -04:00
WayofTime 39dbaea109 Finalized sentient sword effects 2016-03-29 16:11:16 -04:00
WayofTime 4f6f3860c0 Added Sentient Bow textures and models. Not the most elegant method. 2016-03-29 13:25:00 -04:00
WayofTime 4a58fc5518 Updated Forge to 1813. Worked on the SentientArmour so that it is able to use the different will types depending on what is the highest. 2016-03-29 09:22:25 -04:00
WayofTime 4ea3e0ca92 Created visual niceties when an item uses/contains a different will type. 2016-03-28 20:14:05 -04:00
WayofTime 09e90f93c3 Merge pull request #691 from Yulife/1.9
Demon Will Variants & Formula
2016-03-28 15:41:29 -04:00
Yulife 9a4bf8578f Demon Will Variants & Formula 2016-03-28 17:15:11 +02:00
WayofTime bd79afd46d Fixed the divination sigil and did a variety of other fixes. 2016-03-28 07:25:51 -04:00
Nick c2fe583496 Temporary workaround for binding
Also fixes lots of things that went wonky when #684 was merged

I have no clue how much is still broken. Guess we'll find out :D
2016-03-27 20:11:03 -07:00
Nick 1aaa817e65 Cleanup Alchemy Array recipe registry a bit 2016-03-27 20:09:30 -07:00
WayofTime ed42650c2e Playing with secondary effects provided by the offhand. 2016-03-27 16:53:08 -04:00
Nick Ignoffo 000ef44068 Merge pull request #687 from Arcaratus/1.9
OreDict recipe support!
2016-03-27 10:13:42 -07:00
Arcaratus 800ffa213b OreDict Altar Recipes!
OreDict support for altar and alchemy array recipes!
Changed the alchemy array JEI image

Recipe modularizations

Fix

Like this?

Tehnut patch

Change to List<ItemStack>
2016-03-27 13:12:56 -04:00
WayofTime 0712ec4542 Test push to see if the dev build builds. 2016-03-27 07:44:54 -04:00
Nick 30bc020055 Localized some routing tooltips/chat 2016-03-26 12:32:51 -07:00
Nick b2818e643d Update JEI for new Forge 2016-03-26 12:32:25 -07:00
WayofTime 5cb39d1dbd Updated to Forge 1811 2016-03-26 14:32:06 -04:00
WayofTime f9cb1a08ba Finished the crystal automation ritual, "Gathering of the Forsaken Souls." 2016-03-24 19:10:57 -04:00
WayofTime 016d7986bf Merge pull request #686 from CJCutrone/patch-2
Fix ItemBoundSword damage [1.9 branch]
2016-03-24 18:38:51 -04:00
CJCutrone ba00b166aa Fix ItemBoundSword damage [1.9 branch]
Redid this on the proper branch.
https://github.com/WayofTime/BloodMagic/pull/685
2016-03-24 16:45:51 -05:00
WayofTime 3d2e1d911f 90% finished implementing the crystal growing ritual. 2016-03-24 16:18:39 -04:00
WayofTime f0730791f7 - Changed the growth behavior of the crystals
- Fixed Potion getting for various methods
- Started work on crystal automation ritual
- Finished first iteration of the iterator of AreaDescriptor
2016-03-24 14:11:05 -04:00
WayofTime 78ed6a18e4 Merge pull request #684 from Arcaratus/1.9
API refining
2016-03-23 21:06:12 -04:00
Arcaratus 0383f0fb31 Move some base classes into the API
Add Javadocs for API classes that didn't already have them

Redo

'nother redo

Another redo

Update ItemSigil.java

Last one, I swear

Fix
2016-03-23 20:23:39 -04:00
WayofTime 6a40dbab0a Added (not so great) WIP textures for the crystal items 2016-03-22 17:04:46 -04:00
WayofTime 801355c051 Fixed rendering of .obj models in hand as well as a few small tweaks to attachment logic for routing nodes. 2016-03-22 11:11:11 -04:00
WayofTime 95b10f35c8 Fixed "see through world" syndrome for most blocks 2016-03-22 09:31:47 -04:00
Nick Ignoffo d8c5d75381 Set releaseType to alpha and stop marking 1.8.9 as valid verison 2016-03-21 18:39:56 -07:00
Nick cde81a03dd Update Changelog 2016-03-21 15:33:11 -07:00
Nick d8fe6d21bd Update Forge + Mappings 2016-03-21 12:55:36 -07:00
Nick aa48c540f5 Move armor items to IMeshProvider
Minor change to IMeshProvider allow for this
2016-03-20 23:21:07 -07:00
Nick 6cd993a619 Re-add localization checks to tooltips 2016-03-20 22:55:03 -07:00
WayofTime fc70319fa2 Sentient Bow now properly renders when pulling. 2016-03-20 10:06:53 -04:00
WayofTime 2652dea81d Updated zh_CN.lang from 1.8 branch. 2016-03-19 12:48:39 -04:00
WayofTime fdbdcd56b6 Fixed armour textures 2016-03-19 10:30:01 -04:00
WayofTime 647046fd22 Fixed sentient armour gem. 2016-03-19 10:24:37 -04:00
WayofTime b86f7c24ed Fixed #677 2016-03-19 08:47:59 -04:00
WayofTime 48b3a7ce8b Fixed #676 2016-03-19 08:29:38 -04:00
WayofTime 3fc8a77169 Updated Forge 2016-03-19 08:03:54 -04:00
Nick b9e4ac1e98 Combine TranquilityHandlers into single class 2016-03-18 21:31:18 -07:00
WayofTime fc70bcf107 Changed so items only give their "bonus" while in hand - will change for LivingArmour too. 2016-03-18 18:01:52 -04:00
WayofTime a71673a60e Fixed so that it now boots properly 2016-03-18 17:20:48 -04:00
WayofTime 239b6e5b1f Updated teleport logic (Untested) (0 errors) 2016-03-18 17:12:34 -04:00
WayofTime 966f663270 Entities (20 errors) 2016-03-18 16:57:57 -04:00
WayofTime ac3ac8d272 Items (27 errors) 2016-03-18 16:50:33 -04:00
WayofTime 000c4c5692 Bound Tools (61 errors) 2016-03-18 16:31:55 -04:00
WayofTime dcbc1c0bc4 ModItems and random imports (114 errors) 2016-03-18 16:08:06 -04:00
Nick 1bcc4e47e0 Fix a few nutderps on block updates
Incorrect assumptions + adopting very early = mistakes were made
2016-03-18 13:05:57 -07:00
WayofTime 26f7c874ff EventHandler (139 errors) 2016-03-18 16:05:01 -04:00
Nick 34f5753b17 More item fixes
- Living and Sentient armor have no armor models
- (Self) Sacrifice Pack have no armor models
2016-03-18 12:45:37 -07:00
WayofTime f95949a1c8 Sigils (257 errors) 2016-03-18 15:38:26 -04:00
Nick d05d3b90df Update BlockInteger/String 2016-03-18 12:01:58 -07:00
WayofTime 5e9454d390 Divination and Seer sigils (362 errors) 2016-03-18 15:00:23 -04:00
WayofTime 09168fa386 More error fixes (down to 381) 2016-03-18 14:54:31 -04:00
WayofTime 7706d0667a Fixed command and rendering of the sentient arrow. 2016-03-18 13:21:45 -04:00
WayofTime 10c6829482 Block fixes 2016-03-18 13:16:38 -04:00
Nick 252a4559f0 Re-add JEI compat 2016-03-18 04:07:49 -07:00
Nick 4e580adee1 Switch to non-bootleg Forge version 2016-03-18 02:56:42 -07:00
WayofTime 0c268a0bea Test push to verify everything is working 100% 2016-03-17 16:47:15 -04:00
Nick 6c729db70c Initial 1.9 commit
This DOES NOT BUILD. Do not even attempt.

Almost everything has been ported besides the block/item packages. Then it's a matter of testing what broke.
2016-03-17 13:00:46 -07:00
Nick f896383fe6 Allow Mob Spawners to be teleposed (default blacklisted) (#671) 2016-03-16 15:47:42 -07:00
WayofTime 134b11f177 Normalized code formatting. 2016-03-16 18:41:06 -04:00
Nick b1db7c5152 Most blocks are done 2016-03-16 15:37:55 -07:00
Nick 9de1f6e43e Fix missing " in Demon Crystal JSON 2016-03-16 11:38:03 -07:00
Nick e8d2c523e4 Decrease teleport cooldown for non-living entities (#671) 2016-03-16 11:26:29 -07:00
Nick 599ff5ab67 Blacklist Demon Crystal from Teleposer (#671) 2016-03-16 11:23:22 -07:00
Nick 03662c0cd3 Most items done now 2016-03-16 01:10:33 -07:00
Nick ba0b24d231 Begin new model system
Includes some examples for both ways.
2016-03-15 22:48:01 -07:00
Nick 5c2ba20a32 Update changelog 2016-03-15 19:53:40 -07:00
Nick 2700841973 Changed wills to go straight to inventory and only drop excess (#654) 2016-03-15 19:50:03 -07:00
Nick 6a6cb53d8f Bound Tools are now enchantable (#664) 2016-03-15 19:38:45 -07:00
Nick 14267656cb Fix bound tools unreliably breaking blocks 2016-03-15 18:37:34 -07:00
Nick 830a6bcc36 Fix desync with Phantom Blocks (again) (#668) 2016-03-15 12:12:15 -07:00
Nick 173fdbfb2d Make Blood Lights more visible when holding Sigil (#340)
Spawns some extra particles to make it more noticeable
2016-03-14 20:23:31 -07:00
Nick 6736d2cf4b Fixed Blood Light Sigil not using LP (#653)
Also a bandaid for accidental spamming of lights. 10 tick cooldown before being able to place another.
2016-03-14 20:18:54 -07:00
Nick 0f4e1ad4cb Fix step height being reset to incorrect value (#652) 2016-03-14 19:46:59 -07:00
Nick 842df80a97 Update changelog 2016-03-14 19:23:18 -07:00
Nick d9e9a4704a Debug commands
Not fully tested. The ones tested do work, though.
2016-03-14 19:00:03 -07:00
Nick a3b7001d55 SoulNetwork setters should automatically markDirty() 2016-03-14 18:58:44 -07:00
Nick abb58b57e5 Fix Creative dagger not filling Altar to capacity 2016-03-14 18:58:13 -07:00
Nick 399442cf62 Helper method for getting the max LP contained in a tier
Finds the highest capacity of the orbs in a given tier
2016-03-14 18:57:39 -07:00
Nick 0ba6ff8235 Fix orb tier never being set in SoulNetwork
Oopsy
2016-03-14 18:56:55 -07:00
Nick f5d02b2807 Interface cleanup
Specifying public in an interface is redundant.
2016-03-14 18:55:44 -07:00
Nick 76b3c14499 AddToNetworkEvent should be cancellable 2016-03-14 18:55:05 -07:00
WayofTime 22bd2f0628 Fixed WillChunks so that you should not get a null chunk when requested. 2016-03-14 20:16:31 -04:00
WayofTime 698358df23 Merge pull request #663 from qianzha/patch-11
Update zh_CN.lang
2016-03-12 07:24:15 -05:00
qianzha 8c1380662b Update zh_CN.lang 2016-03-12 20:09:38 +08:00
WayofTime cbe858e581 Fixed Hellfire Forge's GUI 2016-03-07 06:39:37 -05:00
WayofTime 4fd39b6348 Fixed altar crashing 2016-03-07 06:30:58 -05:00
Nick 126d17b55d Clean up some javadoc spam
Still need to figure out why delombok is priting an error for every non-BM import. It was apparently fixed in `gradle-lombok` 1.5 but it seems to have returned.
2016-03-02 12:56:57 -08:00
Nick fe18be56fd Update graphic for Altar page in docs
Removes the Sanguimancy part and use new graphical style
2016-03-01 13:45:45 -08:00
Nick 5cd44fd40c Change node beam texture to an internal one
So @Yulife shuts up about it :P
2016-03-01 09:09:21 -08:00
Nick 3f8cccf056 Config to only render routing lines while an INodeRenderer is held
Current INodeRenderer's are the Node Router and all Routing Nodes
2016-02-29 23:20:57 -08:00
WayofTime 507d41111d Reverted GuiButton variables to standard method. 2016-02-27 19:37:42 -05:00
WayofTime 6b52b5131b Merge pull request #649 from Arcaratus/1.8
Routing node cleanup
2016-02-27 19:35:03 -05:00
WayofTime 7106579201 Updated changelog and added recipes. Also created behaviour for the crystals to drop single crystals. 2016-02-27 19:34:42 -05:00
WayofTime 620023d098 Fully implemented discrete demon will, which means the demon crystals can be inserted into demon crucibles to create will. 2016-02-27 16:36:56 -05:00
Arcaratus e89451ed36 Routing node cleanup 2016-02-27 11:38:40 -05:00
Nick 83c1497609 Put the breaks on the model spam train
OBJs are noisy
2016-02-26 22:36:52 -08:00
Nick f21e97063a Fix formatting + tooltips 2016-02-26 21:35:41 -08:00
Nick 8d5e9c125b Initial stab at documentation 2016-02-26 21:22:34 -08:00
WayofTime 70f4c117d7 Added growth method for the crystals. 2016-02-26 22:11:28 -05:00
WayofTime ea24e7edd8 Created the proper rendering for the crystal clusters while in hand 2016-02-25 22:00:02 -05:00
WayofTime 19fec96bfd Added different types of Demon Will crystals. Obtainment method still TBD 2016-02-25 16:19:57 -05:00
WayofTime 8077962e08 Fixed brightness issue with crystals. 2016-02-25 11:29:48 -05:00
WayofTime 3fc6b5627f Testing translucent textures. 2016-02-25 10:45:00 -05:00
WayofTime da6f410394 Lots of import rearrangement due to odd "clean up" algorithm. Added Crystals, which are very WIP. 2016-02-25 08:54:18 -05:00
Nick 99c2b26c6b Durability for Inscription Tools 2016-02-23 22:48:34 -08:00
Nick 7af53ce85b Add AltarCraftedEvent
Called after an altar has crafted an item. Not cancellable, however the output itemstack may be modified.
2016-02-23 22:48:15 -08:00
Nick 45710ebb8f Some minor cleanup
* Hid Dimensional Portal from JEI and Creative
* Fixed stacktrace spam when invalid portal was stepped into
* Fixed tank rendering no model at all
* Fixed NBT saving for Dimensional Portal
2016-02-23 22:47:28 -08:00
Nick Ignoffo 5c5cda1917 Merge pull request #641 from Alex-hawks/1.8
Add Capability support to Ritual Sones, Finish TE support as well
2016-02-23 21:33:55 -08:00
WayofTime 743af85a61 Added Demon Pylon (currently no model) which pulls demon will from surrounding chunks into its chunk. 2016-02-23 13:40:08 -05:00
alex-hawks 33f05cd819 Add Capability support to Ritual Sones, Finish TE support as well 2016-02-24 01:52:52 +08:00
WayofTime 7104138e2b Implemented Priority System for the item routing system. Lower numbers are looked at first. 2016-02-22 21:19:22 -05:00
WayofTime 2c49c49441 Started work on Demon Will Inversion system. 2016-02-21 20:10:56 -05:00
WayofTime 0524daa16c Fixed suicidal portals in SMP 2016-02-21 13:26:09 -05:00
WayofTime 9d1bfe540f Merge pull request #639 from AngelCry/1.8
Update ru_RU.lang
2016-02-21 07:32:20 -05:00
AngelCry 9fcd548273 Update ru_RU.lang 2016-02-21 05:05:22 +02:00
Nick 8393cca118 Blacklist Alchemy Array from JEI 2016-02-20 15:51:44 -08:00
WayofTime 37227d42f9 Fixed path blocks so they are actually craftable. 2016-02-20 15:34:16 -05:00
WayofTime 4a1cf11f6d Merge pull request #637 from Arcaratus/1.8
Backwards rune recipes and texture fix
2016-02-20 14:33:22 -05:00
Arcaratus f83838c8b1 Backwards rune recipes and texture fix 2016-02-20 14:30:35 -05:00
WayofTime c364ebf6ae Fixed armour so that it properly increments the upgrade points for extended play sessions. 2016-02-20 13:46:53 -05:00
WayofTime 8e8562e5a0 Minor fix to crushing ritual. Felling ritual's upkeep cost was reduced. 2016-02-19 20:11:29 -05:00
WayofTime b3636fe12f Fixed filters so that they would send a block update to the inventories when updated. Also nerfed the bound sword. 2016-02-19 19:47:58 -05:00
WayofTime a88d7f43b8 Created fillWill method for the tartaric gem. 2016-02-19 08:03:33 -05:00
Nick Ignoffo b818939a9c Merge pull request #635 from NatsuArashi/patch-5
Update zh_TW.lang
2016-02-19 02:29:00 -08:00
NatsuArashi 9821f0c2c2 Update zh_TW.lang 2016-02-19 18:24:33 +08:00
Nick 2f9e59ac56 Setting up workspace now sets a permanent username
This username can be defined in a `gradle.properties` file. For the purposes of this project, use your global property file in `USERHOME\.gradle\gradle.properties`. If no username is set there, it will default to `BloodMagicDev`.

This should help with dev so you don't start with a brand new username each time you load up the game (without manually setting it otherwise)
2016-02-18 20:05:53 -08:00
Nick a056835a31 Move last PR into single event handlers
Also includes a var in the main class for if we're running in an obf env or not. Use this for debugging
2016-02-18 19:44:39 -08:00
Nick Ignoffo 151a0285ff Merge pull request #634 from Arcaratus/1.8
Ritual holograms!
2016-02-18 19:19:43 -08:00
Arcaratus da711c0461 Ritual holograms! 2016-02-18 21:59:10 -05:00
Nick 55aa5c4e2c Add template for issues and contributing page
Removed Issue reporting and contributing sections from README
2016-02-18 18:16:51 -08:00
WayofTime 035ba94976 Reworked Tartaric Gems so that they contain specific demon will types (work for the future) 2016-02-18 18:00:02 -05:00
Nick e681085d8b Update CurseGradle version 2016-02-18 10:15:50 -08:00
WayofTime 461f38f34b Updated changelog 2016-02-18 12:57:24 -05:00
WayofTime e2e1b3c50f Merge branch '1.8' of https://github.com/WayofTime/BloodMagic into 1.8 2016-02-18 12:53:36 -05:00
WayofTime 70d0723dde Added recipes for sigils. Updated changelog for -18 release. 2016-02-18 12:53:04 -05:00
Nick a35aced93a Check if owner is set before syphoning 2016-02-18 09:51:58 -08:00
Nick 48622bf2e7 All Getter methods for lists/maps in registry now return new copies 2016-02-18 09:49:12 -08:00
Nick d997932306 Water Sigil can now fill the Cauldron (#617) 2016-02-18 09:37:31 -08:00
WayofTime 19bf728da3 Fixed rituals not correctly re-activating when taking off a redstone signal after reloading the world. 2016-02-18 12:26:42 -05:00
WayofTime 34a9b5a7ec Fixed Portal ritual. 2016-02-18 12:11:29 -05:00
WayofTime 7979dc4e5f Merge pull request #632 from Tombenpotter/1.8
Huge commit for the Pull-Request.
2016-02-18 11:40:32 -05:00
Tombenpotter 7e8aec8652 Huge commit for the Pull-Request.
Added a lot of things:
- Blood Tank
- Teleposition Sigil
- Transposition Sigil
- Cobblestone/Netherrack/Obisidian generation Ritual
- Tree Cutter Ritual
- Pump Ritual
- Altar Builder Ritual
- Block Placing Ritual
- Portal Ritual
- Teleportation System and API Components
- Cross pattern Area Descriptor
- Two reagents and their textures for the sigils’ crafting

Fixed:
- Teleposer not teleporting entities correctly

And probably other things I forgot!
2016-02-18 17:25:11 +01:00
WayofTime d947f23696 Attempted to improve the crucible's logic. 2016-02-18 09:03:18 -05:00
Nick 29a8117771 Fix Spectral Block storing of block 2016-02-18 02:03:38 -08:00
Nick abf4a7df5d Update buildscript with new JEI version
oops
2016-02-18 01:46:16 -08:00
Nick 4becdbf969 Update JEI to latest
Fixes issue where setting "after:JEI@[1.2.3,)" would cause the blacklist to break.
2016-02-18 00:06:25 -08:00
WayofTime c641f69809 Fixed a bit more logic of the demon crucible. 2016-02-17 21:23:13 -05:00
Nick 8a9b88d0cb Sigils now cut their description tooltip if too long 2016-02-17 16:10:16 -08:00
WayofTime ccb706f15c - Removed the FOV effect from the Quick Feet speed upgrade.
- Minor work on the Demon Crucible.
2016-02-17 16:31:11 -05:00
WayofTime 3e94aeae77 Added obj for WIP Demon Crucible (name pending). Fixed Floating Incense Altar syndrome. 2016-02-17 09:21:22 -05:00
Nick af193c3e5b JEI support for Blood Orb recipe type
We can now move all the recipes over to Shape(d/less)BloodOrbRecipe
2016-02-16 20:48:42 -08:00
Nick 65dd24b19b Move Revealing upgrade to tc compat class/package 2016-02-16 15:45:44 -08:00
Nick Ignoffo ba601c47b6 Merge pull request #627 from Arcaratus/1.8
Beginning Thaumcraft compat
2016-02-16 15:44:16 -08:00
Arcaratus abf54bf9af Beginning Thaumcraft compat
Derp
2016-02-16 18:41:59 -05:00
WayofTime 15650bac8b Amended range of Zephyr ritual
Fixed Green Grove ritual
Fixed Crusher ritual so it didn't break everything at once.
2016-02-16 11:46:47 -05:00
Nick 8f453f6e1e ItemBindable static methods now look for IBindable 2016-02-15 15:02:32 -08:00
Nick 58e51b9d51 Move IMC handling to it's own class 2016-02-15 15:01:03 -08:00
WayofTime 3c26dba99e Added recipe for the training bracelet. Combine in an anvil with an upgrade tome to set it as the upgrade to train 2016-02-15 17:20:33 -05:00
WayofTime db4c68e5f3 Added Ritual: Ritual of Living Evolution, which is used to set the living armour's max upgrade points to 300. 2016-02-15 17:13:50 -05:00
WayofTime 7610329d0a Added Ritual: Song of the Cleansing Soul to remove Living Armour upgrades from the armour. 2016-02-15 15:27:39 -05:00
WayofTime b5c8c2242a Fixed step height issues. 2016-02-15 13:36:47 -05:00
WayofTime 8ec653b2a7 Fixed lava crystal working even if there is no LP available. Causes a desync on server worlds. 2016-02-15 08:11:18 -05:00
WayofTime 18a36b9778 Fixed incense altar so that it checked two blocks above its level properly. 2016-02-15 07:11:02 -05:00
WayofTime 64efaf854b Implemented most of the framework required for training specific Living Armour Upgrades. 2016-02-14 21:50:32 -05:00
WayofTime 01d4bdffa2 Fixed Sacrificial Dagger so it properly bypasses armour reduction checks. 2016-02-14 08:26:19 -05:00
WayofTime 1787f50a65 Added recipes for various sigils. 2016-02-12 20:48:00 -05:00
WayofTime f195c5a486 Fixed bug where Living Armour would give its upgrades even if you didn't have the full set. 2016-02-12 20:24:20 -05:00
Nick 0828e965c6 Fix NPE when setting position of Teleposition Focus (#609) 2016-02-12 12:49:32 -08:00
WayofTime bb106e84ef Fixed tranquility check on seer sigil. 2016-02-12 06:27:44 -05:00
WayofTime 95354ad557 Added Runic Shielding upgrade to the Living Armour. 2016-02-11 17:53:20 -05:00
WayofTime 460df89e10 Fixed Blood Altar resetting when clicked with an item. 2016-02-11 15:56:08 -05:00
WayofTime c6b446faf9 Fixed uncommon error in the Seer and Divination sigils. 2016-02-11 15:44:32 -05:00
WayofTime 69eb621fc8 Finalized Solar Powered perk. Worked a bit more on Grim Reaper's Sprint. 2016-02-11 14:10:43 -05:00
WayofTime 8feae53462 Updated changelog for -16. 2016-02-11 07:42:42 -05:00
WayofTime a5391840a4 Small change to docs in NetworkHelper. 2016-02-11 07:29:11 -05:00
Nick 04c0c32188 More work on moving models into ItemStates 2016-02-10 18:49:02 -08:00
Nick 325cda2f71 Begin cleaning up model registration 2016-02-09 19:07:56 -08:00
Nick f613c00970 Change Revealing upgrade to follow other upgrades
Obtained the same way as before.
2016-02-09 18:49:38 -08:00
Nick be0a93143d Blacklist some more NBT tags from JEI 2016-02-09 18:26:30 -08:00
WayofTime bb40cbb216 Fixed something 2016-02-09 21:08:54 -05:00
WayofTime 1d7b6febb9 Merge branch '1.8' of https://github.com/WayofTime/BloodMagic into 1.8 2016-02-09 20:22:18 -05:00
WayofTime 2be1d50541 Attempt to implement the Living Armour upgrade for the Grim Reaper's Sprint. 2016-02-09 20:22:14 -05:00
WayofTime 26d754cb9a Merge pull request #602 from Arcaratus/1.8
Touched up Divination Sigil -> Incense Altar interaction
2016-02-09 18:15:28 -05:00
Arcaratus a0b5571f96 Touched up Divination Sigil -> Incense Altar interaction 2016-02-09 18:13:18 -05:00
WayofTime 9add936ddf Merge pull request #601 from BBoldt/1.8
final wood path blocks
2016-02-09 17:53:39 -05:00
BBoldt 48ee1b7a33 final wood path blocks 2016-02-09 14:52:17 -08:00
WayofTime 4e054224ac Fixed step height issues with PotionBoost. Fixed some formatting errors. Set the path blocks' max path lengths. 2016-02-09 15:53:22 -05:00
WayofTime 1ed4926d31 Merge pull request #600 from NatsuArashi/patch-4
Update zh_TW.lang
2016-02-09 10:12:50 -05:00
NatsuArashi 3544bf8486 Update zh_TW.lang
Items.
2016-02-09 23:10:19 +08:00
Nick 82e802e936 Update JEI compat 2016-02-08 16:23:58 -08:00
WayofTime 6346d8f4c4 This is a test push with no consequences. 2016-02-08 19:06:08 -05:00
WayofTime e4b724a6e4 Fixed routing nodes so that their parts do not fight when rendering. 2016-02-08 18:42:45 -05:00
Nick 5757fab22d Alchemy Array should only store a max stack size of 1 2016-02-08 14:41:58 -08:00
Nick faf4562df9 Bound tools now follow the BreakEvent (#79) 2016-02-08 14:17:56 -08:00
Nick effc378498 Fix format error with HellfireForge JEI compat 2016-02-08 13:56:31 -08:00
Nick 64660d2d28 Comparator support for Blood Altar
Default behavior is to check the amount of LP currently inside the Altar. To modify the behavior to check the amount of LP in a network (As it did in 1.7.10), place a Blood Stone Brick (either kind) directly underneath the altar.
2016-02-08 13:49:40 -08:00
Nick 4e1de51cf8 Implement new path blocks 2016-02-08 00:57:02 -08:00
Nick Ignoffo c72da5c024 Merge pull request #597 from BBoldt/1.8-Rewrite
Path Blocks!
2016-02-08 00:02:07 -08:00
BBoldt 353ea365cf path blocks 2016-02-07 23:36:44 -08:00
WayofTime 8c3019447a fixed NPE in the blood orbs. 2016-02-07 18:21:28 -05:00
WayofTime b406bb4672 Fixed melee damage, trick shot, and defense stat trackers. 2016-02-07 15:37:35 -05:00
WayofTime fa6b338a03 Fixed NPE when draining the Blood Altar while it has an empty buffer. 2016-02-07 06:45:38 -05:00
WayofTime 2a25a149fc Actually fixed formatting error. 2016-02-06 20:03:42 -05:00
WayofTime f2d6cc74b6 Fixed Coat of Arms formatting. 2016-02-06 20:01:58 -05:00
WayofTime b90f498282 Translucified the node textures and decreased the beam width. 2016-02-06 18:06:25 -05:00
Nick e5341fa994 Cleanup the rest of the model spam 2016-02-06 15:01:51 -08:00
WayofTime c6f9c04411 Fixed global ignore list so .obj files could be pushed. 2016-02-06 17:50:33 -05:00
WayofTime ea988e3f58 Fixed mtls 2016-02-06 17:42:10 -05:00
WayofTime 9d64a43ee4 Go go node models~ 2016-02-06 17:36:37 -05:00
WayofTime f1621f1bce Fixed imports.
Apparently that's important too.
2016-02-05 22:29:22 -05:00
WayofTime 52aae56335 There were more. 2016-02-05 22:25:26 -05:00
WayofTime 22db498592 Fixed Bound Sword custom mesh definition so that it isn't registered server-side 2016-02-05 22:23:00 -05:00
Nick ca64ecfc66 Inform players if they are not using their Divination sigil
Should lower the amount of "why isn't my network filling?" questions.
2016-02-05 18:05:44 -08:00
Nick 10b58ee7ad Update models. Change bounding box of Hellfire Forge 2016-02-05 15:17:43 -08:00
Nick fc49dc92ed Fix imperfect rituals crashing client
I should really, *really* stop breaking this.
2016-02-05 14:38:32 -08:00
Nick 34afee6dfb Better readability for large numbers
Also updated changelog with everything I've been doing
2016-02-04 18:31:22 -08:00
WayofTime 333c6d71d2 Added flame particles to the incense altar for when it is actually operating. 2016-02-04 21:20:29 -05:00
WayofTime fd671f2902 Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite 2016-02-04 21:12:58 -05:00
WayofTime 233f50de31 Registered item model for master routing node. 2016-02-04 21:11:51 -05:00
Nick 7532a982d4 Fix 3rd person model for tools
+Bound Sword -> Bound Blade
2016-02-04 18:10:48 -08:00
Nick 4a2b6e0641 Stop registering test spell block 2016-02-04 17:58:15 -08:00
Nick ff1425f773 Alchemy Array no longer has missing particles for break animation
Also provides Arcane Ashes on pick block.
2016-02-04 17:43:29 -08:00
Nick c0b85276e9 Alchemy Array no longer causes height change 2016-02-04 17:32:21 -08:00
Nick ef6e066d94 Waila handler for Alchemy Array 2016-02-04 17:07:53 -08:00
Nick 2bf401f1d6 Re-activating a ritual via Redstone should not consume LP 2016-02-04 13:32:59 -08:00
Nick cd794250bd Ritual Stones should always drop blanks 2016-02-04 12:31:44 -08:00
WayofTime 4260ea7a8a Fixed glitch where for altar tier >= 3 the edge runes counted twice. 2016-02-04 08:25:37 -05:00
WayofTime 1bc36b55e5 Removed .png files that were not likely to be used. They will be readded if I ever find a need for them. 2016-02-04 07:12:38 -05:00
Nick 352d2ab35c Fix Bound Tools having high damage while deactivated 2016-02-04 02:51:54 -08:00
Nick cc66af7eb1 Allow Bound Sword to be enchanted
Also changes how the models are handled and changing activation states does not cause the "item change" animation.
2016-02-04 02:45:19 -08:00
Nick fd16a58b6b Move getOwnerName/UUID to IBindable
Where it should have been to begin with... hehe...

Deprecated methods will be removed after beta
2016-02-04 00:25:37 -08:00
Nick 8c1eaddb97 Rewrite Binding system to be fully automated
No more manual handling of binding items to players. Retains all previous functionality.

I have tested on both the Client and Server and it seems to work just fine. If any issues arise from this, do not hesitate to yell at me.

The deprecated methods will be removed after beta.
2016-02-03 23:14:26 -08:00
Nick e219b50589 Config option for Goggles upgrade 2016-02-03 20:41:41 -08:00
Nick c1aeb2e7f6 Thaumcraft Goggles upgrade for Living Helmet
Combine a Living Helmet with an undamaged Goggles of Revealing in an anvil (+1 level) to combine the two. Currently no way to split afterwards.

Thoughts:

- Tweak level requirement to be higher? 1 was chosen in order to make it work.
- Require full set of armor to be worn? This would keep it in line with all the other upgrades.
- I only used the full Thaumcraft jar because the uploaded API is a zip which does not work as a Gradle library.
2016-02-03 20:31:09 -08:00
Nick 332e16a585 Fix OBJ loader spam for Hellfire Forge 2016-02-02 16:32:32 -08:00
Nick 8ab985399c Fixed Hellfire Forge + Incense Altar models
Hellfire Forge has a bit of z-fighting on the corners, still.
2016-02-02 16:25:15 -08:00
WayofTime d7385c9927 Fixed the Hellfire forge .obj. .mtl needs to be repaired for the Incense Altar and Hellfire Forge. 2016-02-02 18:56:25 -05:00
WayofTime ce4e69d702 Fixed BlockIncenseAltar.obj. Apparently the rotation around the x axis is inverted 2016-02-02 18:34:39 -05:00
WayofTime d9f58ceb1e Added Haste Sigil array (not implemented). First attempt at making AreaDescriptor an Iterator<BlockPos> 2016-02-02 18:16:55 -05:00
Nick 271be45871 Blacklist routing nodes from Teleposer 2016-02-01 18:07:06 -08:00
Nick 7e8b469349 Allow rituals to be disabled via config (#545)
Not automated like the old method, but works. Requires an MC restart. Might look at making it reload-able while ingame at a later date.
2016-02-01 17:05:39 -08:00
Nick 6b6c78477c Update mcmod version 2016-02-01 14:53:29 -08:00
Nick d60f07f1c0 OBJ Models for Incense Altar + Soul Forge render
TODO -

* Fix screwy rotation
* Fix z-fighting
* HellfireForge texture is broken
2016-02-01 13:11:33 -08:00
Nick b6bdd0740c Fix method conflict for IImperfectRitualStone 2016-01-31 15:48:49 -08:00
Nick 60d44d7f89 Completely bypass enabled ritual map
This should work, but just in case.
2016-01-31 15:44:07 -08:00
WayofTime 932a767ecf Added the ability for the blood altar to have its buffer tanks accessed 2016-01-31 18:30:57 -05:00
WayofTime 8d6bc20400 Added magnetism sigil array and texture for the reagent. 2016-01-31 16:23:17 -05:00
WayofTime 74ec4ef7c1 Merge pull request #588 from BBoldt/1.8-Rewrite
Yulife - Forge, Altar, Slates, small tweaks
2016-01-31 16:05:24 -05:00
BBoldt 8344c3eba3 Yulife - Forge, Altar, Slates, small tweaks 2016-01-31 12:29:56 -08:00
WayofTime 27d63d5df3 Added blood lamp reagent, sigil effects, and the blood lamp array. 2016-01-31 14:31:16 -05:00
WayofTime 9839dccd04 Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite 2016-01-31 13:57:17 -05:00
WayofTime a9dae1b0d4 Fixed the demon will so that you can actually pick it up when you have no gem. Fix #587 2016-01-31 13:56:55 -05:00
Nick 5f16ed72f8 Swing arm when imperfect ritual activation is successful 2016-01-30 19:34:26 -08:00
WayofTime d5670b5f0e Fixed the bound sword so that it now drops weak blood shards. 2016-01-30 22:22:46 -05:00
Nick 77e8f5b494 Update changelog 2016-01-30 15:12:48 -08:00
Nick 007e415c36 Add IMC support for some API methods 2016-01-30 14:58:37 -08:00
Nick 2220cc1819 Fix Living Armor check NPE. Again. (#584)
I reversed some logic. don't code when tired, kids.
2016-01-30 12:17:52 -08:00
WayofTime 4bb7faabb1 Added the same ability to the Seer sigil. 2016-01-30 08:47:14 -05:00
WayofTime 820418558e Fixed Blood Light particles being purple. Added ability for the Divination Sigil to look at information of the incense altar 2016-01-30 08:44:49 -05:00
WayofTime 690cf6c4f3 Added recipes and block textures to the path blocks. 2016-01-30 07:58:08 -05:00
WayofTime 8d854a5b69 Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite 2016-01-30 06:46:01 -05:00
Nick 608cc3d2b8 Fix Living Armor check NPE (#583) 2016-01-30 01:39:23 -08:00
WayofTime 6575c97aa5 Made it so the incense altar needs a minimum number of roads in order to reach specific tiers. Added as a bandaid measure for setting tiers. 2016-01-29 21:33:29 -05:00
WayofTime 5dabee3c86 Updated the changelog. 2016-01-29 21:21:51 -05:00
WayofTime eaba4e6cc2 Made it so that Demon Will will be voided if the player's tartaric gems are all full. 2016-01-29 21:19:59 -05:00
WayofTime 219b997b24 Decreased effect of looting for the Sentient Sword. Allowed the sword to attack when deactivated. Allowed blocking with the sword. 2016-01-29 21:08:30 -05:00
Nick e0fcf10a1b Minor Living Armor cleanup 2016-01-28 22:37:19 -08:00
Nick Ignoffo 3da5734225 Merge pull request #582 from BBoldt/1.8-Rewrite
Much better sentient armor textures by Yulife
2016-01-28 21:55:50 -08:00
BBoldt 9e44fcbaad Yulife - Sentient Armor + blood shards 2016-01-28 18:46:16 -08:00
Nick 1b862bcec7 Forgot to add redstone handling to changelog 2016-01-28 15:18:37 -08:00
Nick d769ee2d37 Repackage living armor upgrades and trackers
all the organizations
2016-01-28 14:56:49 -08:00
Nick a408f9a959 Rituals now react to redstone 2016-01-28 14:54:32 -08:00
Nick 5b05a175bb Un-nerf Ritual Stone recipe to provide 4 again (#580) 2016-01-28 13:22:38 -08:00
WayofTime cc1e11f09f Added some rudimentary path blocks for the tranquility altar - textures pending. 2016-01-26 19:39:39 -05:00
WayofTime f4d0b18521 Added more infrastructure to the incense system. 2016-01-26 14:33:02 -05:00
WayofTime 1242fefc30 Added sentient armour gem recipe. Added ability for Tartaric gems to fill other gems. 2016-01-26 07:56:17 -05:00
WayofTime e2a007d932 Merge pull request #578 from BBoldt/1.8-Rewrite
Sentient armour, Living armour, sentient bow and arrow; routing stuff; soul forge gui tweaks
2016-01-26 06:28:09 -05:00
BBoldt c953228585 BBoldt - Sentient Armor, soul forge gui tweaks 2016-01-26 02:31:54 -08:00
BBoldt 9aaf981092 Yulife - Sentient Bow & Arrow, Routing stuff, living armor 2016-01-25 23:56:59 -08:00
Nick Ignoffo 895413f0f0 Merge pull request #567 from Arcaratus/1.8-Rewrite
Fixed up Bound Sword
2016-01-25 13:23:30 -08:00
WayofTime 3984d80a41 Updated changelog for next release 2016-01-24 21:03:52 -05:00
Nick 58144d67eb Don't log all registered compression recipes
The amount is fine, but avoiding spamming console is preferable.
2016-01-24 17:50:15 -08:00
Nick 0209b3f98d Fix Imperfect Rituals not working 2016-01-24 17:47:22 -08:00
Nick ad296a8e0e Fix client always reporting 0 LP 2016-01-24 17:47:11 -08:00
WayofTime de08e5d0ac Fixed crash when activating rituals on servers. 2016-01-24 06:54:46 -05:00
WayofTime c8ded3c6dd Added more framework for the incense altar. 2016-01-23 21:18:06 -05:00
Nick fd29ac8e7f Tiles of the same type are no longer reset on telepose (#576) 2016-01-23 17:20:55 -08:00
WayofTime 574c995865 Added a bit of framework for the incense system. 2016-01-23 16:25:39 -05:00
Nick 2ffd6c144a Cut down on the amount of model spam
Just 2 bad ones left:

* AlchemyArray (need to render the TESR for item)
* Test Spell Block (this is going away I think so not a huge deal)
2016-01-23 01:26:53 -08:00
Nick 50bd8514ee Allow mods to blacklist their blocks from Green Grove 2016-01-23 00:32:10 -08:00
Nick f7682e5c29 Forgot to blacklist the new NBT tag for bindables 2016-01-23 00:20:21 -08:00
Nick 2d6b4611ef Attempt 2 at fakeplayer lookup fix
Removes the name checker and is now based on class names.
2016-01-22 17:19:01 -08:00
Nick 4b9eaa90d8 Should fix the Sacrifice Pack fakeplayer lookup 2016-01-22 16:06:48 -08:00
Nick a769e9d0a7 Make sure sacrifice packs don't store more than capacity 2016-01-22 02:21:10 -08:00
Nick 3920e0926f Allow slight configuration of Coat of Arms conversion
Gives modpacks control while still retaining a bit of balance.
2016-01-21 12:54:46 -08:00
WayofTime b8079bb509 Added multiple router filters and made sure that they are able to work properly. Textures and localization completed. Added a recipe for a consumable "frame" - more of these gating materials to be added. 2016-01-21 15:53:37 -05:00
WayofTime 6c91865c5e Added max transfer amount to filter transfer argument. 2016-01-21 10:57:52 -05:00
WayofTime 8b6787b27c Converted the Master Routing Node so that it would use a TreeMap instead of a HashMap for sorting. Modified TestItemFilter so it actually worked without exceptions.
Added default item filter which allows all items through.
2016-01-21 10:45:45 -05:00
Nick 8f17953b97 Forgot to add to config GUI 2016-01-19 19:53:32 -08:00
Nick 073873960c Allow modifying of entity sacrificial values
Done via API or Config. API values take precedence over Config values.
2016-01-19 19:46:49 -08:00
WayofTime fa15499388 Added particles to the Blood Altar. 2016-01-19 22:03:46 -05:00
Nick 470b5fce9c Those constants shouldn't be there or used
Also notes last commit in changelog
2016-01-19 02:34:49 -08:00
Nick fdfcb5c5b7 Change how blocks/items are registered (desc)
tterrag is a meany face and yelled at me for using class.getSimpleName(). So here's an API-friendly re-work of the registration system. This allows all our Items/Blocks to be obtained via the API. Just add a new enum.
2016-01-18 22:34:12 -08:00
WayofTime 2a028414b1 Temporary bandaid of bandaids. 2016-01-18 18:55:51 -05:00
Nick 780dcdf7be Additional information for Altar JEI handler
Hover over the altar image to view Consumption and Drain rates.
2016-01-17 18:16:17 -08:00
WayofTime 01fcec9a8c Added a GUI to the master routing node to get a feel for what the routing system will be like. It's... WIP. 2016-01-17 21:00:48 -05:00
Nick Ignoffo 34d24c85dc Merge pull request #569 from wlhlm/update-german-translation
Update German translation
2016-01-17 12:35:58 -08:00
Nick e2a766aa79 Block bounds for the nodes + cleanup
AFAICT, the `shouldConnect` method works just fine like this.
2016-01-17 00:58:12 -08:00
Nick a9eb6a7b3b Disable ritual checking for enabled map
Does not work. Need to re-think. I swear I did this earlier.
2016-01-17 00:06:53 -08:00
WayofTime 7250dc8126 Reinitialized filter after fixing iterator. 2016-01-16 20:43:40 -05:00
WayofTime f1301f65d4 Removed filter code so that the CME would not occur until fixed. 2016-01-16 20:27:26 -05:00
WayofTime 1a908d64c6 Patch fix for concurrent modification exception 2016-01-16 20:11:25 -05:00
Nick c5b48ab59f Retain order of provided wills in JEI + only display valid will containers 2016-01-16 12:48:07 -08:00
WayofTime 815faa2ced Added routing filters as well as recipes and temp textures. 2016-01-16 11:10:58 -05:00
WayofTime 76dceb3534 Tinkered with the beam a bit. Added WIP models for the routing nodes. Added basic item routing node. 2016-01-15 21:53:55 -05:00
WayofTime 08e8ebf724 Fixes we can believe in! 2016-01-15 20:06:52 -05:00
WayofTime 9159ff8330 Working through Vazkii's "fixes" 2016-01-15 19:59:00 -05:00
WayofTime c028469174 Merge pull request #573 from Vazkii/patch-4
Fix fix!
2016-01-15 19:57:26 -05:00
Vasco Lavos 2a429239a1 Fix fix! 2016-01-16 00:56:59 +00:00
WayofTime 0ebf28e52c Merge pull request #572 from Vazkii/patch-3
Update beam.frag
2016-01-15 19:49:57 -05:00
Vasco Lavos 09153b1742 Update beam.frag 2016-01-16 00:46:47 +00:00
WayofTime 2c666a931e Now with fancy output blocks 2016-01-15 19:36:44 -05:00
WayofTime 07c138710c Fixed beam rendering so that it doesn't call Gl11 directly unless necessary. 2016-01-15 15:44:20 -05:00
WayofTime 4fe7439a61 Attempted to add some fancy rendering for the connections between nodes. 2016-01-15 15:06:03 -05:00
WayofTime 33ba7cc38f Iiiiinnnnnnnnnntegeeerrrrrrr 2016-01-15 06:44:26 -05:00
WayofTime e888907350 Fixed the LivingArmourHandler for defense so it no longer ate armour. 2016-01-15 06:24:10 -05:00
Nick b70c71f7be Remove all the old model and blockstate files 2016-01-14 21:24:24 -08:00
Wilhelm Schuster 7a98074e39 Update German translation 2016-01-15 02:10:02 +01:00
WayofTime 6a6369d08e Got the routing working to a safe degree. 2016-01-14 15:03:13 -05:00
WayofTime 652b6a45fd Initial framework for the item routing is completed 2016-01-14 14:11:16 -05:00
Nick eaefd89287 Remove potion array extending
It's already patched by Forge to be 256.
2016-01-14 09:34:21 -08:00
WayofTime a895809274 Added packet handlers, guis, etc required to handle the routing nodes. Added the ability to have a different filter for each direction. 2016-01-14 11:06:50 -05:00
WayofTime ac919c7882 Implemented ghost items for the inventory - will be adjusted. 2016-01-14 08:27:09 -05:00
WayofTime ec7676a69c Potential fix for a bunch of stuff that required the use of UUID -> username lookup on servers. This fix adds an extra tag to the NBT of items so that it caches the username of the owner. The UUID is still stored on items, but is not used client-side. 2016-01-13 19:59:28 -05:00
Arcaratus 81ba1ef3e1 Fixed up Bound Sword
Fixed Bound Items charge bar bug
2016-01-13 19:48:34 -05:00
Nick 14459ddc69 This call was not as redundant as I thought hehe 2016-01-13 16:35:38 -08:00
WayofTime 2b9cede308 Beginning work on the Master Routing Node 2016-01-13 19:32:50 -05:00
Nick 5ac78b2dea Should fix fakePlayer lookup NPE #546
I think it's safe to say that if the player is null here, the places we use this check should probably not continue. Will see how it goes.

Also added the check to imperfect rituals and removed a redundant check from the dagger.
2016-01-13 13:13:01 -08:00
WayofTime 9aac50542b Implemented a test filter - hasn't been tested! :D 2016-01-12 21:17:26 -05:00
Nick Ignoffo d4f8844660 Merge pull request #565 from Arcaratus/1.8-Rewrite
More rituals
2016-01-12 17:51:51 -08:00
Arcaratus 203a48d526 More rituals
More rituals

Comment out unimplemented portion

some thing useful

Renamed to something more useful
2016-01-12 20:51:05 -05:00
Nick 18280786d9 Add a description for the Demonic Will
Displays when looking up a recipe in JEI.
2016-01-12 16:50:18 -08:00
WayofTime 269459c5c5 Added a lot more framework for the node routing. 2016-01-12 17:05:56 -05:00
WayofTime 1b6e3442ae Fixed movement upgrade stat tracking. 2016-01-12 12:38:51 -05:00
WayofTime 8b0756e9da Added routing nodes and a bit of infrastructure - not even working yet. 2016-01-12 12:23:26 -05:00
Nick 9950b32d53 Fix Sigil of the Phantom Bridge
I'm tentatively considering this fixed. I'd rather not do it this way, but it seems to work...
2016-01-11 13:36:07 -08:00
Nick 0d70eb359e Fix spectral block NBT writing 2016-01-11 13:03:22 -08:00
Nick 99d6dfc513 Curse should no longer list us as 1.8.8 compatible 2016-01-11 12:51:43 -08:00
Nick cf19823855 Hide upgrade tomes from JEI unless they are max level 2016-01-11 12:28:08 -08:00
Nick 7f434d7f3e Temporary (?) durability bar for will full-ness 2016-01-11 02:05:08 -08:00
Nick Ignoffo 2d382ffaa9 Merge pull request #562 from BBoldt/1.8-Rewrite
Blood Orb fixes, soul gems, and soul snares
2016-01-11 01:43:18 -08:00
BBoldt 616d762150 Yulife/Inap's Blood Orb fixes, Soul Gems, and Soul Snare 2016-01-11 01:38:36 -08:00
Nick 20ca21a2c9 Remove loading with 1.8.8
We are no longer compatible with 1.8.8 due to the usage of `IRenderFactory` which was added in a 1.8.9 Forge release.
2016-01-10 17:09:18 -08:00
WayofTime 63783ed8ed Fixed upgrade localization in ItemLivingArmour 2016-01-10 19:27:13 -05:00
WayofTime 1abae8e4ee Implemented the ItemMeshDefinition for the Sentient Sword, allowing for me to make the sword enchantable while still allowing the texture to change. This may be expanded to other items. 2016-01-10 18:31:48 -05:00
Nick cb77b7821f No more mutli-line descriptions
We have a method for this
2016-01-10 14:37:47 -08:00
Nick 5e1a38b271 Fix calls to deprecated model registry methods 2016-01-10 14:34:01 -08:00
WayofTime ebdc069563 Tweaked Sentient Sword will drop rate 2016-01-10 08:37:26 -05:00
WayofTime 1857f8785b Fixed localization inconsistencies 2016-01-10 07:26:50 -05:00
Nick 55b91d0083 Standardize BloodStone/Crystal variant names 2016-01-09 22:40:18 -08:00
Nick a907edca48 Cleanup proxy 2016-01-09 22:05:03 -08:00
Nick 254d9bec80 Prepare ICompatibility for phase based loading
Some compat will need to be done at different loading phases. This should allow that to be handled fairly easily.
2016-01-09 20:41:01 -08:00
Nick de5ca8dfee Cleanup the tooltip for the Upgrade Tomes 2016-01-09 19:46:15 -08:00
Nick e8cb3dbb7d Forge recipes now display soul info via tooltip
Hover over the arrow
2016-01-09 19:45:34 -08:00
WayofTime ebdf85182c Added upgrade tomes to a separate creative tab. 2016-01-09 22:20:59 -05:00
Nick cf4a02bf89 Arcane Ashes should not stack + placement fixes
Does not place when interacting with a block anymore. IE: opening a chest

Performs the arm swing if the placement is valid.
2016-01-09 18:54:56 -08:00
Nick fadd87707f Fix MC version in mcmod.info 2016-01-09 18:49:19 -08:00
Nick 351aa3e74c Implement Entity blacklist for WoS 2016-01-09 18:05:21 -08:00
Nick 9eee22affc Bound tools now use BlockStack
Clean code is happy code
2016-01-09 17:42:48 -08:00
Nick cdc045f7be Fix non-wildcard stem crops not harvesting
protip: == != .equals()

who woulda known
2016-01-09 17:38:23 -08:00
Nick d868414f5b Sigils now don't do their effect when accessing blocks
Should solve #557
2016-01-09 17:30:10 -08:00
WayofTime b3f965cbe3 Added Ritual of the Satiated Stomach 2016-01-09 18:51:55 -05:00
WayofTime c3b21fa223 Added Crushing ritual 2016-01-09 18:17:38 -05:00
WayofTime 4edc30db09 Changed the snare's proc rate, because it's always bad when you frustrate yourself while testing... 2016-01-09 17:30:48 -05:00
WayofTime db8586d4b7 Fixed lit redstone ore not being picked up. 2016-01-09 16:43:32 -05:00
WayofTime 487332ff8d Forgot a class (How does THAT happen?) 2016-01-09 16:37:20 -05:00
WayofTime 6560e6ec09 Added Magnetism ritual 2016-01-09 16:35:47 -05:00
WayofTime c26b7851a8 Added rudimentary saving for rituals 2016-01-09 15:31:30 -05:00
WayofTime 3edfc3a8ac Some work on the armour 2016-01-09 15:05:41 -05:00
WayofTime 4d835257ab Added Sentient Armour - not fully implemented. 2016-01-09 13:01:05 -05:00
WayofTime 61e6cf2a14 Renamed nomenclature to Demonic Will instead of souls - still missing a few spots 2016-01-09 10:47:36 -05:00
WayofTime 9eb49dd5a9 Added the recipe for the soul bow and the descriptions for the gems 2016-01-09 07:38:48 -05:00
Nick c50f15e124 Update mappings + cleanup SoulSnare render
Removed some (seemingly) unnecessary code from RenderEntitySoulSnare
2016-01-09 02:12:48 -08:00
Nick 34e6350cbc Add handlers for "tall" and "stem" crops
Documentation for all harvest-y stuff as well.
2016-01-09 01:54:25 -08:00
Nick 4a9d37f8b3 Remove debug print from ritual activation 2016-01-09 01:42:50 -08:00
WayofTime 1d6edae50e Added infrastructure and rendering for the Soul Arrow. 2016-01-08 22:20:31 -05:00
Nick 22a0e2b8a9 Swap the order of BloodStoneBrick
Now matches the Crystal blocks
2016-01-08 18:59:30 -08:00
Nick 70f9b9f101 Fix Teleposer and Soul Forge dropping items on break 2016-01-08 18:30:49 -08:00
WayofTime c5dec61351 Added Soul Bow textures and localization, as well as rudimentary function. 2016-01-08 21:05:13 -05:00
Nick 9329dd12f4 All soul containers show work for lookup in JEI now 2016-01-08 17:50:12 -08:00
Nick 988e2bd4a2 Update JEI (fixes alpha rendering issue) 2016-01-08 17:47:52 -08:00
Nick 2bea6213b7 Hey look a texture 2016-01-08 17:33:18 -08:00
Nick 858001ec77 No more crashing when invalid javadocs are committed
*cough*way*cough*
2016-01-08 17:17:17 -08:00
Nick f1f8010edc First pass at Soul Forge JEI compat 2016-01-08 17:09:44 -08:00
Nick 1171861785 Fix javadoc compile issues 2016-01-08 16:36:07 -08:00
Nick be30f7d92e Fix Teleposition Focus localization 2016-01-08 16:14:45 -08:00
Nick 92d633626e Fix Plantable harvest handler 2016-01-08 16:14:27 -08:00
WayofTime 6565dae4aa Added moar recipes for the soul forge. 2016-01-08 17:17:33 -05:00
WayofTime 0e2a3f63a2 Added filled soul gems to creative tab. 2016-01-08 16:34:43 -05:00
WayofTime 36846e8952 Tentatitively added the other soul gems 2016-01-08 16:19:24 -05:00
WayofTime fabf63b856 Fixed Soul Gem leaving monster souls with 0 charge left in them.
Added a few recipes to the Soul Forge.
2016-01-08 15:31:55 -05:00
WayofTime 74718f5042 Added the Soul Snare renderer and recipe and basically everything soul snare 2016-01-08 14:56:36 -05:00
WayofTime c015e3421f Fixed toggleable sigils not binding. 2016-01-08 11:06:07 -05:00
WayofTime aee58c487c Satiated Kinnison's rage 2016-01-08 10:32:55 -05:00
WayofTime 16a50f7144 Finished non-rendering components for the Soul Forge. 2016-01-08 10:27:26 -05:00
WayofTime 7b8646659a Added SoulForgeRecipe (basically a modified ShapelessOreRecipe, so is compatible with the oredictionary), and worked on the shift-clicking into the inventory. 2016-01-08 09:12:31 -05:00
WayofTime a9feeade13 Merge pull request #552 from BBoldt/1.8-Rewrite
Scribe tips, activation crystals, soul stuff
2016-01-08 06:55:24 -05:00
BBoldt fbd0895436 just the tips, activation crystals, soul stuff
-- Tips added to scribe tools
-- Spookier soul sword
-- New activation crystals
-- Spooky soul gem
2016-01-08 01:42:35 -08:00
Nick 5744d19ca9 Implement Harvest Ritual
Currently only a handler for standard crops (wheat, carrots, etc) is implemented.
2016-01-08 00:32:03 -08:00
WayofTime 39015f05a6 Changed Soul Forge Gui texture 2016-01-07 22:40:04 -05:00
WayofTime 9254ffd46d Merge pull request #550 from BBoldt/1.8-Rewrite
textures and fixes from Inap
2016-01-07 22:26:44 -05:00
Nick 3bb5172bce Fix altar rendering in altar
...and item frames
2016-01-07 19:00:05 -08:00
Nick b34dbfbe4e Fix and nerf Coat of Arms
It was a bit broken. (~2000 LP for killing a zombie >.>) We'll see how it goes now.
2016-01-07 18:15:23 -08:00
Nick 978e50a42e Cleaned up lots of localization 2016-01-07 15:52:02 -08:00
Nick 5c7af4f039 Update JEI compat
isModLoaded() has been deprecated for quite some time and was finally removed in a recent version.
2016-01-07 15:38:12 -08:00
WayofTime fec2236114 Worked on Soul Forge GUI and container. GUI texture is VERY WIP and the slot locations as well as the progress par will change. Don't work on it >:3 2016-01-07 18:05:23 -05:00
WayofTime 8b024e1703 Added Soul Forge block and WIP model 2016-01-07 16:36:52 -05:00
WayofTime 72ed003da1 Added a lot of soul stuff. 2016-01-07 12:59:46 -05:00
WayofTime 45870812d4 Added a few of the necessary items to start the soul system. 2016-01-07 11:01:38 -05:00
WayofTime f379351e88 Added animal growth ritual. 2016-01-07 08:04:59 -05:00
WayofTime 828edf298e Added "Trick Shot" upgrade to the armour - when trained, your bow will shoot more than one arrow. 2016-01-06 22:07:17 -05:00
WayofTime 2cf7da8603 Modified changelog 2016-01-06 21:33:00 -05:00
WayofTime 6abffeb51a Added temp recipes for T5 orb and demonic activation crystal. 2016-01-06 21:30:57 -05:00
WayofTime 82ac4f5ae8 Added melee damage upgrade (Fierce strike) 2016-01-06 21:26:51 -05:00
WayofTime 65e0cea9af Added health boost upgrade - trained by healing. 2016-01-06 19:55:51 -05:00
WayofTime 6dedb234fb Added Physical Protection upgrade. Reorganized some of the upgrades. 2016-01-06 19:34:10 -05:00
WayofTime 72ac385861 Added necessary framework for damage reduction upgrades. 2016-01-06 07:13:56 -05:00
WayofTime b736fd3eaa Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite 2016-01-05 18:27:55 -05:00
WayofTime 08b6d10cb9 Work on stuff needed for damage upgrades. 2016-01-05 18:27:51 -05:00
Nick c3beb48499 Implement BlockStack in Teleposer related areas 2016-01-05 15:26:24 -08:00
WayofTime 31d41d06ab Added KB resistance upgrade 2016-01-05 18:06:07 -05:00
WayofTime 1a7ae8d99c Fixed API referencing the main mod. 2016-01-05 16:50:43 -05:00
Nick Ignoffo 3980c0fc6c Merge pull request #547 from wlhlm/update-german-translation
Update German translation for 1.8.9
2016-01-05 13:06:27 -08:00
Wilhelm Schuster ec60e01273 Remove duplicate translation strings 2016-01-05 22:05:02 +01:00
Wilhelm Schuster d81943c1cd Update German translation to 1.8.9 2016-01-05 22:04:46 +01:00
WayofTime 35b67b6055 Temporarily removed some checks for the alchemy array 2016-01-05 14:52:04 -05:00
WayofTime f4baaedfab Fixed the life essence bucket recipe. 2016-01-05 13:48:44 -05:00
WayofTime b74ed8d431 Added self-sacrifice upgrade to living armour. 2016-01-05 12:17:05 -05:00
WayofTime dceec15750 Added the unlocalized name to upgrades, and changed it so the armour lists the upgrades. 2016-01-05 11:12:56 -05:00
WayofTime f4abee84ef Reorganized fix for the Lava Crystal 2016-01-05 10:41:23 -05:00
WayofTime fbaf5de9ab Added poison upgrade. Tweaked digging upgrade so it actually worked. 2016-01-05 10:29:50 -05:00
WayofTime 04f5b7a584 Fixed client-side issue when shift-clicking lava crystals into a furnace while on a server. 2016-01-05 09:19:26 -05:00
Nick Ignoffo f3afb10769 Add developing addons section 2016-01-04 18:08:29 -08:00
WayofTime 0d7f0cb6cf Added the recipe for the Air reagent and changed the recipe for the apprentice blood orb to use a redstone block. Emeralds are herd. 2016-01-04 16:09:22 -05:00
WayofTime 80a9380e71 Finalized more for the digging upgrade. 2016-01-04 09:15:15 -05:00
WayofTime cbc2dfbc6d Improved speed upgrade 2016-01-04 08:55:57 -05:00
WayofTime c18f1abbd5 Added localization and textures to the Living Armour 2016-01-04 08:27:43 -05:00
WayofTime 9a48eb9ff3 Temporarily replaced Divination Sigil recipe due to issues with it not working on the servers. 2016-01-04 08:02:10 -05:00
WayofTime 6ea5e8279f Added in rendering for LP for the Blood Altar. 2016-01-03 23:16:43 -05:00
WayofTime 10e29c56ba Added Life Essence bucket recipe 2016-01-03 22:15:48 -05:00
Nick f692b7d49b Implement changelog system 2016-01-03 16:53:26 -08:00
Nick 9c25ff38a6 Update JEI compat 2016-01-03 15:51:54 -08:00
WayofTime 52a067e845 Possible fix for Alchemy Arrays not working on servers. 2016-01-03 18:40:58 -05:00
WayofTime 00adb96931 Added digging stat tracker and upgrade to Living Armour. Added chat message for when the armour upgrades. 2016-01-03 15:39:59 -05:00
WayofTime f0331b4d4d Added speed upgrades to Living Armour 2016-01-03 14:12:55 -05:00
Yulife b280aef16a Fixes 2016-01-03 15:56:19 +01:00
WayofTime 81edc58769 Fixed bound tools so multiple players can actually use them... :D 2016-01-03 09:23:13 -05:00
WayofTime dc0925c5a6 Improved Bound tools. Made them actually use LP! 2016-01-03 08:56:31 -05:00
WayofTime ae14eac769 Fully fixed teleposer offset. 2016-01-03 08:40:10 -05:00
WayofTime 14d3a1ec7e Fixed #541
Fixed #542
2016-01-03 08:30:59 -05:00
WayofTime 4e696bcf7b Supposedly fixed an offset error in the teleposer. 2016-01-03 07:49:29 -05:00
Nick 1cc9d3a4c8 Fix altar insta-break-ness 2016-01-03 00:00:09 -08:00
Nick a6b243e190 Altar maker notifies of creative only-ness 2016-01-02 23:58:57 -08:00
Nick d740264598 Localize Waila ritual controller config 2016-01-02 23:41:38 -08:00
Nick 5a1de15e42 Bound items can be used for crafting 2016-01-02 23:41:26 -08:00
WayofTime 34335d66cc Added Living Armour stat tracker for movement. Implemented necessary methods for the armour. 2016-01-02 22:04:51 -05:00
Nick 5387770fa6 Allow Jenkins to specify between dev and release builds for maven 2016-01-02 17:24:38 -08:00
Nick 2fba1efae0 Edit buildscript for Jenkins building 2016-01-02 17:14:48 -08:00
Yulife e5534f25e3 Update 2016-01-03 01:23:15 +01:00
WayofTime 1c75d4f648 Fixed Sided issue in PlayerHelper - caused crashes in SMP. 2016-01-02 18:52:45 -05:00
WayofTime 71421b7d88 Formatted the code - Release state for Blood Magic 1.8.9-2.0.0-1 2016-01-02 17:56:37 -05:00
WayofTime d1ff8c6d4f Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite 2016-01-02 17:34:49 -05:00
WayofTime 15cf8a94ae Added Master Blood Orb recipe. Tweaked drain/filling rate for orb crafting. 2016-01-02 17:34:30 -05:00
Nick ae3f5ddf3f Hide Orb filling recipes from JEI 2016-01-02 14:34:15 -08:00
Nick 5eabf5b009 Remove Test ritual and disable ImperfectRitualDay 2016-01-02 14:31:56 -08:00
WayofTime 1330b1608c Removed efficiency rune recipe for now. 2016-01-02 17:27:37 -05:00
WayofTime eda6e76250 Fixed a few tooltips. Added Teleposer recipe. 2016-01-02 17:22:42 -05:00
Nick 0670585aa4 Water/Lava Rituals/Sigils now place flowing variants of the liquid 2016-01-02 14:21:38 -08:00
WayofTime d5e28038d6 Repriced rituals. 2016-01-02 17:15:33 -05:00
WayofTime 9678260043 Removed ShapedOrb recipes temporarily. 2016-01-02 17:12:39 -05:00
WayofTime f27ee1aeb4 Added some extra framework for Living Armour. 2016-01-02 17:07:11 -05:00
Nick 5273a85711 Fix crash when Waila is not present 2016-01-02 12:46:44 -08:00
WayofTime 82ebb57fa5 Removed temp maven. 2016-01-02 08:12:29 -05:00
WayofTime 2a13998ed0 Fixed a few recipe issues. 2016-01-02 08:03:41 -05:00
Nick a17e9be1cf PropertyString uses generics now 2016-01-01 20:24:16 -08:00
Nick e157a68696 Orb filling recipes 2016-01-01 19:59:10 -08:00
Nick 6351fd2d3e Waila data provider for rituals 2016-01-01 19:04:53 -08:00
Nick 8b3c91d77e Sync MRS NBT to client 2016-01-01 19:04:40 -08:00
Nick fa030a1d43 Add an unlocalized name to Imperfect Rituals 2016-01-01 18:54:58 -08:00
Nick 18c1ccae80 Fix SoulNetwork lookup via UUID 2016-01-01 18:54:39 -08:00
WayofTime b51705d90a Merge pull request #536 from BBoldt/1.8-Rewrite
Unity textures
2016-01-01 19:58:56 -05:00
BBoldt 6edd578646 Replaced textures with existing unity textures 2016-01-01 16:41:54 -08:00
BBoldt dc8b53bf7b Remove textures not currently being used 2016-01-01 16:08:40 -08:00
Nick 2eaa9bf578 Hey look, the actual compat classes... >.> 2016-01-01 15:41:01 -08:00
Nick cb929a93b6 WAILA compatibility
Currently has handlers for Teleposers and Blood Altars
2016-01-01 15:40:04 -08:00
WayofTime 318e3a03c7 Added Charging rune and associated necessities, such as having the Seer's Sigil detect total charge. 2016-01-01 17:36:50 -05:00
Nick 142cefd9be Attempt #1 at orb recipe handlers
They do not work, they are not initialized.

i need a break. my brain hurts
2016-01-01 13:47:17 -08:00
WayofTime b170654ed3 Implemented recipes and arrays for Suppression sigil. 2016-01-01 15:46:40 -05:00
Nick a48e40684a Recipes now use OreDict 2016-01-01 12:33:55 -08:00
Nick e5a90c5e7f Add a way to hard blacklist Blocks from the Teleposer
The blocks in this list cannot be changed via config file. The two lists are kept (instead just one) so that the config one can be refreshed at any point with ConfigChangedEvent.
2016-01-01 12:33:42 -08:00
Nick ad68a89f15 React to ConfigChangedEvent 2016-01-01 12:33:26 -08:00
WayofTime d0ed994abb Added Divination sigil array. 2016-01-01 14:24:59 -05:00
WayofTime c42bc12e69 Added the Regeneration ritual. Added localization for ritual activation. Removed the cost of activating a ritual when in creative mode. 2016-01-01 13:59:56 -05:00
Nick 75d9a84194 Re-enable Source jar creation
That PR was merged a few weeks back. Also add the version the binaries were built on to the manifest
2016-01-01 10:56:11 -08:00
Nick e0111d4f7e Remove fancy render check from RenderAltar
Not even Vanilla does those "fast" item renders anymore.
2016-01-01 10:54:07 -08:00
Nick 7ebd59382f Javadoc warning cleanup 2016-01-01 10:52:42 -08:00
Nick d4b5d3d3e2 Add compat category to Config gui 2016-01-01 10:16:19 -08:00
WayofTime 400161f787 Potentially fixed Javadocs 2016-01-01 13:14:49 -05:00
WayofTime dc444d97ae Added base array texture. Modified Arcane Ashes recipe. 2016-01-01 12:57:51 -05:00
Nick 1ea5de0ed1 Re-implement the Teleposer Blacklist 2016-01-01 09:29:35 -08:00
WayofTime 0bb6e1eb36 Merge pull request #534 from Arcaratus/1.8-Rewrite
Teleposers and refractoring
2016-01-01 12:17:17 -05:00
Arcaratus a8a0ae6e8b Teleposers and refractoring 2016-01-01 12:08:17 -05:00
WayofTime 1b9f72b494 Added Arcane Ashes to draw alchemy arrays. 2016-01-01 11:54:44 -05:00
WayofTime adef7f1ce9 Added Item Renderer to Altar. 2016-01-01 09:03:21 -05:00
WayofTime eb18618eab Merge pull request #532 from the-vindex/1.8-Rewrite-comment-fixes
Comment fixes
2016-01-01 07:44:26 -05:00
WayofTime 3dbe281861 Merge pull request #530 from the-vindex/1.8-Rewrite
Eclipse and IDEA formatting and code clean up
2016-01-01 07:44:19 -05:00
Vindex e8b4e6f2c0 Comment fixes 2016-01-01 10:34:17 +01:00
Vindex fa24ea4118 Eclipse and IDEA formatting settings and Prevent reformatting
EnumAltarTier so that IDEA doesn't mess with it
2016-01-01 10:12:14 +01:00
Nick a2e77adbff Fix LavaCrystal NPE
When attempting to place an unbound Lava Crystal into a furnace, it would crash when looking for the bound player because... well... it was unbound... :D
2016-01-01 01:06:56 -08:00
WayofTime 65d75313cb Now causes nausea when passive operations (such as rituals or the Lava Crystal).
Added the Lava crystal model.
2015-12-31 20:47:01 -05:00
WayofTime 6fb409f20f Fixed the Soul Network and made sure the majority of the items worked on it. 2015-12-31 20:10:57 -05:00
WayofTime 241c0b8dda Added the Ritual of the Feathered Knife 2015-12-31 19:11:58 -05:00
WayofTime 7eee77ffe1 Added Dusk and Dawn ritual diviners. Finished the majority of diviner logic. 2015-12-31 16:31:01 -05:00
WayofTime 9a610cc023 Implemented Well of Suffering. Tweaked AreaDescriptor slightly. 2015-12-31 16:01:47 -05:00
WayofTime e8d1ff4997 Reformatting with Vindex's magic 2015-12-31 13:50:38 -05:00
WayofTime 67a9d5c1e9 Merge pull request #529 from the-vindex/1.8-Rewrite
Eclipse project formatting rules + unmodifiable BlockPos list on AreaDescriptor
2015-12-31 13:48:54 -05:00
Vindex 17e814785e AreaDescriptor now returns unmodifiable collection 2015-12-31 18:11:19 +01:00
Vindex 77a9a8c445 Eclipse settings - all developers must import these to keep formatting 2015-12-31 18:11:18 +01:00
WayofTime 417114b6f0 Redefined the bounding for AreaDescriptor - it is now inclusive for the minimumOffset but is exclusive for the maximumOffset. 2015-12-31 11:25:24 -05:00
WayofTime 63da257260 Fixed AreaDescriptor and edited the Jumping ritual slightly. 2015-12-31 10:05:38 -05:00
WayofTime f56261e766 Merge pull request #527 from Arcaratus/1.8-Rewrite
Jumping Ritual
2015-12-31 09:32:53 -05:00
Arcaratus 23051088da Jumping Ritual
Patch
2015-12-31 09:06:58 -05:00
WayofTime a0546c6c27 Fixed improper import. 2015-12-31 08:59:10 -05:00
WayofTime d7a96c061d Added getNewCopy() to Ritual to allow tiles to hold their own copy of a Ritual. Created caching in AreaDescriptor for faster BlockPos access. 2015-12-31 08:01:39 -05:00
WayofTime 69355f76fb Merge pull request #526 from Arcaratus/1.8-Rewrite
New AreaDescriptor tryout
2015-12-30 20:41:06 -05:00
Arcaratus 2966f93260 New AreaDescriptor tryout 2015-12-30 20:22:39 -05:00
WayofTime 1d42ef50c3 Merge pull request #525 from Arcaratus/1.8-Rewrite
Recipes commit
2015-12-30 17:46:28 -05:00
Arcaratus 07097c00a9 Recipes commit
Fix
2015-12-30 17:26:40 -05:00
WayofTime 8b582bc0c4 Added better method for creating a range for a ritual. 2015-12-30 16:19:50 -05:00
WayofTime e48eedb874 Changed formatting to have bracing on a new line 2015-12-30 15:34:40 -05:00
WayofTime e5eddd6c45 Finished fixing issues in the rituals. Added an initial system for setting a boundary for an effect in a ritual. 2015-12-30 15:24:25 -05:00
WayofTime 27fa98b3cd Fixed improper import. 2015-12-30 12:29:19 -05:00
WayofTime 98ca2fbd16 Implemented the Ritual Diviner and added its recipe. Added unlocalized name to rituals. Removed a few unnecessary imports. 2015-12-30 11:34:04 -05:00
Nick c815960f5e Update for 1.8.9
Update JEI for 1.8.9 as well.

Move recipe related stuff to ModRecipes class.
2015-12-29 21:30:48 -08:00
Nick e16017bd56 JEI support for Binding/Alchemy Array recipes
Needs pretty-fying
2015-12-29 16:11:34 -08:00
WayofTime 7b69251713 Added shaped/shapeless orb recipes. 2015-12-29 18:30:36 -05:00
Nick fcc8f6153a Fix NPE when checking held item 2015-12-29 15:09:56 -08:00
WayofTime 46f3e7573e Added recipes for bound weapons. Created temporary recipe for the Binding Reagent. 2015-12-29 17:47:12 -05:00
Nick f09cf5d018 Fix javadoc compile errors 2015-12-29 13:37:54 -08:00
Nick 5774703c0d Ritual docs 2015-12-29 13:00:26 -08:00
Nick 1c8d6d6986 Allow rituals to specify an update time. Default is 20 2015-12-29 12:32:06 -08:00
Nick Ignoffo 0a0986e9bf Merge pull request #522 from Arcaratus/1.8-Rewrite
Bound tools
2015-12-29 11:58:46 -08:00
Arcaratus aa0f7d81a0 Bound tools
Fix errors

Fix

Fix

Patch

Patch
2015-12-29 14:56:32 -05:00
WayofTime 6c6d8067bf Fixed the rituals. Thanks, AlgorithmX2! 2015-12-29 14:22:33 -05:00
WayofTime 16a6333c6f Added the Ritual for Water and did some rudimentary tests. Issue: MRS does not load properly on world load. 2015-12-29 13:41:03 -05:00
WayofTime 0e1173ef5d Added directionality to rituals. 2015-12-29 09:10:03 -05:00
WayofTime 971d4c4d1e Fixed the ritual system so that it would properly validate the ritual from the list.
Used the activation crystal's owner's LP to activate the ritual.
Removed some unnecessary imports.
2015-12-29 08:44:34 -05:00
Nick 24058d7350 Move SoulNetwork to UUID system
*Should* work correctly. As for all major changes, needs to be
thoroughly tested.
2015-12-28 20:13:11 -08:00
Nick 8edb8a45e6 Fix build crash on Javadoc 2015-12-28 19:40:16 -08:00
Nick e7f5a1addf Fix @Nullable import
@WayofTime, you want `javax.annotation.Nullable`, not
2015-12-28 19:10:53 -08:00
Nick Ignoffo c755282d79 Merge pull request #519 from Arcaratus/1.8-Rewrite
More sigils
2015-12-28 16:23:28 -08:00
Arcaratus b96725fe98 More sigils
Deleted weird file
2015-12-28 19:22:04 -05:00
Nick 0ec0570d1a Fix altar builder on servers 2015-12-28 14:27:59 -08:00
Nick beb85cf154 Generify 2015-12-28 14:04:34 -08:00
Nick e6354fb483 String lookup for ItemComponent 2015-12-28 13:50:32 -08:00
Nick 42c7162f3f Fix server startup crash 2015-12-28 13:43:26 -08:00
WayofTime 9ce9c66fb9 Created the base items class, for items that are mainly just used in recipes.
Created reagents to be used in array crafting and added the array recipes for the water, lava, void, green grove, fast miner, elemental affinity, sight and air sigils.
Fixed the textures for the Sight sigil and Fast Miner sigil.
2015-12-28 15:59:35 -05:00
WayofTime 440e629e11 Finished the Binding array, including lightning. Need to add special EntityItem to prevent items burning. 2015-12-27 21:11:42 -05:00
Nick dd8832e18f Fix TileAlchemyArray registered name 2015-12-27 16:43:11 -08:00
Nick Ignoffo 7c651cbfa5 Merge pull request #518 from Arcaratus/1.8-Rewrite
Basic sigils implementation
2015-12-27 16:41:55 -08:00
Arcaratus 5dff08380d Basic sigils implementation 2015-12-27 19:38:12 -05:00
WayofTime ae85224003 Added a new circle for the binding array. 2015-12-27 15:44:56 -05:00
WayofTime 9640d95d6f Finished fancifying the rendering for the binding circle. 2015-12-26 21:13:05 -05:00
Nick e6a11c2e4f Add a JEI description to the Altar Maker 2015-12-26 17:08:58 -08:00
Nick d9bc1105d8 First attempt at AlchemyArrayCrafting JEI support
Does not work currently due to broken map lookups.
2015-12-26 16:50:22 -08:00
Nick 03847ad6d9 Committing the Ritual stuff
Incomplete. Ritual detection/rotation needs to be implemented. Currently hardcoded to a test ritual
2015-12-26 16:49:25 -08:00
WayofTime 9faae07131 Improved Alchemy circle animation for Binding ritual. 2015-12-26 17:18:31 -05:00
WayofTime db5ab41728 Fancified the mock binding alchemy array. Need to work on angle math so that the path speed along the path is constant, not the angle. 2015-12-26 14:40:51 -05:00
WayofTime d4ec4dec8e Created initial mock binding ritual with the Alchemy arrays. 2015-12-26 10:32:53 -05:00
WayofTime e918b5692c Fix #514 2015-12-24 20:28:39 -05:00
WayofTime 3a59866475 Added a rotation effect to the array when it is "crafting" the item. 2015-12-23 22:30:13 -05:00
WayofTime c54aa5d00e Finished the infrastructure for Alchemy Array crafting. Updated some Utils so that they work more generally. Added the ability for a delay to be present for effects. 2015-12-23 20:19:06 -05:00
WayofTime 63c3853776 Generated the initial infrastructure for Alchemy Array effects, which includes crafting. Needs to be hooked into by TileAlchemyArray. 2015-12-23 18:45:47 -05:00
WayofTime 073830a785 Created initial AlchemyArray block which will be used in crafting. SightSigil array is used for testing purposes for rendering. Packets and changing the shown image need to be completed. 2015-12-23 15:20:26 -05:00
Nick cce3d6b79a Simpler way of obtaining items via API 2015-12-23 09:42:52 -08:00
Nick 61b2b293ba Clean up some logging + protect against negative values in Altar Recipes 2015-12-23 09:41:59 -08:00
Nick 43f2bdd28a Update JEI compat
Should need less of these in the future. The API is becoming much more stable.
2015-12-23 01:23:52 -08:00
Nick 1d7565553a Apparently these assets never got pushed 2015-12-23 01:08:39 -08:00
WayofTime 4e063e24a0 Removed latent System.out and reformatted to an inferior format. 2015-12-22 21:05:47 -05:00
WayofTime f1a3c5ee46 Fixed Orb filling and added the Weak Blood Orb as a fillable orb. 2015-12-22 21:03:00 -05:00
WayofTime 4145b2a11c Performed initial cleaning to BloodAltar/TileAltar and migrated all logic from the Tile to the BloodAltar class. 2015-12-22 20:32:25 -05:00
TehNut 0f26cbedd7 Update JEI compat to latest 2015-12-14 01:07:22 -06:00
Nick d51a908f6b Update JEI compat 2015-12-03 17:12:50 -08:00
Nick 53c5a7ad8f Remove references to sourceJar 2015-12-03 13:32:54 -08:00
WayofTime eaa6226861 Mostly finished the LivingArmour framework, which includes the upgrades and stat trackers. 2015-12-03 10:18:05 -05:00
Nick 13d9cb4b5a Add registry for Binding rituals and add JEI support 2015-12-02 19:27:28 -08:00
WayofTime a3b12cb7e2 Created framework for LivingArmour and the handling. Upgrade handling is not done. 2015-12-02 21:30:54 -05:00
Nick 42d6c4b59b Whoops, forgot EtherealSlates 2015-12-02 16:28:07 -08:00
Nick 96d94721c4 Revamp altar to only use EnumAltarComponent
- Removes internal references in API
- Makes full use of the idea of the API
- No more special checks
2015-12-02 16:02:18 -08:00
Nick 6db9b51350 Altar now resets capacity correctly 2015-12-02 15:07:36 -08:00
Nick 72d4c5e135 Config for ICompatibility 2015-12-02 13:28:50 -08:00
Nick 349efbd510 Move PotionArray size to Constants 2015-12-02 01:43:51 -08:00
Nick f35cef51bb Update JEI compat 2015-12-02 00:55:52 -08:00
Nick 7dd170e5ad Inscription Tools and Slates 2015-12-02 00:55:32 -08:00
Nick 437dc1b96e Tweaks to damage. It now uses the DamageSource correctly 2015-12-01 23:35:09 -08:00
Nick 305b5e165f Stop referencing deprecated method 2015-12-01 22:58:01 -08:00
Nick 26e3888004 Remove reference to sun.misc.Launcher 2015-12-01 21:59:07 -08:00
Nick b97f7d81c4 Docs for NetworkHelper 2015-12-01 21:55:56 -08:00
Nick 02956798f0 Update buildscript
- Mod compiles now.
- Drop the deobfJar compilation because we now have deobfCompile for deps.
- Temporarily disable creation of sourceJar due to issue with Gradle 2.9 and FG2.1.
- Add a -ss suffix to version to indicate SnapShots
2015-12-01 21:17:24 -08:00
Nick c4e6f63ada Cleanup javadoc and make it compile correctly 2015-12-01 21:14:26 -08:00
Nick 427fb25424 Remove event registration with deprecated FML bus 2015-11-30 21:48:19 -08:00
Nick 3200683b74 Wrong Nullable import 2015-11-29 17:38:15 -08:00
Nick ff055a33da Some cleanup
Changed AltarMaker chat anti-spam.
Fixed formatting for AltarMaker messages
2015-11-29 17:12:44 -08:00
Nick Ignoffo 8f8f0e6910 Merge pull request #505 from Arcaratus/1.8-Rewrite
Finished the Altar
2015-11-29 16:38:02 -08:00
Arcaratus 9eb3097b5a Added assets 2015-11-29 19:33:17 -05:00
Arcaratus 225016e030 Finished the Altar 2015-11-29 19:04:50 -05:00
Nick c086c23915 Fix TileEntities not ticking 2015-11-29 10:49:13 -08:00
Nick ac29e593ba Localize ritual stones 2015-11-29 01:32:52 -08:00
Nick 44a5063f0b Sigils descriptions now correctly support formatting 2015-11-29 00:00:46 -08:00
Nick 91f88b846f Add support for JustEnoughItems
Will build on as we add more recipe types.
2015-11-28 23:52:06 -08:00
Nick 6f96e200d2 Update to 1.8.8. It's stable enough, now 2015-11-28 23:51:41 -08:00
Nick df78138244 Don't build a deobf jar when building
They are deprecated with ForgeGradle 2.0+. Authors should use deobfCompile in their dependencies block instead.
2015-11-28 18:27:24 -08:00
Nick 34dee6447b A whole lot of formatting cleanup
Also changes NBTHolder to a standard Constants class with subclasses for each category
2015-11-28 18:25:46 -08:00
Nick Ignoffo f9802900db Merge pull request #503 from Arcaratus/1.8-Rewrite
Finished the Altar
2015-11-28 17:47:12 -08:00
Arcaratus 08e7844df1 Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite 2015-11-27 20:15:47 -05:00
Arcaratus a6d329cf98 Altar works 2015-11-27 20:15:19 -05:00
Nick cbd4f8c75f First pass on Pedestal/Plinth
I just want this out of my uncommitted file list...
2015-11-22 14:03:51 -08:00
Nick a12c72092a TileAltar now uses new SN methods 2015-11-22 14:02:56 -08:00
Nick e0b073b8b7 Cleanup the SoulNetwork a bit.
Should work now?
2015-11-22 13:43:15 -08:00
Nick 352c6b9e5f Remove the untested caps
They NPE :D
2015-11-21 10:36:02 -08:00
Nick 066d3a3f1b Temporarily cap to 16 per meta
Will work on implementing automatic overflow handling (Creating a new block when all the meta is taken up)
2015-11-17 16:30:08 -08:00
Nick 9035f800e2 Easier handling of meta blocks 2015-11-17 15:52:31 -08:00
Nick fb94914b91 Abstract altar inventory handling for usage elsewhere 2015-11-12 13:05:23 -08:00
Nick 9a6d8d6d60 Blood Letter's Pack + Coat of Arms 2015-11-11 10:45:46 -08:00
Nick 4b7ad55016 Fix TileAltar NBT saving
@Arcaratus, why did you rmove that?
2015-11-11 10:35:44 -08:00
WayofTime 94fbedd39e Created ItemLivingArmour as a replacement for the Bound armour. Initial implementation completed. 2015-11-08 17:42:02 -05:00
Nick Ignoffo 12e764e5be Merge pull request #495 from Arcaratus/1.8-Rewrite
Finished Water, Lava, and Void sigils
2015-11-07 18:48:48 -08:00
Arcaratus 258e9a1108 Remove unnecessary ISigil implements 2015-11-07 21:45:03 -05:00
Arcaratus 0788bbd3b2 Remove unnecessary ISigil implements 2015-11-07 21:44:44 -05:00
Arcaratus 86fcd4808b Finished Water, Lava, and Void sigils
Also added in bloodstone
2015-11-07 21:37:12 -05:00
Nick Ignoffo 5ec35fcd08 Merge pull request #494 from Arcaratus/1.8-Rewrite
Sacrificial commit
2015-11-07 09:09:42 -08:00
Nick e9cbcd4bfb Merge remote-tracking branch 'origin/1.8-Rewrite' into 1.8-Rewrite 2015-11-07 09:08:02 -08:00
Nick 441282e004 Add Contributing section to README 2015-11-07 09:06:47 -08:00
Arcaratus 806f291d02 Fix spelling of 'incense' 2015-11-07 11:54:36 -05:00
Arcaratus 2fc34a5138 Sacrificial Commit 2015-11-07 11:51:41 -05:00
WayofTime bf912ae03f Created the BlockRitualStone and had it implement IRitualStone. Created .json files necessary
Created PropertyRuneType.
2015-11-06 21:41:15 -05:00
WayofTime 8f623de469 Created test block which is coupled to the Default Spell Modifier .json model. The model has three submodels: the core, the output, and the input. 2015-11-06 17:26:38 -05:00
Nick b419e9aae9 The last of the Imperfect Rituals + Tile handles lightning 2015-11-05 19:58:43 -08:00
Nick 6fc22c170e Lombokify 2015-11-03 10:44:08 -08:00
Nick 798d4b926c Use a wrapper instead of ItemStacks for Altar recipes 2015-11-03 10:00:40 -08:00
Nick e12c78877e Fix recipe by stack lookup 2015-11-03 09:47:38 -08:00
Nick ddcc1237e8 Inventories now don't NPE when broken 2015-11-03 09:11:39 -08:00
Nick 6a5f5356ce Fix inventory tiles not saving inventory 2015-11-03 08:42:38 -08:00
Nick bd564ee7cf Should fix altar crashing 2015-11-03 08:31:34 -08:00
Nick b1e8930c11 Rain imperfect ritual 2015-11-03 08:15:24 -08:00
Nick fa1bb906d3 Cleanup 2015-11-03 08:09:16 -08:00
Nick Ignoffo 081698c6f9 Merge pull request #490 from Arcaratus/1.8-Rewrite
Finished the Altar
2015-11-03 07:35:50 -08:00
Nick 68fae8c321 Fix Ritual Registry crashing with more than one registered.. 2015-11-03 07:35:14 -08:00
Arcaratus ab60e5f3fe Finished the Altar 2015-11-03 10:34:11 -05:00
Nick ed515f5c80 Air Sigil 2015-11-02 19:57:48 -08:00
Nick ac5402df6b Cleanup
Renders for Runes
Creative crystal renders
Formatting
Lang additions
Some attempted (not successful) fixes for SoulNetwork
2015-11-02 19:18:53 -08:00
Nick Ignoffo ac588d0b15 Merge pull request #489 from Arcaratus/1.8-Rewrite
I'm tired and going to sleep
2015-11-02 18:39:26 -08:00
Arcaratus 4734f1207a Merge branch '1.8-Rewrite' of https://github.com/WayofTime/BloodMagic into 1.8-Rewrite
Conflicts:
	src/main/java/WayofTime/bloodmagic/registry/ModBlocks.java
2015-11-02 21:35:23 -05:00
Arcaratus 75143520ed Pre-emptive things 2015-11-02 21:30:28 -05:00
Nick d285736ca9 Imperfect ritual system hopefully works correctly now 2015-11-02 18:00:48 -08:00
Nick 92bf7cc35b Imperfect rituals work mostly now
Just need to figure out an issue with the config
2015-11-02 17:45:11 -08:00
Nick 3a0dcae59a Fix startup possible crash issues
how did i never notice this?
2015-11-02 17:24:43 -08:00
Nick b59bc9766e Fix BlockRitualController's ItemBlock name 2015-11-02 15:55:17 -08:00
Nick c10c0455be Merge remote-tracking branch 'origin/1.8-Rewrite' into 1.8-Rewrite 2015-11-02 15:28:52 -08:00
Nick 72041e936a Altar renders now 2015-11-02 15:28:33 -08:00
WayofTime f18d824c05 Updated .gitignore due to eclipse launch files in directory. 2015-11-02 16:53:54 -05:00
Nick 5985be1cd0 Fix RitualController not rendering 2015-11-02 13:20:29 -08:00
Nick 1d52cb5e67 Remove Unnecessary methods from RitualHelper
Activation, updates, and stopping should all be handled within the tiles.
2015-11-02 12:49:53 -08:00
Nick 096ba02450 Refactor everything to WayofTime.bloodmagic.* 2015-11-02 12:39:47 -08:00
Nick 46742a73d1 Ritual work + Begin move of NetworkHelper (static) to SoulNetwork (instance) 2015-11-02 09:51:11 -08:00
Nick afad5b0fd0 Some more ritual work + imperfect rituals 2015-10-31 17:58:47 -07:00
Nick 3a7e0a3a8c Begin rituals + some refactoring 2015-10-31 13:47:43 -07:00
Nick 07b1f36594 Okay... They render now... 2015-10-30 22:07:06 -07:00
Nick b45172294d JSON models hurt my head 2015-10-30 21:20:23 -07:00
Nick f3645a35fa Forgot credits + change deletion ID 2015-10-30 17:02:10 -07:00
Nick 2bf78bc61c Divination Sigil no longer spams chat 2015-10-30 16:54:59 -07:00
Nick 09ff96fe03 Life Essence 2015-10-29 22:22:08 -07:00
Nick cb3412bc84 Forgot this for Divination Sigil 2015-10-29 22:06:43 -07:00
Nick 61365dc80f Use abstracted ModelLoader method in Orb Registry + Stop Orb JSON spam 2015-10-29 22:06:18 -07:00
Nick ce5e529135 Move old blockstates to old folder 2015-10-29 22:05:48 -07:00
Nick 77ccc3a727 Divination Sigil 2015-10-29 22:05:00 -07:00
Nick Ignoffo c701848011 Update README.md 2015-10-29 20:33:40 -07:00
Nick e3d4afa123 Rewrite is Go!
Just moving over all my changes from my fork
2015-10-29 20:22:16 -07:00
WayofTime 8bdd1f8b8f Merge pull request #431 from Arcaratus/bloodmagic1.8
JSON and the Arghhhh-onauts
2015-08-24 17:34:00 -04:00
Arcaratus d15c4f2c8e JSON and the Arghhhh-onauts 2015-08-24 17:27:49 -04:00
WayofTime 23bb71de31 Oops! 2015-08-21 16:50:57 -04:00
WayofTime 3994bbd842 Remove test stuff 2015-08-21 16:31:04 -04:00
WayofTime 9658ce06f7 A lot more .json files (4) 2015-08-17 20:16:39 -04:00
WayofTime 93d5f4ad83 Texturez (3) 2015-08-12 17:24:45 -04:00
WayofTime 010f9ec49c Moar .jsons (wow, that's a lot...) (2) 2015-08-12 14:41:01 -04:00
WayofTime 8006c87e06 Slowly adding the .jsons (1) 2015-08-12 14:20:17 -04:00
WayofTime 0aab0e6fc0 Merge pull request #416 from TehNut/patch-1
Create a utility for registering renders for Blocks/Items
2015-08-03 22:00:21 -04:00
Nick Ignoffo e8cd503854 Create a utility for registering renders for Blocks/Items
Almost direct copypasta from [my project](https://github.com/TehNut/ResourcefulCrops/blob/1.8/src/main/java/tehnut/resourceful/crops/util/helper/RenderHelper.java). Allows you to simply register models for Items/Blocks for given Metadata's.

Call these from your ClientProxy in postInit. A working example can be seen [here](https://github.com/TehNut/ResourcefulCrops/blob/1.8/src/main/java/tehnut/resourceful/crops/proxy/ClientProxy.java#L21-L25) [[Items](https://github.com/TehNut/ResourcefulCrops/blob/1.8/src/main/java/tehnut/resourceful/crops/registry/ItemRegistry.java#L42-L52)] [[Blocks](https://github.com/TehNut/ResourcefulCrops/blob/1.8/src/main/java/tehnut/resourceful/crops/registry/BlockRegistry.java#L30-L34)].

Review this a bit more closely. I did it from the web editor and it may not have worked 100% correctly.
2015-08-02 01:41:36 -05:00
WayofTime b005d80ebd Fixed the model for the blood altar (by basically disabling it for now) 2015-07-31 20:42:17 -04:00
WayofTime 53eb3a16b0 Test commit 2015-07-31 17:21:08 -04:00
WayofTime 6b0507931e Merge pull request #413 from Arcaratus/bloodmagic1.8
Fixed Things
2015-07-31 12:13:39 -04:00
Arcaratus 556d747825 Merge branch 'bloodmagic1.8' of https://github.com/WayofTime/BloodMagic into bloodmagic1.8 2015-07-31 12:12:19 -04:00
Arcaratus 786cda06c2 Fixed 2015-07-31 12:11:44 -04:00
WayofTime a70bb5c11e TEBelljar 2015-07-31 11:48:52 -04:00
WayofTime b4d5f85e4e Revert "Re-refixed TEBelljar"
This reverts commit e242207d50.
2015-07-31 11:46:05 -04:00
3699 changed files with 83862 additions and 113071 deletions

36
.github/CONTRIBUTING.md vendored Normal file
View file

@ -0,0 +1,36 @@
# Contributing to BloodMagic
First off, thank you for taking the time to contribute!
## Issues
First, make sure the issue has not been already reported.
If it has not been reported, follow the provided issue template (created when you click "New Issue").
If it has been reported, provide any additional information you can to the current active issue.
## Pull Requests
With the 1.8 rewrite comes a need to keep the code *clean*. Pull Requests will be looked over a bit stricter from now on.
When you wish to contribute, please keep these points in mind:
###Do:
* Only make 1 commit for each major change.
* This helps avoid "polluting" the Git history.
* Squash extra commits.
* See above.
* Describe each and every change you make in your Pull Request.
* This lets everybody know exactly what is going on for easy discussion.
* Make short yet descriptive commit titles.
* Feel free to give a very basic overview of the commit in the message, then use the description to go into detail.
* Keep your formatting the same as the project.
* This will be expanded upon at a later date.
###Do not:
* Make unnecessary changes to files.
* If you don't need to touch it, don't touch it.
* This includes: *renaming args*, *renaming files*, *editing formatting*, etc.
* Use obfuscated names for parameters.
* This makes the code look messier and less "professional".

25
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,25 @@
#### Issue Description:
Note: If this bug occurs in a modpack, please report this to the modpack author. Otherwise, delete this line and add your description here. If this is a feature request, this template does not apply to you. Just delete everything.
#### What happens:
#### What you expected to happen:
#### Steps to reproduce:
1.
2.
3.
...
____
#### Affected Versions (Do *not* use "latest"):
- BloodMagic:
- Minecraft:
- Forge:

5
.gitignore vendored
View file

@ -13,13 +13,13 @@
crash-reports/ crash-reports/
/.idea/ /.idea/
/.metadata/ /.metadata/
/.settings/
/libs/ /libs/
/saves/ /saves/
/resourcepacks/ /resourcepacks/
/logs/ /logs/
/mods/ /mods/
/screenshots/ /screenshots/
/classes/
# File Extensions # File Extensions
*.psd *.psd
@ -28,9 +28,10 @@ crash-reports/
*.iws *.iws
*.classpath *.classpath
*.project *.project
*.launch
# Specific files # Specific files
Thumbs.db Thumbs.db
usernamecache.json usernamecache.json
options.txt options.txt
usercache.json

View file

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

View file

@ -0,0 +1,392 @@
eclipse.preferences.version=1
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.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

@ -0,0 +1,81 @@
eclipse.preferences.version=1
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
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
sp_cleanup.add_missing_deprecated_annotations=true
sp_cleanup.add_missing_methods=false
sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=false
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=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_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
sp_cleanup.remove_unused_local_variables=false
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_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,7 +1,7 @@
#Blood Magic: Alchemical Wizardry # 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! ### Gruesome? Probably. Worth it? Definitely!
###[Downloads](http://minecraft.curseforge.com/mc-mods/224791-blood-magic/files) ### [Downloads](http://minecraft.curseforge.com/projects/blood-magic/files)
## Information ## Information
@ -13,35 +13,42 @@ Blood Magic is an arcane art that is practiced by mages who attempt to gather a
* Twitter: [@WayofTime](https://twitter.com/WayofTime) * Twitter: [@WayofTime](https://twitter.com/WayofTime)
* Wiki: Found at [FTBWiki](http://ftbwiki.org/Blood_Magic) * Wiki: Found at [FTBWiki](http://ftbwiki.org/Blood_Magic)
* [Minecraft Forum Thread](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1290532-bm) * [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) * [Donate](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=J7SNY7L82PQ82)
* [Patreon](https://www.patreon.com/BloodMagic)
##Issue Reporting
Please include the following:
* Minecraft version
* Blood Magic version
* Forge version/build
* Versions of any mods potentially related to the issue
* Any relevant screenshots are greatly appreciated.
* For crashes:
* Steps to reproduce
* ForgeModLoader-client-0.log (the FML log) from the root folder of the client
## Development Setup ## Development Setup
1. Fork this project to your own Github repository and clone it to your desktop. 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`. 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.
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. #### IntelliJ IDEA extra steps
5. Set `../src/api/java` as a source directory.
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`.
[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). [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
Add to your build.gradle:
repositories {
maven {
url "http://tehnut.info/maven/"
}
}
dependencies {
deobfCompile "com.wayoftime.bloodmagic:BloodMagic:<BLOODMAGIC-VERSION>"
}
`<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 using a build not by me (WayofTime), it is not guaranteed that you will get support. **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:
@ -71,8 +78,6 @@ This mod requires "Minecraft Forge" in order to operate. It is incredibly easy t
**A**: The mechanic for viewing the player's essence has changed due to some issues with mechanics. You now need a Divination Sigil to view a player's essence. It does other things, too, so it is worth it! **A**: The mechanic for viewing the player's essence has changed due to some issues with mechanics. You now need a Divination Sigil to view a player's essence. It does other things, too, so it is worth it!
**Q**: Why am I dying so much? **Q**: Why am I dying so much?
**A**: It might be a good idea to make sure that you have enough essence to do a task. If you don't have enough essence for, say, an imperfect ritual, it will take it out of your health. If your health reaches 0... Well, you don't have to be a genius to see what would happen. **A**: It might be a good idea to make sure that you have enough essence to do a task. If you don't have enough essence for, say, an imperfect ritual, it will take it out of your health. If your health reaches 0... Well, you don't have to be a genius to see what would happen.
@ -110,8 +115,6 @@ This mod requires "Minecraft Forge" in order to operate. It is incredibly easy t
**A**: This is a config option. The person you saw with an orb had a config that changed the knife to an orb. The orb and knife function exactly the same way, but you can change it in the configs by looking for the "Idontlikefun" option. **A**: This is a config option. The person you saw with an orb had a config that changed the knife to an orb. The orb and knife function exactly the same way, but you can change it in the configs by looking for the "Idontlikefun" option.
**Q**: When I respawn, I appear to only come back with 3 hearts. What's happening? **Q**: When I respawn, I appear to only come back with 3 hearts. What's happening?
**A**: This is due to another config option in the "WhimpySettings," which is due to my attempt to combat Zerg Rushing. You can disable this if you really want to, but it shouldn't hurt unduly. **A**: This is due to another config option in the "WhimpySettings," which is due to my attempt to combat Zerg Rushing. You can disable this if you really want to, but it shouldn't hurt unduly.

View file

@ -1,142 +1,199 @@
buildscript { buildscript {
repositories { repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral() mavenCentral()
maven { url = "http://files.minecraftforge.net/maven" }
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
} }
dependencies { dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
classpath 'org.ajoberstar:gradle-git:0.10.1' }
}
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'
version = '1.16.4-3.1.0-15'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'BloodMagic'
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
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')
// Default run configurations.
// These can be tweaked, removed, or duplicated as needed.
runs {
client {
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'
mods {
bloodmagic {
source sourceSets.main
}
} }
} }
apply plugin: 'forge' server {
workingDirectory project.file('run')
ext.configFile = file "build.properties" properties 'mixin.env.disableRefMap': 'true'
configFile.withReader {
def prop = new Properties() // Recommended logging data for a userdev environment
prop.load(it) property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
project.ext.config = new ConfigSlurper().parse prop
// Recommended logging level for the console
property 'forge.logging.console.level', 'debug'
mods {
bloodmagic {
source sourceSets.main
}
}
} }
version = config.mc_version + "-" + config.mod_version + "-" + config.build_number data {
group= config.package_group workingDirectory project.file('run')
archivesBaseName = config.mod_name
import org.ajoberstar.grgit.Grgit properties 'mixin.env.disableRefMap': 'true'
def gitHash = 'unknown' // Recommended logging data for a userdev environment
if (new File(projectDir, '.git').exists()) { property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
def repo = Grgit.open(project.file('.'))
gitHash = repo.log().find().abbreviatedId // 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 { repositories {
maven { maven {
name 'CB Maven FS' url "http://dvs1.progwml6.com/files/maven/"
url "http://chickenbones.net/maven/"
} }
maven { maven {
name 'DVS1 Maven FS' name = "The Loader"
url 'http://dvs1.progwml6.com/files/maven' url = "https://maven.blamejared.com"
}
maven {
name 'TehNut Repo'
url 'http://tehnut.info/maven/'
}
maven {
name 'tterrag Repo'
url 'http://maven.tterrag.com/'
}
ivy {
name "MineTweaker3"
artifactPattern "http://minetweaker3.powerofbytes.com/download/[module]-[revision].[ext]"
} }
} }
dependencies { dependencies {
compile "codechicken:CodeChickenLib:" + config.mc_version + "-" + config.cclib_version + ":dev" // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
compile "codechicken:CodeChickenCore:" + config.mc_version + "-" + config.ccc_version + ":dev" // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
compile "codechicken:NotEnoughItems:" + config.mc_version + "-" + config.nei_version + ":dev" // The userdev artifact is a special name and will get all sorts of transformations applied to it.
compile name: 'MineTweaker3', version: config.minetweaker_version, ext: 'jar' minecraft 'net.minecraftforge:forge:1.16.4-35.1.37'
compile "codechicken:ForgeMultipart:1.7.10-1.1.0.314:dev"
compile "info.amerifrance.guideapi:Guide-API:" + config.mc_version + "-" + config.guideapi_version + ":deobf" // compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}:api")
compile "team.chisel:Chisel:" + config.chisel_version + ":api" // runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}")
}
//deobfCompile "mezz.jei:jei_${minecraft_version}:${jei_version}"
minecraft {
version = config.mc_version + "-" + config.forge_version compileOnly fg.deobf("mezz.jei:jei-1.16.2:7.1.3.19:api")
runDir = "run" runtimeOnly fg.deobf("mezz.jei:jei-1.16.2:7.1.3.19")
replaceIn "GAPIChecker.java" compileOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}:api")
replace "@VERSION@", config.guideapi_version runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:${patchouli_version}")
}
compileOnly fg.deobf("com.blamejared.crafttweaker:CraftTweaker-1.16.4:7.1.0.84")
processResources {
inputs.property "version", project.version // You may put jars on which you depend on in ./libs or you may define them like so..
inputs.property "mcversion", project.minecraft.version // compile "some.group:artifact:version:classifier"
// compile "some.group:artifact:version"
from(sourceSets.main.resources.srcDirs) {
include '**/*.info' // Real examples
include '**/*.properties' // 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
expand 'version': project.version, 'mcversion': project.minecraft.version
} // The 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
from(sourceSets.main.resources.srcDirs) { // provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
exclude '**/*.info'
exclude '**/*.properties' // These dependencies get remapped to your current MCP mappings
exclude '**/*.db' // 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
} }
// Example for how to get properties into the manifest for reading by the runtime..
jar { jar {
dependsOn "incrementBuildNumber" manifest {
classifier = '' attributes([
manifest.mainAttributes( "Specification-Title": "bloodmagic",
"Built-By": System.getProperty('user.name'), "Specification-Vendor": "bloodmagicsareus",
"Created-By": "${System.getProperty('java.vm.version')} + (${System.getProperty('java.vm.vendor')})", "Specification-Version": "1", // We are version 1 of ourselves
"Implementation-Title": project.name, "Implementation-Title": project.name,
"Implementation-Version": project.version, "Implementation-Version": "${version}",
"Git-Hash": gitHash "Implementation-Vendor" :"bloodmagicsareus",
) "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
} }
// add a source jar // Example configuration to allow publishing using the maven-publish task
task sourceJar(type: Jar) { // This is the preferred method to reobfuscate your jar file
from sourceSets.main.allSource 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' classifier = 'sources'
} }
// add a javadoc jar task apiJar(type: Jar) {
task javadocJar(type: Jar, dependsOn: javadoc) { from(sourceSets.main.allJava)
from javadoc.destinationDir from(sourceSets.main.output)
classifier = 'javadoc' include 'wayoftime/bloodmagic/api/**'
classifier = 'api'
} }
// because the normal output has been made to be obfuscated artifacts {
task deobfJar(type: Jar) { archives srcJar, apiJar
from sourceSets.main.output
classifier = 'deobf'
} }
tasks.build.dependsOn sourceJar, javadocJar, deobfJar publishing {
publications {
tasks.withType(JavaCompile) { task -> mavenJava(MavenPublication) {
task.options.encoding = 'UTF-8' artifact jar
artifact srcJar
artifact apiJar
} }
}
task("incrementBuildNumber") { repositories {
// increment build number maven {
doFirst { url "file:///${project.projectDir}/mcmodsrepo"
// increment
config.build_number = (config.build_number.toString().toInteger()) + 1
// write back to the file
configFile.withWriter {
config.toProperties().store(it, "")
} }
} }
} }
// Uncomment this line if you want to auto-upload to CurseForge when you build. This requires you to setup curse.gradle yourself.
// fileTree('gradle').include('curse.gradle').collect().sort().each { apply from: it }

View file

@ -1,15 +0,0 @@
#
#Sat Oct 31 15:59:09 EDT 2015
mod_name=BloodMagic
forge_version=10.13.4.1492-1.7.10
ccc_version=1.0.7.47
cclib_version=1.1.3.138
nei_version=1.0.5.111
//=Dependency Information
package_group=com.wayoftime.bloodmagic
guideapi_version=1.0.1-20
mod_version=1.3.3
minetweaker_version=Dev-1.7.10-3.0.9B
chisel_version=2.9.2.8
build_number=16
mc_version=1.7.10

1346
changelog.txt Normal file

File diff suppressed because it is too large Load diff

10
gradle.properties Normal file
View file

@ -0,0 +1,10 @@
# 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
minecraft_version=1.16.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 distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip

74
gradlew vendored Normal file → Executable file
View file

@ -1,4 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env sh
############################################################################## ##############################################################################
## ##
@ -6,12 +6,30 @@
## ##
############################################################################## ##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. # Attempt to set APP_HOME
DEFAULT_JVM_OPTS="" # Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle" APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"` 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. # Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum" MAX_FD="maximum"
@ -30,6 +48,7 @@ die ( ) {
cygwin=false cygwin=false
msys=false msys=false
darwin=false darwin=false
nonstop=false
case "`uname`" in case "`uname`" in
CYGWIN* ) CYGWIN* )
cygwin=true cygwin=true
@ -40,31 +59,11 @@ case "`uname`" in
MINGW* ) MINGW* )
msys=true msys=true
;; ;;
NONSTOP* )
nonstop=true
;;
esac 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"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >&-
APP_HOME="`pwd -P`"
cd "$SAVED" >&-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
@ -90,7 +89,7 @@ location of your Java installation."
fi fi
# Increase the maximum file descriptors if we can. # 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` MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@ -114,6 +113,7 @@ fi
if $cygwin ; then if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
@ -154,11 +154,19 @@ if $cygwin ; then
esac esac
fi fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules # Escape application args
function splitJvmOpts() { save () {
JVM_OPTS=("$@") for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
} }
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS APP_ARGS=$(save "$@")
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
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 @rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal 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 set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=. if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% 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 @rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome if defined JAVA_HOME goto findJavaFromJavaHome
@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail goto fail
:init :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 not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args :win9xME_args
@rem Slurp the command line arguments. @rem Slurp the command line arguments.
@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%* set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute :execute
@rem Setup the command line @rem Setup the command line

View file

@ -1,49 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.ArrayList;
import java.util.HashMap;
import net.minecraft.item.ItemStack;
/**
*
* Some miscellaneous lists and settings for bees.
*
* @author SirSengir
*/
public class BeeManager {
/**
* 0 - Common Village Bees 1 - Uncommon Village Bees (20 % of spawns)
*/
public static ArrayList<IBeeGenome>[] villageBees;
/**
* List of items that can induce swarming. Integer denotes x in 1000 chance.
*/
public static HashMap<ItemStack, Integer> inducers = new HashMap<ItemStack, Integer>();
/**
* Convenient access to AlleleManager.alleleRegistry.getSpeciesRoot("rootBees")
*/
public static IBeeRoot beeRoot;
/**
* Used to create new bees.
*/
public static IBeeFactory beeFactory;
/**
* Used to create new bee mutations.
*/
public static IBeeMutationFactory beeMutationFactory;
/**
* Used to get Forestry's jubilance implementations.
*/
public static IJubilanceFactory jubilanceFactory;
}

View file

@ -1,102 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IAlleleArea;
import forestry.api.genetics.IAlleleBoolean;
import forestry.api.genetics.IAlleleFloat;
import forestry.api.genetics.IAlleleFlowers;
import forestry.api.genetics.IAlleleInteger;
import forestry.api.genetics.IAlleleTolerance;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.ISpeciesRoot;
/**
* Enum representing the order of chromosomes in a bee's genome and what they control.
*
* @author SirSengir
*/
public enum EnumBeeChromosome implements IChromosomeType {
/**
* Species of the bee. Alleles here must implement {@link IAlleleBeeSpecies}.
*/
SPECIES(IAlleleBeeSpecies.class),
/**
* (Production) Speed of the bee.
*/
SPEED(IAlleleFloat.class),
/**
* Lifespan of the bee.
*/
LIFESPAN(IAlleleInteger.class),
/**
* Fertility of the bee. Determines number of offspring.
*/
FERTILITY(IAlleleInteger.class),
/**
* Temperature difference to its native supported one the bee can tolerate.
*/
TEMPERATURE_TOLERANCE(IAlleleTolerance.class),
/**
* Slightly incorrectly named. If true, a naturally dirunal bee can work during the night. If true, a naturally nocturnal bee can work during the day.
*/
NOCTURNAL(IAlleleBoolean.class),
/**
* Not used / superseded by fixed values for the species. Probably going to be replaced with a boolean for FIRE_RESIST.
*/
@Deprecated
HUMIDITY(IAllele.class),
/**
* Humidity difference to its native supported one the bee can tolerate.
*/
HUMIDITY_TOLERANCE(IAlleleTolerance.class),
/**
* If true the bee can work during rain.
*/
TOLERANT_FLYER(IAlleleBoolean.class),
/**
* If true, the bee can work without a clear view of the sky.
*/
CAVE_DWELLING(IAlleleBoolean.class),
/**
* Contains the supported flower provider.
*/
FLOWER_PROVIDER(IAlleleFlowers.class),
/**
* Determines pollination speed.
*/
FLOWERING(IAlleleInteger.class),
/**
* Determines the size of the bee's territory.
*/
TERRITORY(IAlleleArea.class),
/**
* Determines the bee's effect.
*/
EFFECT(IAlleleBeeEffect.class);
Class<? extends IAllele> clss;
EnumBeeChromosome(Class<? extends IAllele> clss) {
this.clss = clss;
}
@Override
public Class<? extends IAllele> getAlleleClass() {
return clss;
}
@Override
public String getName() {
return this.toString().toLowerCase();
}
@Override
public ISpeciesRoot getSpeciesRoot() {
return BeeManager.beeRoot;
}
}

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.Locale;
public enum EnumBeeType {
DRONE, PRINCESS, QUEEN, LARVAE, NONE;
public static final EnumBeeType[] VALUES = values();
String name;
private EnumBeeType() {
this.name = this.toString().toLowerCase(Locale.ENGLISH);
}
public String getName() {
return name;
}
}

View file

@ -1,39 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IFlowerProvider;
import forestry.api.genetics.IFlowerRegistry;
public class FlowerManager {
/**
* ItemStacks representing simple flower blocks. Meta-sensitive, processed by the basic {@link IFlowerProvider}.
*
* @deprecated since Forestry 3.4. Use {@link #IFlowerRegistry.registerPlantableFlower(ItemStack flower, double weight, String... flowerTypes)} instead.
* <blockquote><pre>e.g. FlowerManager.flowerRegister.registerPlantableFlower(new ItemStack(Blocks.red_flower), 1.0, FlowerManager.FlowerTypeVanilla, FlowerManager.FlowerTypeSnow);</pre></blockquote>
*/
@Deprecated
public static ArrayList<ItemStack> plainFlowers = new ArrayList<ItemStack>();
/**
* <blockquote><pre>e.g. FlowerManager.flowerRegister.registerPlantableFlower(new ItemStack(Blocks.red_flower), 1.0, FlowerManager.FlowerTypeVanilla, FlowerManager.FlowerTypeSnow);</pre></blockquote>
*/
public static IFlowerRegistry flowerRegistry;
public static final String FlowerTypeVanilla = "flowersVanilla";
public static final String FlowerTypeNether = "flowersNether";
public static final String FlowerTypeCacti = "flowersCacti";
public static final String FlowerTypeMushrooms = "flowersMushrooms";
public static final String FlowerTypeEnd = "flowersEnd";
public static final String FlowerTypeJungle = "flowersJungle";
public static final String FlowerTypeSnow = "flowersSnow";
public static final String FlowerTypeWheat = "flowersWheat";
public static final String FlowerTypeGourd = "flowersGourd";
}

View file

@ -1,36 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IAlleleEffect;
import forestry.api.genetics.IEffectData;
public interface IAlleleBeeEffect extends IAlleleEffect {
/**
* Called by apiaries to cause an effect in the world.
*
* @param genome
* Genome of the bee queen causing this effect
* @param storedData
* Object containing the stored effect data for the apiary/hive the bee is in.
* @param housing {@link IBeeHousing} the bee currently resides in.
* @return storedData, may have been manipulated.
*/
IEffectData doEffect(IBeeGenome genome, IEffectData storedData, IBeeHousing housing);
/**
* Is called to produce bee effects.
*
* @param genome
* @param storedData
* Object containing the stored effect data for the apiary/hive the bee is in.
* @param housing {@link IBeeHousing} the bee currently resides in.
* @return storedData, may have been manipulated.
*/
IEffectData doFX(IBeeGenome genome, IEffectData storedData, IBeeHousing housing);
}

View file

@ -1,69 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IAlleleSpecies;
public interface IAlleleBeeSpecies extends IAlleleSpecies {
/**
* @return the IBeeRoot
*/
IBeeRoot getRoot();
/**
* @return true if this species is only active at night.
*/
boolean isNocturnal();
/**
* @return Map of possible products with the chance for drop each bee cycle. (0 - 1]
*/
Map<ItemStack, Float> getProductChances();
/**
* @return Map of possible specialities with the chance for drop each bee cycle. (0 - 1]
*/
Map<ItemStack, Float> getSpecialtyChances();
/**
* Only jubilant bees produce specialities.
* @return true if the bee is jubilant, false otherwise.
*/
boolean isJubilant(IBeeGenome genome, IBeeHousing housing);
@SideOnly(Side.CLIENT)
IIcon getIcon(EnumBeeType type, int renderPass);
/**
* @deprecated since Forestry 3.6.
* @return Path of the texture to use for entity rendering.
*/
@Deprecated
String getEntityTexture();
/**
* @deprecated Since Forestry 3.6 use getProductChances()
* @return Map of possible products with the chance for drop each bee cycle. (0 - 100)
*/
@Deprecated
Map<ItemStack, Integer> getProducts();
/**
* @deprecated Since Forestry 3.6 use getSpecialtyChances()
* @return Map of possible specialities with the chance for drop each bee cycle. (0 - 100)
*/
@Deprecated
Map<ItemStack, Integer> getSpecialty();
}

View file

@ -1,40 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IAlleleSpeciesCustom;
public interface IAlleleBeeSpeciesCustom extends IAlleleBeeSpecies, IAlleleSpeciesCustom {
/**
* Add a product for this bee species.
* Chance is between 0 and 1.
*/
IAlleleBeeSpeciesCustom addProduct(ItemStack product, Float chance);
/**
* Add a specialty product for this bee species.
* Bees only produce their specialty when they are Jubilant (see IJubilanceProvider)
* Chance is between 0 and 1.
*/
IAlleleBeeSpeciesCustom addSpecialty(ItemStack specialty, Float chance);
/**
* Set the Jubilance Provider for this bee species.
* Bees only produce their specialty when they are Jubilant (see IJubilanceProvider)
*/
IAlleleBeeSpeciesCustom setJubilanceProvider(IJubilanceProvider provider);
/**
* Make this species only active at night.
*/
IAlleleBeeSpeciesCustom setNocturnal();
/** Use this if you have custom icons for bees. */
IAlleleBeeSpeciesCustom setCustomBeeIconProvider(IBeeIconProvider beeIconProvider);
}

View file

@ -1,32 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.core.ITileStructure;
/**
* Needs to be implemented by TileEntities that want to be part of an alveary.
*/
public interface IAlvearyComponent extends ITileStructure {
void registerBeeModifier(IBeeModifier modifier);
void removeBeeModifier(IBeeModifier modifier);
void registerBeeListener(IBeeListener event);
void removeBeeListener(IBeeListener event);
void addTemperatureChange(float change, float boundaryDown, float boundaryUp);
void addHumidityChange(float change, float boundaryDown, float boundaryUp);
/**
* @return true if this TE has a function other than a plain alveary block. Returning true prevents the TE from becoming master.
*/
boolean hasFunction();
}

View file

@ -1,57 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IBreedingTracker;
import forestry.api.genetics.IIndividual;
/**
* Can be used to garner information on bee breeding. See {@link forestry.api.genetics.ISpeciesRoot} for retrieval functions.
*
* @author SirSengir
*/
public interface IApiaristTracker extends IBreedingTracker {
/**
* Register the birth of a queen. Will mark species as discovered.
*
* @param queen
* Created queen.
*/
void registerQueen(IIndividual queen);
/**
* @return Amount of queens bred with this tracker.
*/
int getQueenCount();
/**
* Register the birth of a princess. Will mark species as discovered.
*
* @param princess
* Created princess.
*/
void registerPrincess(IIndividual princess);
/**
* @return Amount of princesses bred with this tracker.
*/
int getPrincessCount();
/**
* Register the birth of a drone. Will mark species as discovered.
*
* @param drone
* Created drone.
*/
void registerDrone(IIndividual drone);
/**
* @return Amount of drones bred with this tracker.
*/
int getDroneCount();
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
/**
* When implemented by armor piece items, allows them to act as apiarist's armor.
*/
public interface IArmorApiarist {
/**
* Called when the apiarist's armor acts as protection against an attack.
*
* @param player
* Player being attacked
* @param armor
* Armor item
* @param cause
* Optional cause of attack, such as a bee effect identifier
* @param doProtect
* Whether or not to actually do the side effects of protection
* @return Whether or not the armor should protect the player from that attack
*/
public boolean protectPlayer(EntityPlayer player, ItemStack armor, String cause, boolean doProtect);
}

View file

@ -1,88 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.ArrayList;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
import forestry.api.core.IErrorState;
import forestry.api.genetics.IEffectData;
import forestry.api.genetics.IIndividual;
import forestry.api.genetics.IIndividualLiving;
/**
* Other implementations than Forestry's default one are not supported.
*
* @author SirSengir
*/
public interface IBee extends IIndividualLiving {
/**
* @return Bee's genetic information.
*/
IBeeGenome getGenome();
/**
* @return Genetic information of the bee's mate, null if unmated.
*/
IBeeGenome getMate();
/**
* @return true if the individual is originally of natural origin.
*/
boolean isNatural();
/**
* @return generation this individual is removed from the original individual.
*/
int getGeneration();
/**
* Set the natural flag on this bee.
* @param flag
*/
void setIsNatural(boolean flag);
IEffectData[] doEffect(IEffectData[] storedData, IBeeHousing housing);
IEffectData[] doFX(IEffectData[] storedData, IBeeHousing housing);
/**
* @return true if the bee may spawn offspring
*/
boolean canSpawn();
/**
* Determines whether the queen can work.
*
* @param housing the {@link IBeeHousing} the bee currently resides in.
* @return the error code encountered.
*/
IErrorState canWork(IBeeHousing housing);
boolean hasFlower(IBeeHousing housing);
ArrayList<BiomeGenBase> getSuitableBiomes();
ItemStack[] getProduceList();
ItemStack[] getSpecialtyList();
ItemStack[] produceStacks(IBeeHousing housing);
IBee spawnPrincess(IBeeHousing housing);
IBee[] spawnDrones(IBeeHousing housing);
void plantFlowerRandom(IBeeHousing housing);
IIndividual retrievePollen(IBeeHousing housing);
boolean pollinateRandom(IBeeHousing housing, IIndividual pollen);
}

View file

@ -1,39 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IClassification;
public interface IBeeFactory {
/**
* Creates a new bee species.
* Automatically registered with AlleleManager.alleleRegistry.registerAllele()
* See IAlleleBeeSpeciesCustom and IAlleleSpeciesCustom for adding additional properties to the returned species.
*
* @param uid Unique Identifier for this species
* @param dominant Whether this species is genetically dominant (false means it is recessive)
* @param authority Authority for the binomial name, e.g. "Sengir" on species of base Forestry.
* @param unlocalizedName Unlocalized name for this species
* @param unlocalizedDescription Unlocalized description for this species
* @param branch Classification of this species
* @param binomial Binomial name of the species sans genus ("Apis"). "humboldti" will have the bee species flavour name be "Apis humboldti". Feel free to use fun names or null.
* @param primaryColor The outline color of this species
* @param secondaryColor The body color of this species
* @return a new bee species allele.
*/
IAlleleBeeSpeciesCustom createSpecies(String uid, boolean dominant, String authority, String unlocalizedName, String unlocalizedDescription, IClassification branch, String binomial, int primaryColor, int secondaryColor);
/**
* Creates a new bee branch.
* Must be registered with AlleleManager.alleleRegistry.getClassification("family.apidae").addMemberGroup();
*
* @param uid Unique Identifier for this branch
* @param scientific approximates a "genus" in real life. Real life examples: "Micrapis", "Megapis"
* @return a new bee branch
*/
IClassification createBranch(String uid, String scientific);
}

View file

@ -1,48 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.EnumTolerance;
import forestry.api.genetics.IFlowerProvider;
import forestry.api.genetics.IGenome;
/**
* Only the default implementation is supported.
*
* @author SirSengir
*
*/
public interface IBeeGenome extends IGenome {
IAlleleBeeSpecies getPrimary();
IAlleleBeeSpecies getSecondary();
float getSpeed();
int getLifespan();
int getFertility();
EnumTolerance getToleranceTemp();
EnumTolerance getToleranceHumid();
boolean getNocturnal();
boolean getTolerantFlyer();
boolean getCaveDwelling();
IFlowerProvider getFlowerProvider();
int getFlowering();
int[] getTerritory();
IAlleleBeeEffect getEffect();
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IHousing;
public interface IBeeHousing extends IBeeModifier, IBeeListener, IHousing {
ItemStack getQueen();
ItemStack getDrone();
void setQueen(ItemStack itemstack);
void setDrone(ItemStack itemstack);
/**
* @return true if princesses and drones can (currently) mate in this housing to generate queens.
*/
boolean canBreed();
}

View file

@ -1,14 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
public interface IBeeIconProvider {
void registerIcons(IIconRegister register);
IIcon getIcon(EnumBeeType type, int renderPass);
}

View file

@ -1,46 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.item.ItemStack;
import forestry.api.genetics.IIndividual;
public interface IBeeListener {
/**
* Called on queen update.
*
* @param queen
*/
void onQueenChange(ItemStack queen);
/**
* Called when the bees wear out the housing's equipment.
*
* @param amount
* Integer indicating the amount worn out.
*/
void wearOutEquipment(int amount);
/**
* Called just before the children are generated, and the queen removed.
*
* @param queen
*/
void onQueenDeath(IBee queen);
/**
* Called after the children have been spawned, but before the queen appears
*
* @param queen
*/
void onPostQueenDeath(IBee queen);
boolean onPollenRetrieved(IBee queen, IIndividual pollen, boolean isHandled);
boolean onEggLaid(IBee queen);
}

View file

@ -1,71 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
public interface IBeeModifier {
/**
* @param genome Genome of the bee this modifier is called for.
* @param currentModifier Current modifier.
* @return Float used to modify the base territory.
*/
float getTerritoryModifier(IBeeGenome genome, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @param mate
* @param currentModifier Current modifier.
* @return Float used to modify the base mutation chance.
*/
float getMutationModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @param currentModifier Current modifier.
* @return Float used to modify the life span of queens.
*/
float getLifespanModifier(IBeeGenome genome, IBeeGenome mate, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @param currentModifier Current modifier.
* @return Float modifying the production speed of queens.
*/
float getProductionModifier(IBeeGenome genome, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @return Float modifying the flowering of queens.
*/
float getFloweringModifier(IBeeGenome genome, float currentModifier);
/**
* @param genome Genome of the bee this modifier is called for.
* @return Float modifying the chance for a swarmer queen to die off.
*/
float getGeneticDecay(IBeeGenome genome, float currentModifier);
/**
* @return Boolean indicating if housing can ignore rain
*/
boolean isSealed();
/**
* @return Boolean indicating if housing can ignore darkness/night
*/
boolean isSelfLighted();
/**
* @return Boolean indicating if housing can ignore not seeing the sky
*/
boolean isSunlightSimulated();
/**
* @return Boolean indicating whether this housing simulates the nether
*/
boolean isHellish();
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IGenome;
import forestry.api.genetics.IMutation;
public interface IBeeMutation extends IMutation {
IBeeRoot getRoot();
/**
* @param housing
* @param allele0
* @param allele1
* @param genome0
* @param genome1
* @return float representing the chance for mutation to occur. note that this is 0 - 100 based, since it was an integer previously!
* @deprecated since Forestry 3.6, use the IAlleleBeeSpecies / IBeeGenome version
*/
@Deprecated
float getChance(IBeeHousing housing, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1);
float getChance(IBeeHousing housing, IAlleleBeeSpecies allele0, IAlleleBeeSpecies allele1, IBeeGenome genome0, IBeeGenome genome1);
}

View file

@ -1,12 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IMutationCustom;
public interface IBeeMutationCustom extends IBeeMutation, IMutationCustom {
}

View file

@ -1,23 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.genetics.IAllele;
public interface IBeeMutationFactory {
/**
* Creates a new bee mutation.
* Automatically registered with BeeManager.beeRoot.registerMutation()
* See IBeeMutationCustom and IMutationCustom for adding additional properties to the returned mutation.
*
* @param parentBee0 A parent bee for this mutation
* @param parentBee1 A parent bee for this mutation
* @param result The resulting alleles for this mutation
* @param chance The chance that breeding the two parent bees will result in this mutation
* @return a new bee mutation.
*/
IBeeMutationCustom createMutation(IAlleleBeeSpecies parentBee0, IAlleleBeeSpecies parentBee1, IAllele[] result, int chance);
}

View file

@ -1,128 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.ArrayList;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import com.mojang.authlib.GameProfile;
import forestry.api.core.IStructureLogic;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.ISpeciesRoot;
public interface IBeeRoot extends ISpeciesRoot {
/**
* @return true if passed item is a Forestry bee. Equal to getType(ItemStack stack) != EnumBeeType.NONE
*/
@Override
boolean isMember(ItemStack stack);
/**
* @return {@link IBee} pattern parsed from the passed stack's nbt data.
*/
@Override
IBee getMember(ItemStack stack);
@Override
IBee getMember(NBTTagCompound compound);
/* GENOME CONVERSION */
@Override
IBee templateAsIndividual(IAllele[] template);
@Override
IBee templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive);
@Override
IBeeGenome templateAsGenome(IAllele[] template);
@Override
IBeeGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive);
/* BREEDING TRACKER */
/**
* @param world
* @return {@link IApiaristTracker} associated with the passed world.
*/
IApiaristTracker getBreedingTracker(World world, GameProfile player);
/* BEE SPECIFIC */
/**
* @return type of bee encoded on the itemstack. EnumBeeType.NONE if it isn't a bee.
*/
EnumBeeType getType(ItemStack stack);
/**
* @return true if passed item is a drone. Equal to getType(ItemStack stack) == EnumBeeType.DRONE
*/
boolean isDrone(ItemStack stack);
/**
* @return true if passed item is mated (i.e. a queen)
*/
boolean isMated(ItemStack stack);
/**
* @param genome
* Valid {@link IBeeGenome}
* @return {@link IBee} from the passed genome
*/
IBee getBee(World world, IBeeGenome genome);
/**
* Creates an IBee suitable for a queen containing the necessary second genome for the mate.
*
* @param genome
* Valid {@link IBeeGenome}
* @param mate
* Valid {@link IBee} representing the mate.
* @return Mated {@link IBee} from the passed genomes.
*/
IBee getBee(World world, IBeeGenome genome, IBee mate);
/* TEMPLATES */
@Override
ArrayList<IBee> getIndividualTemplates();
/* MUTATIONS */
@Override
Collection<IBeeMutation> getMutations(boolean shuffle);
/* GAME MODE */
void resetBeekeepingMode();
ArrayList<IBeekeepingMode> getBeekeepingModes();
IBeekeepingMode getBeekeepingMode(World world);
IBeekeepingMode getBeekeepingMode(String name);
void registerBeekeepingMode(IBeekeepingMode mode);
void setBeekeepingMode(World world, String name);
/* MISC */
/**
* @param housing
* Object implementing IBeeHousing.
* @return IBeekeepingLogic
*/
IBeekeepingLogic createBeekeepingLogic(IBeeHousing housing);
/**
* TileEntities wanting to function as alveary components need to implement structure logic for validation.
*
* @return IStructureLogic for alvearies.
*/
IStructureLogic createAlvearyStructureLogic(IAlvearyComponent structure);
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import forestry.api.core.INBTTagable;
import forestry.api.genetics.IEffectData;
public interface IBeekeepingLogic extends INBTTagable {
/* STATE INFORMATION */
int getBreedingTime();
int getTotalBreedingTime();
IBee getQueen();
IBeeHousing getHousing();
IEffectData[] getEffectData();
/* UPDATING */
void update();
}

View file

@ -1,70 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.ArrayList;
import net.minecraft.world.World;
public interface IBeekeepingMode extends IBeeModifier {
/**
* @return Localized name of this beekeeping mode.
*/
String getName();
/**
* @return Localized list of strings outlining the behaviour of this beekeeping mode.
*/
ArrayList<String> getDescription();
/**
* @return Float used to modify the wear on comb frames.
*/
float getWearModifier();
/**
* @param queen
* @return fertility taking into account the birthing queen and surroundings.
*/
int getFinalFertility(IBee queen, World world, int x, int y, int z);
/**
* @param queen
* @return true if the queen is genetically "fatigued" and should not be reproduced anymore.
*/
boolean isFatigued(IBee queen, IBeeHousing housing);
/**
* @param queen
* @param housing
* @return true if the queen is being overworked in the bee housing (with chance). will trigger a negative effect.
*/
boolean isOverworked(IBee queen, IBeeHousing housing);
/**
*
* @param queen
* @param offspring
* @param housing
* @return true if the genetic structure of the queen is breaking down during spawning of the offspring (with chance). will trigger a negative effect.
*/
boolean isDegenerating(IBee queen, IBee offspring, IBeeHousing housing);
/**
* @param queen
* @return true if an offspring of this queen is considered a natural
*/
boolean isNaturalOffspring(IBee queen);
/**
* @param queen
* @return true if this mode allows the passed queen or princess to be multiplied
*/
boolean mayMultiplyPrincess(IBee queen);
}

View file

@ -1,38 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
/**
* Bees can be seeded either as hive drops or as mutation results.
*
* Add IHiveDrops with HiveManager.get___Hive.addDrop
*
* @author SirSengir
*/
public interface IHiveDrop {
ItemStack getPrincess(World world, int x, int y, int z, int fortune);
Collection<ItemStack> getDrones(World world, int x, int y, int z, int fortune);
Collection<ItemStack> getAdditional(World world, int x, int y, int z, int fortune);
/**
* Chance to drop. Default drops have 80 (= 80 %).
*
* @param world Minecraft world this is called for.
* @param x x-Coordinate of the broken hive.
* @param y y-Coordinate of the broken hive.
* @param z z-Coordinate of the broken hive.
* @return Chance for drop as an integer of 0 - 100.
*/
int getChance(World world, int x, int y, int z);
}

View file

@ -1,27 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.item.ItemStack;
public interface IHiveFrame extends IBeeModifier {
/**
* Wears out a frame.
*
* @param housing
* IBeeHousing the frame is contained in.
* @param frame
* ItemStack containing the actual frame.
* @param queen
* Current queen in the caller.
* @param wear
* Integer denoting the amount worn out. The wear modifier of the current beekeeping mode has already been taken into account.
* @return ItemStack containing the actual frame with adjusted damage.
*/
ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear);
}

View file

@ -1,16 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
import net.minecraft.block.Block;
public interface IJubilanceFactory {
/** The default Jubilance Provider is satisfied when the humidity and temperature are ideal for the bee. */
IJubilanceProvider getDefault();
/** The Requires Resource Jubilance Provider is satisfied when a specific block is under the hive. */
IJubilanceProvider getRequiresResource(Block block, int meta);
}

View file

@ -1,15 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture;
public interface IJubilanceProvider {
/**
* Returns true when conditions are right to make this species Jubilant.
* Jubilant bees can produce their Specialty products.
*/
boolean isJubilant(IAlleleBeeSpecies species, IBeeGenome genome, IBeeHousing housing);
}

View file

@ -1,13 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture.hives;
public class HiveManager {
public static IHiveRegistry hiveRegistry;
public static IHiveGenHelper genHelper;
}

View file

@ -1,48 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture.hives;
import net.minecraft.block.Block;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import forestry.api.core.EnumHumidity;
import forestry.api.core.EnumTemperature;
public interface IHiveDescription {
/**
* The hive generator for this hive.
*/
IHiveGen getHiveGen();
/**
* The hive block to be placed in the world.
*/
Block getBlock();
int getMeta();
/**
* returns true if the hive can be generated in these conditions.
* Used as a fast early-elimination check for hives that have no hope of spawning in the area.
*/
boolean isGoodBiome(BiomeGenBase biome);
boolean isGoodHumidity(EnumHumidity humidity);
boolean isGoodTemperature(EnumTemperature temperature);
/**
* float representing the relative chance a hive will generate in a chunk.
* Default is 1.0, higher numbers result in more hives, smaller will result in fewer.
* Tree hives want around 3.0 to 4.0 since there are less locations to generate on.
*/
float getGenChance();
/**
* Called after successful hive generation.
* world, x, y, z give the location of the new hive.
**/
void postGen(World world, int x, int y, int z);
}

View file

@ -1,29 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture.hives;
import net.minecraft.world.World;
public interface IHiveGen {
/**
* return a Y value that the hive should try to generate at.
* returns negative if the hive can't be placed anywhere.
*/
int getYForHive(World world, int x, int z);
/**
* returns true if the hive can be generated at this location.
* Used for advanced conditions, like checking that the ground below the hive is a certain type.
*/
boolean isValidLocation(World world, int x, int y, int z);
/**
* returns true if the hive can safely replace the block at this location.
*/
boolean canReplace(World world, int x, int y, int z);
}

View file

@ -1,23 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture.hives;
import net.minecraft.block.Block;
public interface IHiveGenHelper {
/**
* Returns a hiveGen for a hive that spawns on the ground.
* validGroundBlocks specifies which block materials it can spawn on.
*/
IHiveGen ground(Block... validGroundBlocks);
/**
* Returns a hiveGen for a hive that spawns in trees.
*/
IHiveGen tree();
}

View file

@ -1,33 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.apiculture.hives;
import java.util.List;
import forestry.api.apiculture.IHiveDrop;
public interface IHiveRegistry {
/* Forestry Hive Names */
public static final String forest = "Forestry:forest";
public static final String meadows = "Forestry:meadows";
public static final String desert = "Forestry:desert";
public static final String jungle = "Forestry:jungle";
public static final String end = "Forestry:end";
public static final String snow = "Forestry:snow";
public static final String swamp = "Forestry:swamp";
/**
* Adds a new hive to be generated in the world.
*/
void registerHive(String hiveName, IHiveDescription hiveDescription);
/**
* Add drops to a registered hive.
*/
void addDrops(String hiveName, IHiveDrop... drops);
void addDrops(String hiveName, List<IHiveDrop> drop);
}

View file

@ -1,8 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
@API(apiVersion="4.1.0", owner="ForestryAPI|apiculture", provides="ForestryAPI|hives")
package forestry.api.apiculture.hives;
import cpw.mods.fml.common.API;

View file

@ -1,8 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
@API(apiVersion="3.3.0", owner="ForestryAPI|core", provides="ForestryAPI|apiculture")
package forestry.api.apiculture;
import cpw.mods.fml.common.API;

View file

@ -1,23 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
public enum EnumGermlingType {
SAPLING("sapling"), BLOSSOM("blossom"), POLLEN("pollen"), GERMLING("germling"), NONE("none");
public static final EnumGermlingType[] VALUES = values();
private final String name;
private EnumGermlingType(String name) {
this.name = name;
}
public String getName() {
return name;
}
}

View file

@ -1,10 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
public enum EnumGrowthConditions {
HOSTILE, PALTRY, NORMAL, GOOD, EXCELLENT
}

View file

@ -1,96 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.AlleleManager;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IAlleleArea;
import forestry.api.genetics.IAlleleBoolean;
import forestry.api.genetics.IAlleleFloat;
import forestry.api.genetics.IAlleleInteger;
import forestry.api.genetics.IAllelePlantType;
import forestry.api.genetics.IChromosomeType;
import forestry.api.genetics.IFruitFamily;
import forestry.api.genetics.ISpeciesRoot;
import net.minecraftforge.common.EnumPlantType;
public enum EnumTreeChromosome implements IChromosomeType {
/**
* Determines the following: - WorldGen, including the used wood blocks - {@link IFruitFamily}s supported. Limits which {@link IFruitProvider}
* will actually yield fruit with this species. - Native {@link EnumPlantType} for this tree. Combines with the PLANT chromosome.
*/
SPECIES(IAlleleTreeSpecies.class),
/**
* {@link IGrowthProvider}, determines conditions required by the tree to grow.
*/
GROWTH(IAlleleGrowth.class),
/**
* A float modifying the height of the tree. Taken into account at worldgen.
*/
HEIGHT(IAlleleFloat.class),
/**
* Chance for saplings.
*/
FERTILITY(IAlleleFloat.class),
/**
* {@link IFruitProvider}, determines if and what fruits are grown on the tree. Limited by the {@link IFruitFamily}s the species supports.
*/
FRUITS(IAlleleFruit.class),
/**
* Chance for fruit leaves and/or drops.
*/
YIELD(IAlleleFloat.class),
/**
* May add additional tolerances for {@link EnumPlantTypes}.
*/
PLANT(IAllelePlantType.class),
/**
* Determines the speed at which fruit will ripen on this tree.
*/
SAPPINESS(IAlleleFloat.class),
/**
* Territory for leaf effects. Unused.
*/
TERRITORY(IAlleleArea.class),
/**
* Leaf effect. Unused.
*/
EFFECT(IAlleleLeafEffect.class),
/**
* Amount of random ticks which need to elapse before a sapling will grow into a tree.
*/
MATURATION(IAlleleInteger.class),
GIRTH(IAlleleInteger.class),
/**
* Determines if the tree can burn.
*/
FIREPROOF(IAlleleBoolean.class),
;
Class<? extends IAllele> clss;
EnumTreeChromosome(Class<? extends IAllele> clss) {
this.clss = clss;
}
@Override
public Class<? extends IAllele> getAlleleClass() {
return clss;
}
@Override
public String getName() {
return this.toString().toLowerCase();
}
@Override
public ISpeciesRoot getSpeciesRoot() {
return AlleleManager.alleleRegistry.getSpeciesRoot("rootTrees");
}
}

View file

@ -1,17 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.IAllele;
/**
* Simple allele encapsulating an {@link IFruitProvider}.
*/
public interface IAlleleFruit extends IAllele {
IFruitProvider getProvider();
}

View file

@ -1,17 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.IAllele;
/**
* Simple allele encapsulating an {@link IGrowthProvider}.
*/
public interface IAlleleGrowth extends IAllele {
IGrowthProvider getProvider();
}

View file

@ -1,20 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.world.World;
import forestry.api.genetics.IAlleleEffect;
import forestry.api.genetics.IEffectData;
/**
* Simple allele encapsulating a leaf effect. (Not implemented)
*/
public interface IAlleleLeafEffect extends IAlleleEffect {
IEffectData doEffect(ITreeGenome genome, IEffectData storedData, World world, int x, int y, int z);
}

View file

@ -1,69 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.common.EnumPlantType;
import forestry.api.genetics.IAlleleSpecies;
import forestry.api.genetics.IFruitFamily;
public interface IAlleleTreeSpecies extends IAlleleSpecies {
ITreeRoot getRoot();
/**
* @return Native plant type of this species.
*/
EnumPlantType getPlantType();
/**
* @return List of all {@link IFruitFamily}s which can grow on leaves generated by this species.
*/
Collection<IFruitFamily> getSuitableFruit();
/**
* @param tree
* @param world
* @param x
* @param y
* @param z
* @return Tree generator for the tree at the given location.
*/
WorldGenerator getGenerator(ITree tree, World world, int x, int y, int z);
/**
* @return All available generator classes for this species.
*/
Class<? extends WorldGenerator>[] getGeneratorClasses();
/* TEXTURES AND OVERRIDES */
int getLeafColour(ITree tree);
short getLeafIconIndex(ITree tree, boolean fancy);
@SideOnly(Side.CLIENT)
IIcon getGermlingIcon(EnumGermlingType type, int renderPass);
@SideOnly(Side.CLIENT)
int getGermlingColour(EnumGermlingType type, int renderPass);
/**
*
* @return Array of ItemStacks representing logs that these tree produces, the first one being the primary one
*/
ItemStack[] getLogStacks();
}

View file

@ -1,12 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import forestry.api.genetics.IBreedingTracker;
public interface IArboristTracker extends IBreedingTracker {
}

View file

@ -1,74 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import forestry.api.genetics.IFruitFamily;
public interface IFruitProvider {
IFruitFamily getFamily();
int getColour(ITreeGenome genome, IBlockAccess world, int x, int y, int z, int ripeningTime);
boolean markAsFruitLeaf(ITreeGenome genome, World world, int x, int y, int z);
int getRipeningPeriod();
// / Products, Chance
ItemStack[] getProducts();
// / Specialty, Chance
ItemStack[] getSpecialty();
ItemStack[] getFruits(ITreeGenome genome, World world, int x, int y, int z, int ripeningTime);
/**
* @return Short, human-readable identifier used in the treealyzer.
*/
String getDescription();
/* TEXTURE OVERLAY */
/**
* @param genome
* @param world
* @param x
* @param y
* @param z
* @param ripeningTime
* Elapsed ripening time for the fruit.
* @param fancy
* @return IIcon index of the texture to overlay on the leaf block.
*/
short getIconIndex(ITreeGenome genome, IBlockAccess world, int x, int y, int z, int ripeningTime, boolean fancy);
/**
* @return true if this fruit provider requires fruit blocks to spawn, false otherwise.
*/
boolean requiresFruitBlocks();
/**
* Tries to spawn a fruit block at the potential position when the tree generates.
*
* @param genome
* @param world
* @param x
* @param y
* @param z
* @return true if a fruit block was spawned, false otherwise.
*/
boolean trySpawnFruitBlock(ITreeGenome genome, World world, int x, int y, int z);
@SideOnly(Side.CLIENT)
void registerIcons(IIconRegister register);
}

View file

@ -1,38 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.world.World;
public interface IGrowthProvider {
/**
* Check to see whether a sapling at the given location with the given genome can grow into a tree.
*
* @param genome Genome of the tree this is called for.
* @param world Minecraft world the tree will inhabit.
* @param xPos x-Coordinate to attempt growth at.
* @param yPos y-Coordinate to attempt growth at.
* @param zPos z-Coordinate to attempt growth at.
* @param expectedGirth Trunk size of the tree to generate.
* @param expectedHeight Height of the tree to generate.
* @return true if the tree can grow at the given coordinates, false otherwise.
*/
boolean canGrow(ITreeGenome genome, World world, int xPos, int yPos, int zPos, int expectedGirth, int expectedHeight);
EnumGrowthConditions getGrowthConditions(ITreeGenome genome, World world, int xPos, int yPos, int zPos);
/**
* @return Short, human-readable identifier used in the treealyzer.
*/
String getDescription();
/**
* @return Detailed description of growth behaviour used in the treealyzer.
*/
String[] getInfo();
}

View file

@ -1,12 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.world.World;
public interface ILeafTickHandler {
boolean onRandomLeafTick(ITree tree, World world, int biomeId, int x, int y, int z, boolean isDestroyed);
}

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public interface IToolGrafter {
/**
* Called by leaves to determine the increase in sapling droprate.
*
* @param stack ItemStack containing the grafter.
* @param world Minecraft world the player and the target block inhabit.
* @param x x-Coordinate of the broken leaf block.
* @param y y-Coordinate of the broken leaf block.
* @param z z-Coordinate of the broken leaf block.
* @return Float representing the factor the usual drop chance is to be multiplied by.
*/
float getSaplingModifier(ItemStack stack, World world, EntityPlayer player, int x, int y, int z);
}

View file

@ -1,100 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import java.util.EnumSet;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
import net.minecraftforge.common.EnumPlantType;
import forestry.api.genetics.IEffectData;
import forestry.api.genetics.IIndividual;
import forestry.api.world.ITreeGenData;
public interface ITree extends IIndividual, ITreeGenData {
void mate(ITree other);
IEffectData[] doEffect(IEffectData[] storedData, World world, int biomeid, int x, int y, int z);
IEffectData[] doFX(IEffectData[] storedData, World world, int biomeid, int x, int y, int z);
ITreeGenome getGenome();
ITreeGenome getMate();
EnumSet<EnumPlantType> getPlantTypes();
ITree[] getSaplings(World world, int x, int y, int z, float modifier);
ItemStack[] getProduceList();
ItemStack[] getSpecialtyList();
ItemStack[] produceStacks(World world, int x, int y, int z, int ripeningTime);
/**
*
* @param world
* @param x
* @param y
* @param z
* @return Boolean indicating whether a sapling can stay planted at the given position.
*/
boolean canStay(World world, int x, int y, int z);
/**
*
* @param world
* @param x
* @param y
* @param z
* @return Boolean indicating whether a sapling at the given position can grow into a tree.
*/
boolean canGrow(World world, int x, int y, int z, int expectedGirth, int expectedHeight);
/**
* @return Integer denoting the maturity (block ticks) required for a sapling to attempt to grow into a tree.
*/
int getRequiredMaturity();
/**
* @return Integer denoting how resilient leaf blocks are against adverse influences (i.e. caterpillars).
*/
int getResilience();
/**
* @param world
* @param x
* @param y
* @param z
* @return Integer denoting the size of the tree trunk.
*/
int getGirth(World world, int x, int y, int z);
/**
*
* @param world
* @param x
* @param y
* @param z
* @return Growth conditions at the given position.
*/
EnumGrowthConditions getGrowthCondition(World world, int x, int y, int z);
WorldGenerator getTreeGenerator(World world, int x, int y, int z, boolean wasBonemealed);
ITree copy();
boolean isPureBred(EnumTreeChromosome chromosome);
boolean canBearFruit();
}

View file

@ -1,46 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import java.util.EnumSet;
import net.minecraftforge.common.EnumPlantType;
import forestry.api.genetics.IGenome;
public interface ITreeGenome extends IGenome {
IAlleleTreeSpecies getPrimary();
IAlleleTreeSpecies getSecondary();
IFruitProvider getFruitProvider();
IGrowthProvider getGrowthProvider();
float getHeight();
float getFertility();
/**
* @return Determines either a) how many fruit leaves there are or b) the chance for any fruit leave to drop a sapling. Exact usage determined by the
* IFruitProvider
*/
float getYield();
float getSappiness();
EnumSet<EnumPlantType> getPlantTypes();
/**
* @return Amount of random block ticks required for a sapling to mature into a fully grown tree.
*/
int getMaturationTime();
int getGirth();
IAlleleLeafEffect getEffect();
}

View file

@ -1,45 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
public interface ITreeModifier {
/**
*
* @param genome
* @return Float used to modify the height.
*/
float getHeightModifier(ITreeGenome genome, float currentModifier);
/**
*
* @param genome
* @return Float used to modify the yield.
*/
float getYieldModifier(ITreeGenome genome, float currentModifier);
/**
*
* @param genome
* @return Float used to modify the sappiness.
*/
float getSappinessModifier(ITreeGenome genome, float currentModifier);
/**
*
* @param genome
* @return Float used to modify the maturation.
*/
float getMaturationModifier(ITreeGenome genome, float currentModifier);
/**
* @param genome0
* @param genome1
* @return Float used to modify the base mutation chance.
*/
float getMutationModifier(ITreeGenome genome0, ITreeGenome genome1, float currentModifier);
}

View file

@ -1,34 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import net.minecraft.world.World;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IGenome;
import forestry.api.genetics.IMutation;
import forestry.api.genetics.ISpeciesRoot;
public interface ITreeMutation extends IMutation {
/**
* @return {@link ISpeciesRoot} this mutation is associated with.
*/
ITreeRoot getRoot();
/**
* @param world
* @param x
* @param y
* @param z
* @param allele0
* @param allele1
* @param genome0
* @param genome1
* @return float representing the chance for mutation to occur. note that this is 0 - 100 based, since it was an integer previously!
*/
float getChance(World world, int x, int y, int z, IAllele allele0, IAllele allele1, IGenome genome0, IGenome genome1);
}

View file

@ -1,113 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import java.util.ArrayList;
import java.util.Collection;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import com.mojang.authlib.GameProfile;
import forestry.api.genetics.IAllele;
import forestry.api.genetics.IChromosome;
import forestry.api.genetics.IIndividual;
import forestry.api.genetics.ISpeciesRoot;
public interface ITreeRoot extends ISpeciesRoot {
@Override
boolean isMember(ItemStack itemstack);
@Override
ITree getMember(ItemStack itemstack);
@Override
ITree getMember(NBTTagCompound compound);
@Override
ITree templateAsIndividual(IAllele[] template);
@Override
ITree templateAsIndividual(IAllele[] templateActive, IAllele[] templateInactive);
@Override
ITreeGenome templateAsGenome(IAllele[] template);
@Override
ITreeGenome templateAsGenome(IAllele[] templateActive, IAllele[] templateInactive);
/**
* @param world
* @return {@link IArboristTracker} associated with the passed world.
*/
@Override
IArboristTracker getBreedingTracker(World world, GameProfile player);
/* TREE SPECIFIC */
/**
* Register a leaf tick handler.
* @param handler the {@link ILeafTickHandler} to register.
*/
void registerLeafTickHandler(ILeafTickHandler handler);
Collection<ILeafTickHandler> getLeafTickHandlers();
/**
* @return type of tree encoded on the itemstack. EnumBeeType.NONE if it isn't a tree.
*/
EnumGermlingType getType(ItemStack stack);
ITree getTree(World world, int x, int y, int z);
ITree getTree(World world, ITreeGenome genome);
boolean plantSapling(World world, ITree tree, GameProfile owner, int x, int y, int z);
/**
* @deprecated since Forestry 3.5.0. Use ITreeGenData setLeavesDecorative.
*/
@Deprecated
// decorative=true for creative and player-placed leaves. No decay, pollination, or drops.
boolean setLeaves(World world, IIndividual tree, GameProfile owner, int x, int y, int z, boolean decorative);
/**
* @deprecated since Forestry 3.5.0. Use ITreeGenData setLeaves.
*/
@Deprecated
// set normal leaves created as worldgen
boolean setLeaves(World world, IIndividual tree, GameProfile owner, int x, int y, int z);
@Override
IChromosome[] templateAsChromosomes(IAllele[] template);
@Override
IChromosome[] templateAsChromosomes(IAllele[] templateActive, IAllele[] templateInactive);
boolean setFruitBlock(World world, IAlleleFruit allele, float sappiness, short[] indices, int x, int y, int z);
/* GAME MODE */
ArrayList<ITreekeepingMode> getTreekeepingModes();
ITreekeepingMode getTreekeepingMode(World world);
ITreekeepingMode getTreekeepingMode(String name);
void registerTreekeepingMode(ITreekeepingMode mode);
void setTreekeepingMode(World world, String name);
/* TEMPLATES */
@Override
ArrayList<ITree> getIndividualTemplates();
/* MUTATIONS */
@Override
Collection<ITreeMutation> getMutations(boolean shuffle);
}

View file

@ -1,22 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.arboriculture;
import java.util.ArrayList;
public interface ITreekeepingMode extends ITreeModifier {
/**
* @return Localized name of this treekeeping mode.
*/
String getName();
/**
* @return Localized list of strings outlining the behaviour of this treekeeping mode.
*/
ArrayList<String> getDescription();
}

View file

@ -1,8 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
@API(apiVersion="2.3.0", owner="ForestryAPI|core", provides="ForestryAPI|arboriculture")
package forestry.api.arboriculture;
import cpw.mods.fml.common.API;

View file

@ -1,13 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
public class ChipsetManager {
public static ISolderManager solderManager;
public static ICircuitRegistry circuitRegistry;
}

View file

@ -1,32 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
import java.util.List;
import net.minecraft.tileentity.TileEntity;
public interface ICircuit {
String getUID();
boolean requiresDiscovery();
int getLimit();
String getName();
boolean isCircuitable(TileEntity tile);
void onInsertion(int slot, TileEntity tile);
void onLoad(int slot, TileEntity tile);
void onRemoval(int slot, TileEntity tile);
void onTick(int slot, TileEntity tile);
void addTooltip(List<String> list);
}

View file

@ -1,32 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
import java.util.List;
import net.minecraft.tileentity.TileEntity;
import forestry.api.core.INBTTagable;
public interface ICircuitBoard extends INBTTagable {
int getPrimaryColor();
int getSecondaryColor();
void addTooltip(List<String> list);
void onInsertion(TileEntity tile);
void onLoad(TileEntity tile);
void onRemoval(TileEntity tile);
void onTick(TileEntity tile);
ICircuit[] getCircuits();
}

View file

@ -1,16 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
public interface ICircuitLayout {
String getUID();
String getName();
String getUsage();
}

View file

@ -1,10 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
public interface ICircuitLibrary {
}

View file

@ -1,37 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
import java.util.Map;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public interface ICircuitRegistry {
/* CIRCUITS */
Map<String, ICircuit> getRegisteredCircuits();
void registerCircuit(ICircuit circuit);
ICircuit getCircuit(String uid);
ICircuitLibrary getCircuitLibrary(World world, String playername);
/* LAYOUTS */
Map<String, ICircuitLayout> getRegisteredLayouts();
void registerLayout(ICircuitLayout layout);
ICircuitLayout getLayout(String uid);
ICircuitLayout getDefaultLayout();
ICircuitBoard getCircuitboard(ItemStack itemstack);
boolean isChipset(ItemStack itemstack);
}

View file

@ -1,14 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.circuits;
import net.minecraft.item.ItemStack;
public interface ISolderManager {
void addRecipe(ICircuitLayout layout, ItemStack resource, ICircuit circuit);
}

View file

@ -1,8 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
@API(apiVersion="2.0.0", owner="ForestryAPI|core", provides="ForestryAPI|circuits")
package forestry.api.circuits;
import cpw.mods.fml.common.API;

View file

@ -1,36 +0,0 @@
package forestry.api.core;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.BiomeDictionary;
public class BiomeHelper {
private static final Map<BiomeGenBase, Boolean> isBiomeHellishCache = new HashMap<BiomeGenBase, Boolean>();
/**
* Determines if it can rain or snow in the given biome.
*/
public static boolean canRainOrSnow(BiomeGenBase biomeGenBase) {
return biomeGenBase.getEnableSnow() || biomeGenBase.canSpawnLightningBolt();
}
/**
* Determines if a given BiomeGenBase is of HELLISH temperature, since it is treated separately from actual temperature values.
* Uses the BiomeDictionary.
* @param biomeGen BiomeGenBase of the biome in question
* @return true, if the BiomeGenBase is a Nether-type biome; false otherwise.
*/
public static boolean isBiomeHellish(BiomeGenBase biomeGen) {
if (isBiomeHellishCache.containsKey(biomeGen)) {
return isBiomeHellishCache.get(biomeGen);
}
boolean isBiomeHellish = BiomeDictionary.isBiomeOfType(biomeGen, BiomeDictionary.Type.NETHER);
isBiomeHellishCache.put(biomeGen, isBiomeHellish);
return isBiomeHellish;
}
}

View file

@ -1,43 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
/**
* Many things Forestry use temperature and humidity of a biome to determine whether they can or how they can work or spawn at a given location.
*
* This enum concerns humidity.
*/
public enum EnumHumidity {
ARID("Arid"), NORMAL("Normal"), DAMP("Damp");
public final String name;
private EnumHumidity(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
/**
* Determines the EnumHumidity given a floating point representation of Minecraft Rainfall.
* To check if rainfall is possible in a biome, use BiomeHelper.canRainOrSnow().
* @param rawHumidity raw rainfall value
* @return EnumHumidity corresponding to rainfall value
*/
public static EnumHumidity getFromValue(float rawHumidity) {
if (rawHumidity > 0.85f) { // matches BiomeGenBase.isHighHumidity()
return DAMP;
}
else if (rawHumidity >= 0.3f) {
return NORMAL;
}
else {
return ARID;
}
}
}

View file

@ -1,71 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.util.IIcon;
import net.minecraft.world.biome.BiomeGenBase;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Many things Forestry use temperature and humidity of a biome to determine whether they can or how they can work or spawn at a given location.
*
* This enum concerns temperature.
*/
public enum EnumTemperature {
NONE("None", "habitats/ocean"), ICY("Icy", "habitats/snow"), COLD("Cold", "habitats/taiga"),
NORMAL("Normal", "habitats/plains"), WARM("Warm", "habitats/jungle"), HOT("Hot", "habitats/desert"), HELLISH("Hellish", "habitats/nether");
public final String name;
public final String iconIndex;
private EnumTemperature(String name, String iconIndex) {
this.name = name;
this.iconIndex = iconIndex;
}
public String getName() {
return this.name;
}
@SideOnly(Side.CLIENT)
public IIcon getIcon() {
return ForestryAPI.textureManager.getDefault(iconIndex);
}
/**
* Determines the EnumTemperature given a floating point representation of
* Minecraft temperature. Hellish biomes are handled based on their biome
* type - check BiomeHelper.isBiomeHellish.
* @param rawTemp raw temperature value
* @return EnumTemperature corresponding to value of rawTemp
*/
public static EnumTemperature getFromValue(float rawTemp) {
if (rawTemp > 1.00f) {
return HOT;
}
else if (rawTemp > 0.80f) {
return WARM;
}
else if (rawTemp > 0.30f) {
return NORMAL;
}
else if (rawTemp > 0.0f) {
return COLD;
}
else {
return ICY;
}
}
public static EnumTemperature getFromBiome(BiomeGenBase biomeGenBase) {
if (BiomeHelper.isBiomeHellish(biomeGenBase)) {
return HELLISH;
}
return getFromValue(biomeGenBase.temperature);
}
}

View file

@ -1,77 +0,0 @@
/*
*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
*******************************************************************************
*/
package forestry.api.core;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import net.minecraft.client.renderer.texture.IIconRegister;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
*
* @author CovertJaguar <http://www.railcraft.info/>
*/
public class ErrorStateRegistry {
private static final BiMap<Short, IErrorState> states = HashBiMap.create();
private static final Map<String, IErrorState> stateNames = new HashMap<String, IErrorState>();
private static final Set<IErrorState> stateView = Collections.unmodifiableSet(states.inverse().keySet());
public static void registerErrorState(IErrorState state) {
if (states.containsKey(state.getID()))
throw new RuntimeException("Forestry Error State does not possess a unique id.");
states.put(state.getID(), state);
addStateName(state, state.getUniqueName());
}
public static void addAlias(IErrorState state, String name) {
if (!states.values().contains(state))
throw new RuntimeException("Forestry Error State did not exist while trying to register alias.");
addStateName(state, name);
}
private static void addStateName(IErrorState state, String name) {
if (!name.contains(":"))
throw new RuntimeException("Forestry Error State name must be in the format <modid>:<name>.");
if (stateNames.containsKey(name))
throw new RuntimeException("Forestry Error State does not possess a unique name.");
stateNames.put(name, state);
}
public static IErrorState getErrorState(short id) {
return states.get(id);
}
public static IErrorState getErrorState(String name) {
return stateNames.get(name);
}
public static Set<IErrorState> getErrorStates() {
return stateView;
}
@SideOnly(Side.CLIENT)
public static void initIcons(IIconRegister register) {
for (IErrorState code : states.values()) {
code.registerIcons(register);
}
}
}

View file

@ -1,52 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Forestry's API is divided into several subcategories to make it easier to understand.
*
* If you need to distribute API files, try to only include the parts you are actually
* using to minimize conflicts due to API changes.
*
* .core - Miscallenous base classes and interfaces as well as some basics for tools, armor, game modes and stuff needed by biome mods.
* .fuels - Managers and classes to facilitate adding fuels to various engines and machines.
* .recipes - Managers and helpers to facilitate adding new recipes to various machines.
* .storage - Managers, events and interfaces for defining new backpacks and handling backpack behaviour.
* .mail - Anything related to handling letters and adding new mail carrier systems.
* .genetics - Shared code for all genetic subclasses.
* \ .apiculture - Bees.
* \ .arboriculture - Trees.
* \ .lepidopterology - Butterflies.
*
* Note that if Forestry is not present, all these references will be null.
*/
public class ForestryAPI {
/**
* The main mod instance for Forestry.
*/
public static Object instance;
/**
* A {@link ITextureManager} needed for some things in the API.
*/
@SideOnly(Side.CLIENT)
public static ITextureManager textureManager;
/**
* The currently active {@link IGameMode}.
*/
public static IGameMode activeMode;
/**
* Provides information on certain Forestry constants (Villager IDs, Chest gen keys, etc)
*/
public static IForestryConstants forestryConstants;
}

View file

@ -1,60 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.entity.player.EntityPlayer;
import com.mojang.authlib.GameProfile;
import cpw.mods.fml.common.eventhandler.Event;
import forestry.api.genetics.IAlleleSpecies;
import forestry.api.genetics.IBreedingTracker;
import forestry.api.genetics.IMutation;
import forestry.api.genetics.ISpeciesRoot;
public abstract class ForestryEvent extends Event {
private static abstract class BreedingEvent extends ForestryEvent {
public final ISpeciesRoot root;
public final IBreedingTracker tracker;
public final GameProfile username;
private BreedingEvent(ISpeciesRoot root, GameProfile username, IBreedingTracker tracker) {
super();
this.root = root;
this.username = username;
this.tracker = tracker;
}
}
public static class SpeciesDiscovered extends BreedingEvent {
public final IAlleleSpecies species;
public SpeciesDiscovered(ISpeciesRoot root, GameProfile username, IAlleleSpecies species, IBreedingTracker tracker) {
super(root, username, tracker);
this.species = species;
}
}
public static class MutationDiscovered extends BreedingEvent {
public final IMutation allele;
public MutationDiscovered(ISpeciesRoot root, GameProfile username, IMutation allele, IBreedingTracker tracker) {
super(root, username, tracker);
this.allele = allele;
}
}
public static class SyncedBreedingTracker extends ForestryEvent {
public final IBreedingTracker tracker;
public final EntityPlayer player;
public SyncedBreedingTracker(IBreedingTracker tracker, EntityPlayer player) {
super();
this.tracker = tracker;
this.player = player;
}
}
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
public interface IArmorNaturalist {
/**
* Called when the naturalist's armor acts as spectacles for seeing pollinated tree leaves/flowers.
*
* @param player
* Player doing the viewing
* @param armor
* Armor item
* @param doSee
* Whether or not to actually do the side effects of viewing
* @return true if the armor actually allows the player to see pollination.
*/
public boolean canSeePollination(EntityPlayer player, ItemStack armor, boolean doSee);
}

View file

@ -1,41 +0,0 @@
/*
*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
*******************************************************************************
*/
package forestry.api.core;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
*
* @author CovertJaguar <http://www.railcraft.info/>
*/
public interface IErrorState {
short getID();
String getUniqueName();
String getDescription();
String getHelp();
@SideOnly(Side.CLIENT)
void registerIcons(IIconRegister register);
@SideOnly(value = Side.CLIENT)
IIcon getIcon();
}

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
public interface IForestryConstants {
/**
* @return The villager ID for the Apiarist Villager.
*/
public int getApicultureVillagerID();
/**
* @return The villager ID for the Arborist Villager.
*/
public int getArboricultureVillagerID();
/**
* @return The ChestGenHooks key for adding items to the Forestry Villager chest.
*/
public String getVillagerChestGenKey();
}

View file

@ -1,41 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.item.ItemStack;
public interface IGameMode {
/**
* @return Human-readable identifier for the game mode. (i.e. 'EASY', 'NORMAL', 'HARD')
*/
String getIdentifier();
/**
* @param ident Identifier for the setting. (See the gamemode config.)
* @return Value of the requested setting, false if unknown setting.
*/
boolean getBooleanSetting(String ident);
/**
* @param ident Identifier for the setting. (See the gamemode config.)
* @return Value of the requested setting, 0 if unknown setting.
*/
int getIntegerSetting(String ident);
/**
* @param ident Identifier for the setting. (See the gamemode config.)
* @return Value of the requested setting, 0 if unknown setting.
*/
float getFloatSetting(String ident);
/**
* @param ident Identifier for the setting. (See the gamemode config.)
* @return Value of the requested setting, an itemstack containing an apple if unknown setting.
*/
ItemStack getStackSetting(String ident);
}

View file

@ -1,25 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* Provides icons, needed in some interfaces, most notably for bees and trees.
*/
public interface IIconProvider {
@SideOnly(Side.CLIENT)
IIcon getIcon(short texUID);
@SideOnly(Side.CLIENT)
void registerIcons(IIconRegister register);
}

View file

@ -1,14 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.nbt.NBTTagCompound;
public interface INBTTagable {
void readFromNBT(NBTTagCompound nbttagcompound);
void writeToNBT(NBTTagCompound nbttagcompound);
}

View file

@ -1,20 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
public interface IStructureLogic extends INBTTagable {
/**
* @return String unique to the type of structure controlled by this structure logic.
*/
String getTypeUID();
/**
* Called by {@link ITileStructure}'s validateStructure().
*/
void validateStructure();
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.util.IIcon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public interface ITextureManager {
void registerIconProvider(IIconProvider provider);
IIcon getIcon(short texUID);
IIcon getDefault(String ident);
}

View file

@ -1,63 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.tileentity.TileEntity;
/**
* The basis for multiblock components.
*/
public interface ITileStructure {
/**
* @return String unique to the type of structure controlled by this structure logic. Should map to {@link IStructureLogic}
*/
String getTypeUID();
/**
* Should map to {@link IStructureLogic}
*/
void validateStructure();
/**
* Called when the structure resets.
*/
void onStructureReset();
/**
* @return TileEntity that is the master in this structure, null if no structure exists.
*/
ITileStructure getCentralTE();
/**
* Called to set the master TileEntity. Implementing TileEntity should keep track of the master's coordinates, not refer to the TE object itself.
*
* @param tile
*/
void setCentralTE(TileEntity tile);
/**
* @return ISidedInventory representing the inventory accessed from this block.
*/
ISidedInventory getStructureInventory();
/**
* Only called on Forestry's own blocks.
*/
void makeMaster();
/**
* @return true if this TE is the master in a structure, false otherwise.
*/
boolean isMaster();
/**
* @return true if the TE is master or has a master.
*/
boolean isIntegratedIntoStructure();
}

View file

@ -1,54 +0,0 @@
/*******************************************************************************
* Copyright (c) 2011-2014 SirSengir.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Various Contributors including, but not limited to:
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
******************************************************************************/
package forestry.api.core;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
/**
* Taken from BuildCraft 5.0.x
*/
public interface IToolPipette {
/**
* @param pipette
* ItemStack of the pipette.
* @return Capacity of the pipette.
*/
int getCapacity(ItemStack pipette);
/**
* @param pipette
* @return true if the pipette can pipette.
*/
boolean canPipette(ItemStack pipette);
/**
* Fills the pipette with the given liquid stack.
*
* @param pipette
* @param liquid
* @param doFill
* @return Amount of liquid used in filling the pipette.
*/
int fill(ItemStack pipette, FluidStack liquid, boolean doFill);
/**
* Drains liquid from the pipette
*
* @param pipette
* @param maxDrain
* @param doDrain
* @return Fluid stack representing the liquid and amount drained from the pipette.
*/
FluidStack drain(ItemStack pipette, int maxDrain, boolean doDrain);
}

View file

@ -1,13 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
/**
* Marks a tool as a scoop.
*/
public interface IToolScoop {
}

View file

@ -1,19 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.core;
import net.minecraft.creativetab.CreativeTabs;
/**
* References to the specialised tabs added by Forestry to creative inventory.
*/
public class Tabs {
public static CreativeTabs tabApiculture;
public static CreativeTabs tabArboriculture;
public static CreativeTabs tabLepidopterology;
}

View file

@ -1,8 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
@API(apiVersion="3.0.0", owner="Forestry", provides="ForestryAPI|core")
package forestry.api.core;
import cpw.mods.fml.common.API;

View file

@ -1,20 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.farming;
import java.util.Collection;
import java.util.HashMap;
public class Farmables {
/**
* Can be used to add IFarmables to some of the vanilla farm logics.
*
* Identifiers: farmArboreal farmWheat farmGourd farmInfernal farmPoales farmSucculentes farmVegetables farmShroom
*/
public static HashMap<String, Collection<IFarmable>> farmables = new HashMap<String, Collection<IFarmable>>();
public static IFarmInterface farmInterface;
}

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.farming;
import java.util.Collection;
import net.minecraft.item.ItemStack;
public interface ICrop {
/**
* Harvests this crop. Performs the necessary manipulations to set the crop into a "harvested" state.
*
* @return Products harvested.
*/
Collection<ItemStack> harvest();
}

View file

@ -1,17 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.farming;
import forestry.api.core.ITileStructure;
public interface IFarmComponent extends ITileStructure {
boolean hasFunction();
void registerListener(IFarmListener listener);
void removeListener(IFarmListener listener);
}

View file

@ -1,74 +0,0 @@
/*******************************************************************************
* Copyright 2011-2014 SirSengir
*
* This work (the API) is licensed under the "MIT" License, see LICENSE.txt for details.
******************************************************************************/
package forestry.api.farming;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
public interface IFarmHousing {
int[] getCoords();
int[] getArea();
int[] getOffset();
World getWorld();
/**
* Will run the work cycle on a master TE. Will do nothing on any other farm component.
*
* @return true if any work was done, false otherwise.
*/
boolean doWork();
boolean hasLiquid(FluidStack liquid);
void removeLiquid(FluidStack liquid);
boolean hasResources(ItemStack[] resources);
void removeResources(ItemStack[] resources);
/**
* Callback for {@link IFarmLogic}s to plant a sapling, seed, germling, stem. Will remove the appropriate germling from the farm's inventory. It's up to the
* logic to only call this on a valid location.
*
* @param farmable
* @param world
* @param x
* @param y
* @param z
* @return true if planting was successful, false otherwise.
*/
boolean plantGermling(IFarmable farmable, World world, int x, int y, int z);
/* INTERACTION WITH HATCHES */
boolean acceptsAsGermling(ItemStack itemstack);
boolean acceptsAsResource(ItemStack itemstack);
boolean acceptsAsFertilizer(ItemStack itemstack);
/* LOGIC */
/**
* Set a farm logic for the given direction. UP/DOWN/UNKNOWN are invalid!
*
* @param direction
* @param logic
*/
void setFarmLogic(ForgeDirection direction, IFarmLogic logic);
/**
* Reset the farm logic for the given direction to default. UP/DOWN/UNKNOWN are invalid!
*
* @param direction
*/
void resetFarmLogic(ForgeDirection direction);
}

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