# This version brings Breaking Changes.
## Updating might make your mod incompatible with previous versions of the Library.
# 2.0.0
## Added
### Variant Loader
* Added a fallback variant parameter to getParameterDataFromVariant, allowing shared data to be centralized in a single JSON instead of duplicating it per variant.
* Reworked the entire Loading system to have the Events on the Library side and allow Developers to just inject the path and entities.
* Instead of handling everything themself.
* All Developers can now remove their `ReloadHandler` since it became redundant and has been replaced with a way cleaner and more optimized system.
* For more details, visit the [Wiki](https://github.com/MeAlam1/BlueLib/wiki/Getting-Started-(Variant-Loader)).
* `onReload` has been modified to `onDatapackSync`.
### Logging
* Added a new `/log` command accessible to users with a permission level of 3 or higher (`/op`).
* This command opens an in-game menu displaying console logs, allowing developers to monitor output directly without needing terminal access.
* Supports log levels with color-coded formatting for easier readability.
* `isLoggingEnabled` has been moved to a server sided config.
* All Logging is now translatable through Minecrafts Component System!
* Added a ton more ways to Log stuff to match the `slf4j` system.
### Network Handler
* Introduced a streamlined network registration system.
* Simplifies the use of custom packets by automatically handling registration internally via BlueLib.
* Packet definitions and handlers are now separated into two distinct classes for better structure and maintainability.
* For more details, visit the [Wiki](https://github.com/MeAlam1/BlueLib/wiki/Getting-Started-(Network)).
### Packets
**Variant Data Synchronization**
* `AllDataPacket` – Sends a `Map<String, JsonObject>` containing all variant data from the server to the client.
* `ParameterDataPacket` – Sends specific parameter data for a given variant as a `JsonElement`.
* `VariantsPacket` – Sends a `Set<String>` representing all available variant identifiers for an entity.
⚠️ ***These packets are not registered by default; they must be registered on the S2C side, with the handler provided as a lambda defining the logic to execute when the packet is received.***⚠️
## Changed
* `onReload` has been modified to `onDatapackSync`.
## Bug Fixes
* Cleaned up all of the Logging we had in place.
## Deleted
* Removed `IVariantEntityBase` since it has become redundant!
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }