I tried so many times to run 21w20a in the launcher; but exactly when the game window opens, it instantly crashes and the Exit code would be shown as 0. And even when I press the "View crash report" Button, it shows an error with title "Could not open crash report".
This is not only me who experienced this. Also 2 of my friends had the same result while running 21w20a. I thought the problem might be because of java 16 and I installed it manually, but it didn't affected. You can see the launcher screen and crash report .txt file from the attached files to this report.
21w20a: [^crash-۲۰۲۱-۰۵-۱۹_۲۱.۴۹.۰۲-client.txt]
Description: Initializing game
aa: Non [a-z0-9/._-] character in path of location: minecraft:dynamic/light_map_۱
at wr.<init>(SourceFile:41)
at wr.<init>(SourceFile:46)
at exf.a(SourceFile:137)
at emz.<init>(SourceFile:34)
at emt.<init>(SourceFile:278)
at duy.<init>(SourceFile:558)
at net.minecraft.client.main.Main.main(SourceFile:179)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Render thread
Stacktrace:
at wr.<init>(SourceFile:41)
at wr.<init>(SourceFile:46)
at exf.a(SourceFile:137)
at emz.<init>(SourceFile:34)
at emt.<init>(SourceFile:278)
at duy.<init>(SourceFile:558)
-- Initialization --
Details:
Stacktrace:
at net.minecraft.client.main.Main.main(SourceFile:179)Attachments
Comments 3
TextureManager.registerDynamicTexture (yarn name, exf.a in stack trace) uses String.format:
Identifier lv = new Identifier(String.format("dynamic/%s_%d", new Object[] { prefix, integer }));%d uses localized numbers, so Persian ۱ is used instead of 1 on Persian systems, and I suppose this also happens in other locales. This of course triggers regular expression check.
Easy fix; replace with StringBuilder maybe? Note that String.format is used everywhere in the code and all of them should be reviewed.
Hopefully, the problem has been solved. The problem was because of my pc's calendar. If the pc's calendar would be as another language (other than English), Minecraft won't identify it in java 16 and then crashes the game. This problem isn't present when you open minecraft's older versions which would be launched on java 8 or older.
I think you have to add a code in the next snapshot which identifies the calendar, even with other languages. Because there are MANY people who don't know about this.
That happened to me as well, but I managed to run the game on my third attempt.