Commit graph

62 commits

Author SHA1 Message Date
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
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 77e5beb9e1 Fully remove old LogHelper usage 2018-03-17 17:18:20 -07: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
Nicholas Ignoffo 0dd0854bd9 Move all SysOut references to debug logging 2018-03-01 18:23:56 -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 f89b5a005a Logging for plugin gathering
Moved spammy API stuff to a separate logger
2018-02-17 09:48:17 -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 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 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 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 37ec0582eb Fixed the last of the model errors 2017-08-16 16:39:57 -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 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 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 ed27873fbe It runs! 2017-01-02 00:10:28 -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
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 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 d1455920ec Rewrite Meteor system to be fully json (#914)
Also cleans up some other JSON stuff
2016-09-12 19:54:46 -07:00
Nicholas Ignoffo 24b4c4b8d1 Made all item fields final 2016-09-10 17:04:24 -07: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
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
WayofTime 9b64e2a2f6 More tests with dungeon generation 2016-08-20 17:16:07 -04:00
Nicholas Ignoffo ab73edf5d3 Add a proxy system for better cross-version compat (#831) 2016-07-07 17:52:47 -07:00
Nicholas Ignoffo 4af15fc059 Move Bucket over to Forge system 2016-06-05 12:31:35 -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
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
WayofTime 134b11f177 Normalized code formatting. 2016-03-16 18:41:06 -04:00
Nick d9e9a4704a Debug commands
Not fully tested. The ones tested do work, though.
2016-03-14 19:00:03 -07: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 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 58e51b9d51 Move IMC handling to it's own class 2016-02-15 15:01:03 -08:00
Nick 007e415c36 Add IMC support for some API methods 2016-01-30 14:58:37 -08:00
WayofTime 574c995865 Added a bit of framework for the incense system. 2016-01-23 16:25:39 -05: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
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
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
WayofTime ebdf85182c Added upgrade tomes to a separate creative tab. 2016-01-09 22:20:59 -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 34335d66cc Added Living Armour stat tracker for movement. Implemented necessary methods for the armour. 2016-01-02 22:04:51 -05:00
Arcaratus a8a0ae6e8b Teleposers and refractoring 2016-01-01 12:08:17 -05:00
WayofTime e48eedb874 Changed formatting to have bracing on a new line 2015-12-30 15:34:40 -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
WayofTime 7b69251713 Added shaped/shapeless orb recipes. 2015-12-29 18:30:36 -05:00