Crash while trying to open with Turkish locale in PojavLauncher even if "Force English" option is selected
EngineerDragon opened this issue · 2 comments
Checked for existing issues
- I have checked for existing issues, and have found none.
Tested latest version
- I have checked that this occurs on the latest version.
GregTech CEu Version
1.3.1, 1.4.0
Minecraft Version
1.20.1
Recipe Viewer Installed
JEI
Environment
Singleplayer, While opening the game
Cross-Mod Interaction
No
Other Installed Mods
Occured both standalone and with gregtech community pack modern and for 1.3.1 and 1.4.0
Expected Behavior
Game should open
Actual Behavior
Game crashes while trying to open
Main crash reason :
Caused by: net.minecraft.ResourceLocationException: Non [a-z0-9/._-] character in path of location: gtceu:empty_t\u0131er_\u0131_battery
latestlog[1].txt
This bug is also presented in java bug database
https://bugs.java.com/bugdatabase/view_bug?bug_id=6208680
Steps to Reproduce
-
Be turkish
-
Launch the mod
-
I tried using -Duser.language=tr in computer but it does not crash for some reason. I do not know why. It only happens with turkish locale in PojavLauncher
Additional Information
The crash is caused by invalid characters in resource registry. One of the functions turns the letter "I" to ı (which is 0x131 in unicode) due to turkish locale (In turkish uppercase "i" is "İ" and lowercase "I" is "ı") which causes resource loader to crash due to non english character.
Workaround : using "-Duser.language=en" as jvm argument
Solution : Modifying FormattingUtils class methods to prevent getting the letter "ı" for registry names