All versions
1.2.0
Release
BetterRewards 1.2.0last month 6
Compatibility
Minecraft: Java Edition
1.16.5
Platform
Forge
Supported environments
Client and server
Changes
Changelog
v1.2.0 ā Security & Stability Update
Security
- HWID bypass fix: HWID is no longer generated client-side. Replaced with a server-side composite fingerprint (SHA-256 of session salt + hardware HMAC + IP) that cannot be spoofed by the player
- Anti-multiaccounting: Added hardware fingerprinting via
FingerprintManagerā collects CPU, MAC address, OS, and JVM info and computes HMAC-SHA256 using a server-provided salt. Creating a new account is no longer sufficient to redeem a code again - Session salt system: The server sends a random 32-byte salt to each player on login. Without it, no valid redemption packet can be sent
Bug Fixes
- Custom codes tripling:
load()was callingadd()withoutclear()first ā on servers with Overworld, Nether, and End dimensions, every custom code appeared 3 times. Fixed - Incomplete
deleteAllCodesreset: After deleting all codes and recreating the same code, players who had previously redeemed it remained blocked.redeemedByUUIDandredeemedByFingerprintare now cleared as well - NPE on early command: If a player ran
/promobefore the world finished loading,save()would crash with aNullPointerExceptionondataFile.toFile(). Fixed using a sentinel path value
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:FBR8weIr:cDbnSmkp"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:FBR8weIr:cDbnSmkp"
}

