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
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.
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.
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.