Links
Tags
Creators
Details
0.0.2-Experimental
Compatibility
Changes
SulfurFun Version 0.0.2-Experimental
This update marks a major milestone in accessibility and customization. We have implemented a comprehensive localization system and significantly deepened the configuration options for the Football gamemode.
Summary
- Global Language Support: Introduced a multi-language framework using a dedicated LanguageManager.
- Unicode & Color Support: Added full UTF-8 support for special characters and integrated dynamic ChatColor translation.
- Expanded Football Logic: Added more technical parameters to the setup, including block physics and win conditions.
- Smart Placeholders: Messages now dynamically include arena names and gamemodes for better clarity.
New Features
Internationalization (i18n)
The plugin now speaks your language! The system automatically detects the client language of each player.
- Multi-Language Support: Included 12 default language files (including English, German, Russian, Chinese, and Japanese).
- Automatic Detection: The plugin reads the player's locale and delivers the appropriate message from the
languages/folder. - Color Formatting: Supports standard Minecraft color codes (
&) directly in the YAML files. - Unicode Ready: Optimized file loading using UTF-8 to support Cyrillic, Asian, and other non-Latin characters.
Gamemode: Football (Deep Configuration)
The setup process for Football has been significantly extended to provide full control over the match behavior.
- Block Physics: New steps to allow or deny block breaking and placing during matches (
yes/no). - Advanced Match Rules: * Ball Management: Define how many balls should spawn sequentially.
- Time Management: Custom game duration (minimum 10 seconds).
- Win Conditions: Define a goal limit for an instant win or rely purely on time.
- Pre-Game Logic: Adjustable countdown timer before the match starts.
Command: /deletegame <name>
A new command to safely manage your server's arenas.
- Automatic Cleanup: Deleting an arena now automatically cancels any active setup sessions for that specific arena.
- Config Sync: Seamlessly removes all arena data from the
arenas.ymland saves the changes instantly.
Technical Changes
- LanguageManager Integration: Centralized message handling, replacing hardcoded strings with a key-based lookup system.
- Constructor Injection: Updated all commands and listeners to receive the
LanguageManagerinstance, ensuring a clean and efficient data flow. - UTF-8 InputStream: Switched to a robust file reading method to prevent encoding issues across different operating systems.
Bugfixes
- Hardcoded Strings: Fixed the "placeholder vs. text" issue where raw keys were displayed in the chat instead of actual translations.
- Console Locale Errors: Implemented a fallback system for the console and non-player senders to prevent "null" messages.
- Resource Leaks: Ensured that language files are correctly exported from the JAR to the plugin folder on first run.
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:40tIkg3h:eolDzPQ9"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:40tIkg3h:eolDzPQ9"
}

