Welcome to Amethyst Core, a library mod focused on building magically-themed mods! It currently powers Amethyst Imbuement and other upcoming mods in that family. While being magically themed, this library has a lot of other functionality too!
See the wiki for more details, as well as the KDoc within the source.
Amethyst core is currently for Fabric. No port to Forge is planned at this time.
There is a lot you can do with Amethyst Core, including but not limited to:
- Implementing your own Modifier System; a parallel alternative to Minecraft's Enchantment system
- Creating extensions for Amethyst Imbuement
- Creating distinct magic mods that have compatibility with Amethyst Imbuement
- Implementing a consistent and auto-syncing configuration system
- Building a magical wand with any number of abilities
- Building modular Trinkets
- Easily registering custom item models a la the Trident
- Registering to a ticking Event Registry
- Building and registering additions to loot tables easily
- Spawn particles that track the player and visually appear where desired on the player's screen
- Register persistent effects that you want to trigger over time without needing to track the effect within custom ticking code
And much more!
Modifiers
The Modifier Framework is a flexible and extensible system designed as a parallel to the vanilla Enchanting system. Modifiers aim to solve two of the biggest problems I found with Enchanting: They are easily removable, and they do not internalize their functionality (besides a couple damage methods). Enchantments are also more boring than they could be, displaying their tier with a simple number. Modifiers aim to fix all of those issues!
- Modifiers are designed to be permanent, acting more like affixes. Grindstones can't remove them, for example.
- Modifiers internalize their functions, and can be called as one unit rather than piecemeal.
- Modifiers act via a "family tree" that allow for flavorful tiers. Think of a sword going from "Rusty" to "Shiny" to "Gleaming" etc.
The library comes with builtin helper method for displaying modifiers
See the wiki link above for more details on these features. Once implemented, a Modifier system can do just about anything. Amethyst Cores built-in AugmentModifier does things from affecting mana cost and cooldown, to changing spell damage or range, to even triggering advanced effects like afflicting every mob in a 12 block radius around the caster with Wither upon any successful spell cast.
Modifers can be as simple as a container for passing vanilla AttributeModifiers, or much more complex than the AugmentModifier described above. They could even be used purely for flavor if desired!
Magic Mod Utilities
Amethyst Core contains everything you need to develop a magic-themed mod in the style of Amethyst Imbuement. The library, however, does not include any crafting or progression systems. This is up to you! You can either follow along exactly how Amethyst Imbuement does, with imbuing recipes, and tiered augments in scepters, or craft your own unique systems. Blood rituals maybe? Nature-themed magic? Sky's the limit.
Scepters
A framework for building a wide array of Amethyst Imbuement style Scepters is included, from the most barebones AbstractScepterItem you can take almost any direction, to a DefaultScepterItem that is almost fully implemented for creating an Amethyst Imbuement compatible Scepter(s) of your own.
Augments
Build enhanced enchantments either for use with Scepters, or for adding to trinkets and equipment. Utilities for advanced functionality like passive ticking effects, effects on equip, etc.
Trinkets
Utilities for building Trinket compatible items that can utilize the Augment system. As seen in Amethyst Imbuement, this allows for modular trinkets and items that aren't limited to predefined benefits.
Mana-based Items
Interfaces and utilities for developing an item that uses "mana" instead of durability. Items won't break at minimum durability, they can be easily "healed" and there is a Helper for auto-healing (mana regeneration). Items can also be checked to see if a certain action is possible with the current mana in the item.
And Much More!
Look through the wiki and source code documentation for all that Amethyst Core has to offer!