Describe the bug
Game crashes on startup when the system/JVM default locale is Turkish (tr_TR).
The crash happens during eclipsestweakeroo's client init, in ToggleManager ,
which fails with an IdentifierException.
Root cause: somewhere a config/tweak name (likely containing "Info") is being lowercased
with .toLowerCase() using the default JVM locale instead of Locale.ROOT. Under Turkish
locale rules, "I".toLowerCase() produces the dotless "ı" (U+0131) instead of "i". This
character is not valid in a Minecraft Identifier path ([a-z0-9/._-] only), so
Identifier.assertValidPath throws and the whole client fails to initialize.
Stack trace excerpt:
Caused by: net.minecraft.IdentifierException: Non [a-z0-9/._-] character in path of location:
eclipsestweakeroo:tweak_player_ınfo_notifications
at EclipsesTweakeroo.getModdedIdentifier(EclipsesTweakeroo.java:41)
at EclipsesConfigs.getCommentTranslationKey(EclipsesConfigs.java:86)
at EclipsesTweaksConfig.create(EclipsesTweaksConfig.java:39)
at EclipsesTweaksConfig.(EclipsesTweaksConfig.java:24)
Likely fix: use .toLowerCase(Locale.ROOT) instead of .toLowerCase() wherever tweak/config
names are converted into identifier paths (EclipsesConfigs.getCommentTranslationKey and
EclipsesTweakeroo.getModdedIdentifier look like the relevant spots).
To Reproduce
- Set system/JVM locale to Turkish (tr_TR) — e.g. Linux with system language set to Turkish.
- Launch Minecraft with Eclipse's Tweakeroo Additions installed.
- Game crashes during client init, before the main menu loads.
Expected behavior
The mod should initialize normally regardless of system locale.
Screenshots/logs
latest.log
crash-2026-08-16_19.28.06-client.txt
Minecraft setup
- Minecraft version: 26.2
- Fabric loader version: 0.19.3
- Eclipse's Tweakeroo Additions version: 0.7.5-26.2
- Tweakeroo version: 0.29.2
- Malilib version: 0.29.3
- Other relevant info: Java 25.0.3 (Azul Zulu), OS: Linux, system locale tr_TR
Additional context
This is a known JVM pitfall ("Turkish I problem") — using String.toLowerCase() without
specifying Locale.ROOT breaks on tr_TR/az_AZ locales specifically. Workaround on my end:
launching with -Duser.language=en -Duser.country=US JVM args avoids the crash.
Describe the bug
Game crashes on startup when the system/JVM default locale is Turkish (tr_TR).
The crash happens during eclipsestweakeroo's client init, in ToggleManager ,
which fails with an IdentifierException.
Root cause: somewhere a config/tweak name (likely containing "Info") is being lowercased
with .toLowerCase() using the default JVM locale instead of Locale.ROOT. Under Turkish
locale rules, "I".toLowerCase() produces the dotless "ı" (U+0131) instead of "i". This
character is not valid in a Minecraft Identifier path ([a-z0-9/._-] only), so
Identifier.assertValidPath throws and the whole client fails to initialize.
Stack trace excerpt:
Caused by: net.minecraft.IdentifierException: Non [a-z0-9/._-] character in path of location:
eclipsestweakeroo:tweak_player_ınfo_notifications
at EclipsesTweakeroo.getModdedIdentifier(EclipsesTweakeroo.java:41)
at EclipsesConfigs.getCommentTranslationKey(EclipsesConfigs.java:86)
at EclipsesTweaksConfig.create(EclipsesTweaksConfig.java:39)
at EclipsesTweaksConfig.(EclipsesTweaksConfig.java:24)
Likely fix: use .toLowerCase(Locale.ROOT) instead of .toLowerCase() wherever tweak/config
names are converted into identifier paths (EclipsesConfigs.getCommentTranslationKey and
EclipsesTweakeroo.getModdedIdentifier look like the relevant spots).
To Reproduce
Expected behavior
The mod should initialize normally regardless of system locale.
Screenshots/logs
latest.log
crash-2026-08-16_19.28.06-client.txt
Minecraft setup
Additional context
This is a known JVM pitfall ("Turkish I problem") — using String.toLowerCase() without
specifying Locale.ROOT breaks on tr_TR/az_AZ locales specifically. Workaround on my end:
launching with -Duser.language=en -Duser.country=US JVM args avoids the crash.