Tags
Creators
Details
1.0.3-beta.2+1.21.1
Compatibility
Changes
feat: promoted and user-pinned servers on vanilla multiplayer (#7)
- feat(multiplayer): promoted servers pinned atop vanilla JoinMultiplayerScreen
- ServerBrowser (version-independent Kotlin): async fetch of GET /api/v1/launcher/servers, ordering (user-pinned -> promoted -> rest), address dedup, hide/pin decisions
- ServerBrowserPrefs: persistent hidden-promoted ids + pinned addresses (fpsmaster/server_browser.json)
- MixinServerSelectionList: swaps the updateOnlineServers data source for the arranged order; promoted rows are real OnlineServerEntry objects and never enter servers.dat
- MixinJoinMultiplayerScreen: async refresh on init, Pin/Unpin button for player servers, delete on a promoted row hides it locally, edit disabled on promoted rows
- MixinServerSelectionListEntry: gold Featured / aqua Pinned row badges
- registered in all six mixin configs; lang entries en_us/zh_cn
Co-authored-by: Gao Yu gaoyu06@users.noreply.github.com
- feat(multiplayer): smoke evidence hooks + protected-entry cast fix
- cast badge coordinates through the public ServerSelectionList.Entry (AbstractSelectionList.Entry is a protected nested class on 1.21.11+)
- Smoke.mixin/feature evidence on screen init, list arrange and badge draw (repo smoke pattern)
Co-authored-by: Gao Yu gaoyu06@users.noreply.github.com
Co-authored-by: Cursor Agent cursoragent@cursor.com Co-authored-by: Gao Yu gaoyu06@users.noreply.github.com
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:EYsVyax4:tmvcvXAl"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:EYsVyax4:tmvcvXAl"
}

