# MagicCoins – Version 1.1.1
## Overview
Version **1.1.1** of MagicCoins focuses on structural refactoring, improved server–client configuration synchronization, and simplification of networking and GUI button handling. There are no user-facing gameplay changes, but the codebase is now more organized, extensible, and reliable.
---
## Main Changes
### 🌐 Networking and Synchronization
* Introduced **MagicNetwork**, a dedicated helper to centralize and standardize network registration.
* Migrated all message/packet registrations to use `MagicNetwork`.
* Added the **SyncServerConfigS2C** payload for synchronizing server configuration to clients.
* Introduced:
* `ServerConfigSync`
* `ServerConfigSyncEvents`
* Server configuration is now synchronized:
* When the client loads
* When a player logs in
* Added **ClientSyncedConfig** to store synchronized values on the client side.
* `ServerConfig` now automatically broadcasts configuration changes.
* `MagicCoinsApi` now reads client-synced values on the client, avoiding invalid server-side config access.
---
### 🧩 GUI and Button Refactoring
* Added the **MagicCoinsButtonAction** enum:
* Centralizes packet creation and sending logic
* Explicitly defines reusable button actions
* Updated `CustomButton` to support:
* Left-click actions
* Right-click actions
* Simplified `HandlerButton`:
* Now only delegates execution to `MagicCoinsButtonAction`
* Removed redundant handlers and duplicated logic.
---
### 🔄 Network Registration
* Replaced individual packet registration calls with unified registration via **MagicNetwork**.
* Improves readability, maintainability, and reduces the risk of inconsistencies.
---
### 📦 Dependencies
* Updated **sg_economy** dependency:
* Version bump in `build.gradle` files
* Related import and formatting updates
---
## Impact for Developers
* More modular and maintainable codebase.
* Single, consistent pattern for network communication.
* Foundation prepared for future client/server synchronization features.
* More flexible button system for extending GUI actions.
---
## Compatibility
* Compatible with existing saves.
* No manual migration steps required.
---
## Notes
This release is primarily technical and refactoring-focused. It is recommended for developers planning to extend the mod or maintain custom forks.
---
**Version:** 1.1.1
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" }