
Welcome to Fzzy Core! This is the base API that powers some kotlin mods made by fzzyhmstrs (that's me!). Besides offering some basic utility functions that come in handy for many different types of mods, Fzzy Core includes the basic framework of the Modifier System, a flexible and powerful system for modifying… almost anything!
Fzzy Core has KDoc integrated into the source for guidance on use. I'm also working on creating a wiki!
Fzzy Core is currently for Fabric. No port to Forge is planned at this time.
Fzzy Core is part of my project to split Amethyst Core into more functional component parts. This mod is the base of those parts, other APIs in my catalog build upon this base (like Amethyst Core for magic mods)
Fzzy core contains several utilities that make coding mods just a bit easier! These utilities include:
Create an easy-to-manage config system that allows for version control over time, and automatically syncs server configs to joining clients!
Add basic or tool items with flavortext!
Adds a simple framework for creating items that use mana instead of being damaged in the typical way.
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!
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 Core, for example_,_ has a built-in AugmentModifier that does things from affecting mana cost and cooldown, to changing spell damage or range, to 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!
Fzzy Core includes a simple util for performing some useful actions on NBT
A simple set of helper methods for locating objects
* Server-sided raycasting for detection of game objects without needing to do fancy networking
* Helper methods for entities, blocks, and locating things in areas around a point (like a player)
* Ability to check for entities with arbitrarily rotated cuboids. Minecraft's default detection systems all use boxes aligned to the XYZ grid. This is useful for something like checking what enemies a spell hits, even if the player is looking diagonally and up a hill.
Registry for adding and tracking basic ticking objects not related to specific objects like entities.
Want to make a custom trident but can't figure out how in heck to make the in-hand Trident appear like MC's does? This registry is for you!
Hate how adding passive status effects sometimes results in statuses "fighting" in the GUI, with statuses rapidly swapping back and forth?
undefined
Fzzy Core integrates optionally with Trinkets, adding some utility functions that can be used with them
No files available for download.