* 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
The old access to IBloodMagicRecipeRegistrar still exists, but should not
be used so mods like CraftTweaker can do their thing.
This commit also introduces @BloodMagicPlugin.Inject which will inject the
active API instance into an annotated field with the API interface as it's
type. These fields are populated during pre init.
Rewrites the crafting recipe portion of alchemy arrays. Currently the rewritten
portion is wrapped in the old stuff. Ideally the remaining old stuff will
be rewritten as well.
Mods who wish to do custom array effects still need to depend on internal
classes and I think this is fine.
The new one is now built for the api jar and the old one is now internal.
It will slowly be moved around to sane places within the internal code. Most
of the features provided in the old "api" are addon specific features which
will generally rely on the main jar anyways. The new API will be specific
to compatibility features, such as blacklists, recipes, and value modification.
All old configs must be deleted for this to work properly. Since the rest
of the update is filled with world breaking changes, this should be fine.
Also some mapping updates
(cherry picked from commit d587a8c)
Create a class that implements IBloodMagicPlugin and annotate it with
`@BloodMagicPlugin`. The `register` method will be called during init.
Currently implemented systems:
- Blacklisting
- Teleposer
- Teleposer (entity)
- Transposition
- Well of Suffering
- Green Grove
- Setting sacrificial values
- Adding altar components
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