* 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.
Update things
Fix some more things
Update once more
Refactoring and removing unnecessary null checks
Woops
Fix
Nother fix
Moar fix
Fix imports
Update ItemBindable.java
BM will now only load with Forge 1840+ as that is the version that PIE was re-implemented. Set dependency to avoid crashes. Also updated JEI version so it wouldn't crash with new Forge.