Tags
Creators
Details
All versions
1.8
Release
FPSFlow 1.83 months ago 90
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Fabric
Supported environments
Client-side
Required content
Any compatible version
Changes
[1.8.0]
Changed
- Configurable Java target — The Java version is no longer hardcoded in
build.gradle.kts. It is now read from thejava_versionproperty ingradle.properties(default:21). Setjava_version=25to build with Java 25. The Mixin compatibility level (JAVA_21/JAVA_25) and theremapJarclassifier (mc1.21.11-java21/mc1.21.11-java25) are derived automatically from this value — nothing is hardcoded. - Removed broken Java 21 / Java 25 multi-target build — The previous
targetJavaVersionswitch that attempted to produce separate artifacts for different Minecraft generations never functioned correctly. The build now uses a single, configurable Java version. - Removed Java 25 properties from
gradle.properties— Theminecraft_version_java25,yarn_mappings_java25,loader_version_java25,fabric_version_java25, andmodmenu_version_java25properties have been removed. All builds now use the single set of Fabric properties. - Simplified
build.gradle.kts— Dead code removed, all comments translated to English, ModMenu removed from compile-time dependencies. The integration class now uses a matching method signature that ModMenu calls via reflection, eliminating the compile-time dependency that caused build failures when ModMenu artifacts were unavailable. - Fixed TerraformersMC Maven repository URL — Changed from
https://terraformersmc.comtohttps://maven.terraformersmc.comfor correct dependency resolution. - Improved
fabric.mod.json— Description updated to match the Modrinth page;fabricloaderandfabric-apidependency minimums tightened to>=0.19.3and>=0.141.4respectively. - Updated
how_to_build.md— Rewritten for the single configurable Java build path; references to the removedbuildJava21/buildJava25tasks eliminated. - Updated
settings.gradle.kts— Removed version lock for fabric-loom and simplified plugin repository configuration. - Fabric API version corrected — Changed from
0.19.3+26.2(invalid) to0.141.4+1.21.11(correct for MC 1.21.11). - Build verified with Java 25 — Successfully compiled and remapped
fpsflow-1.8.0-mc1.21.11-java25.jar. - Version migration guide — Added
VERSION_MIGRATION.mddocumenting short-term (Yarn) and long-term (Mojang mappings) strategies.
Fixed
- ModMenu integration was broken —
FPSFlowModMenuIntegration.createConfigScreen()returnednull, causing aNullPointerExceptionwhen a player clicked the Config button in ModMenu. The class now properly implementsModMenuFactoryand returns aFPSFlowConfigScreeninstance. - Duplicate translation keys in
en_us.jsonandde_de.json— Theentity_lodanditem_framekey blocks were duplicated, with the first occurrence silently overwritten by the second. All duplicate blocks have been merged into single, complete entries. - Missing translation keys — Added
entity_culling.painting_backface_culling,entity_culling.painting_backface_culling.tooltip, andnameplate_culling.enabled.tooltipto both language files. These keys were referenced by the config screen but had no translations, causing fallback to the raw key string. - Dead variable in
settings.gradle.kts— ThemcVersionvariable was read from Gradle properties but never used in thefabric-loomresolution strategy. Removed.
Removed
i18n_pending_keys.txtandREADME_UI_KEYS.txt— These development artifacts tracked missing translation keys. All keys are now present in both language files, so these files are no longer needed.gradlewandgradle/wrapper/— The Gradle wrapper is unnecessary when Gradle is installed system-wide. Users can build directly withgradle build.- Yarn OFFICIAL mapping mode — Temporarily removed; Loom 1.17.3 requires explicit Yarn mappings.
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:ayg7iYUG:DuGob3d1"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ayg7iYUG:DuGob3d1"
}
