Links
Tags
Creators
Details
Licensed LGPL-3.0-only
Published 2 months ago
Updated 2 weeks ago
All versions
2.0.1
Release
ChatSphere 2.0.12 months ago 29
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client-side
Server-side
Client and server
Changes
2.0.1
Added
- Right-click context menu: Block Messages from a player
- BlockListScreen — manage blocked players (click to unblock), blur background
- Online status indicator — green/gray dot in private chat header, sidebar, and member list
- Banned words library — server-side regex filtering in SEND_CHAT handler
- Skin cache refresh button in settings UI
- Context menu type system (CTX_BUBBLE) for future extensibility
Changed
- Context menu: now only activates on bubble hit area, third option "Block Messages" added
- PlayerSkinCache: network I/O moved to background thread;
pendingFetchesremoval after successful cache drawContextMenu/handleContextMenuClickusecontextTypeinstead of rawcontextMsgIndex- Skin config screen: "Refresh Skin Cache" button added
- Duplicate message "xN" label no longer shifts own message bubble position
- Translation: blocklist empty state text corrected
Fixed
- Channel config not persisting after
applyServerChannels()— missingloaded = true - Reply/quote data not transmitted over network — missing fields in 3 payload classes
- "N new messages" bar scrolled to top instead of bottom — reversed scroll direction
- Skin race condition causing duplicate fetches —
pendingFetches.remove()before cache populated - Server crash on startup —
ModNetworkSetupreading client config on server side - Duplicate-detected own message bubbles shifted left —
dupWwrongly subtracted frombubbleX
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:rbuDt8Bs:qWDfKCXj"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:rbuDt8Bs:qWDfKCXj"
}

