Fzzy Core

Welcome to the world of Fzzy Core! This is a fundamental library that serves as the foundation for various Kotlin mods created by developer fzzyhmstrs. In addition to providing useful tools for creating diverse modifications, Fzzy Core includes a powerful modifier system capable of altering almost any aspects of the game!
Detailed KDoc documentation is available in the source code for developer convenience. Work is also underway to create a comprehensive wiki!
Fzzy Core is currently only available for Fabric. Porting to Forge is not planned.
Fzzy Core is part of a project to split Amethyst Core into more specialized components. This mod serves as the base for other APIs in my catalog (for example, Amethyst Core for magic mods).
Development Tools
Fzzy Core offers a set of useful utilities that significantly simplify the mod creation process:
- Base enchantment class with simple integration into configuration system for enabling/disabling individual enchantments
- Text wrapper that solves compatibility issues between versions and avoids merge conflicts
- Persistent effect system for creating delayed and repeating events not tied to specific objects
- Client-side particle creation system at specific points in player's view
Synchronized Configuration System
Create convenient configuration systems with version control and automatic synchronization between server and clients:
- Utilizes Kotlin's unique capabilities for clean and simple code
- Automatic configuration file updates with data preservation from old versions
- Simple implementation of automatic synchronization functions
Items with Additional Descriptions
Add regular and tool items with additional text styling:
- Basic implementation through adding strings to language files
- Additional methods for more complex text styling
- Ability to add descriptive texts to explain functionality
Mana Items
Simple framework for creating items that use mana instead of standard durability.
Modifier Framework
The modifier system represents a flexible and extensible alternative to the standard enchanting system. It solves two main problems of enchantments: their easy removal and limited functionality. Modifiers also offer a more interesting leveling system.
- Modifiers are permanent and cannot be removed by grindstones
- Functionality implemented as a unified whole rather than fragmented
- Hierarchical level system with thematic names
The library includes built-in methods for displaying modifiers. Example tooltip demonstrating modifiers in gold text.
The modifier system can be used for a wide variety of purposes. For example, Amethyst Core includes AugmentModifier that affects mana cost, cooldown time, spell damage and can activate complex effects.
Modifiers can be as simple as containers for standard attribute modifiers, extremely complex systems, or used exclusively for decorative purposes.
NBT Utilities
Fzzy Core includes simple tools for working with NBT:
- Reading and writing BlockPos using a single method
- Various utilities for working with NBT lists
- Unique identifier system for items
- Method for transferring NBT between item stacks
Raycasting Utilities
Set of helper methods for finding objects:
- Server-side raycasting without complex network logic
- Methods for working with entities, blocks and finding objects in areas
- Checking entities in arbitrarily oriented cuboids
Event Registry
System for adding and tracking periodic events:
- Creating timers that trigger at specific intervals
- Built-in timers with 1, 1.5 and 2 second intervals
- Interfaces for registering objects in the registry
Item Model Registry
Create custom models for items with different display modes:
- Model registration for different situations (in hand, on ground, etc.)
- Integration with standard Fabric rendering systems
Effect Queue
Solves the problem of status effects "fighting" in the interface:
- Organizes passive effect additions in predictable order
- Uses standard status effect information
Accessory Utilities
Additional integration with Trinkets mod:
- Getting list of all equipped accessories
- Interfaces for creating accessories with special abilities