All versions
1.0.2
Release
SG-Economy API 1.0.28 months ago 2,001
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client and server
Changes
Changelog
[1.0.2] - 2026-02-10
Added
- EconomyEventServiceImpl as the central implementation of economy logic.
- EconomyServices as the single access point for economy services.
- CoinsBagRepository to encapsulate coin capability read/write operations.
- Additional validation (e.g. negative amounts) and logging for errors and key operations.
- SGNetwork helper to centralize and simplify networking and payload registration.
- SyncServerConfigS2C payload for server-to-client configuration synchronization.
- ServerConfigSync and ServerConfigSyncEvents to send server config to clients on bake and player login.
- ClientSyncedConfig to store and apply client-side synced configuration, used by
EconomyEventServiceImpl.
Changed
- Major refactor of the Economy API.
- Consolidated provider interfaces into
net.sirgrantd.sg_economy.api.EconomyEventProvider. - Updated all consumers (commands, events, GUI, examples, and mod initialization) to use the new API.
- Adjusted death and balance logic to rely on the central service layer.
- Refactored network layer and server config synchronization flow.
- Moved payload registration out of
SGEconomyModintoSGNetwork. - Updated
CoinsBagCapabilitiesto register its payload viaSGNetwork. - Simplified
SGEconomyMod(network registration, message registration, removal of thread-group check for queued work). - Miscellaneous import cleanup and code formatting improvements.
Removed
- Legacy economy/event/provider classes.
- Old Default and Death providers.
CurrencyUtils.
Fixed
- Consistent error handling for balance operations.
- Prevention of invalid operations (e.g. negative values).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:pZEK2gvF:eL62Qlkq"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:pZEK2gvF:eL62Qlkq"
}

