Tags
Creators
Details
Licensed MIT
Published last month
Updated yesterday
All versions
1.2.1
Release
BalancedTeam 1.2.1last month 10
Compatibility
Minecraft: Java Edition
26.3
26.2
26.1.x
1.21.x
1.20.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
Refactored (English)
- Language Architecture Decoupling:
- Decoupled the previously monolithic language system into two single-responsibility managers:
ServerLanguageManager: Exclusively manages server-side environment and console logging language, loadsserver_messages_languagefromconfig.yml, and backsPluginLogger;ClientLanguageManager: Exclusively manages player-facing localization, loads client defaultlanguagefromconfig.yml, manages language packs (lang/*.yml), player preferences persistence (data/user_languages.yml), client locale auto-detection (Player.getLocale()), fuzzy dialect matching, and/teamlangcommands;
- Completely removed the legacy
LanguageManagerclass;BalancedTeamPluginnow exposesgetServerLanguageManager()andgetClientLanguageManager().
- Decoupled the previously monolithic language system into two single-responsibility managers:
Added & Supplemented (English)
- Timezone & Duration Formatting:
- Added
timezonekey inconfig.yml(default:GMT+8), supporting standard timezone IDs (e.g.Asia/Shanghai,UTC,America/New_York); TimeUtilnow respects the server-configured timezone for all date formatting (formatDate), resolving discrepancies between client and server time displays;- Re-engineered
TimeUtil.formatDurationwith adaptive multi-tier unit display (days, hours, minutes, seconds), eliminating redundant0h 0moutputs and dynamically localizing units and spacing to each player's client language; - Standardized time displays across all console outputs, command feedback, and GUI lore items to localized duration strings rather than raw seconds.
- Added
- Server Console Logging Multilingual Expansion:
- Expanded built-in server language support from 3 (
zh_CN,zh_TW,en_US) to 7 languages, adding:- Japanese (
ja_JP) - Russian (
ru_RU) - German (
de_DE) - Spanish (
es_ES)
- Japanese (
- Added prefix fuzzy matching in
ServerLanguageManagerforja,ru,de, andes; - Added high-quality translations for all 30 console log entries in
PluginLogger; - Updated
config.ymlcomments underserver_messages_languageto enumerate all 7 built-in language codes.
- Expanded built-in server language support from 3 (
- New Language Keys:
- Added new message keys across all three language files (
zh_CN.yml,zh_TW.yml,en_US.yml):lang_not_initialized: Shown when language manager is uninitialized;lang_usage_set: Usage instructions for/teamlang set;usage_info: Usage syntax for/team info;team_list_empty: Console message when no teams exist on the server;team_list_header: Paginated header for console team list with{PAGE}and{TOTAL};team_list_item: Formatted entry for console team list with placeholders;team_list_footer: Pagination footer for console team list with{NEXT_PAGE}.
- Added new message keys across all three language files (
Improved & Fixed (English)
- Eliminated Command Hardcoded Strings:
- Completely replaced hardcoded Chinese strings in
TeamCommand(sendConsoleTeamList,handleInfo) andTeamLangCommandwith dynamic language pack lookups; - Fallback leader names and friendly-fire toggle statuses now resolve via
time_unit.unknownandstatus.on/status.off.
- Completely replaced hardcoded Chinese strings in
- Dynamic Sender-Aware Localization:
- Fixed
getMessage(...)andgetMessageList(...)invocations acrossTeamCommand,TeamAdminCommand, andTeamMsgCommandthat were missing thesender/playerargument, ensuring all command responses strictly follow each player's active language preference rather than falling back to the server default.
- Fixed
- Version Bump
1.2.0→1.2.1:pom.xmlversion bumped to1.2.1.
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:WUMjoabt:xYZsaAVm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:WUMjoabt:xYZsaAVm"
}

