Minecraft的疑难杂症#2022/02/04-PCL2导致Name and ID cannot both be blank
最近好多人问啊,私信里三分之二都在问这个。

正文开始:

// I bet Cylons wouldn't have this problem.
Time: 2/20/22 11:03 AM
Description: Updating screen events
java.lang.IllegalArgumentException: Name and ID cannot both be blank
at com.mojang.authlib.GameProfile.<init>(GameProfile.java:26)
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:186)
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:173)
at net.minecraft.client.Minecraft.func_71371_a(Minecraft.java:2421)
[省略...]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Client thread
Stacktrace:
at com.mojang.authlib.GameProfile.<init>(GameProfile.java:26)
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:186)
at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:173)
at net.minecraft.client.Minecraft.func_71371_a(Minecraft.java:2421)
at net.minecraft.client.gui.GuiCreateWorld.func_146284_a(GuiCreateWorld.java:224)
[省略...]
-- Affected screen --
Details:
Screen name: com.bloodnbonesgaming.loadingscreens.client.gui.override.GuiWorkingOverride
Stacktrace:
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1759)
[省略...]
-- System Details --
Details:
Minecraft Version: 1.12.2
[省略...]
FML: MCP 9.42 Powered by Forge 14.23.5.2860 169 mods loaded, 169 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
| State | ID | Version | Source | Signature |
|:------ |:--------------------------- |:-------------------- |:------------------------------------------------------------ |:---------------------------------------- |
| LCHIJA | minecraft | 1.12.2 | minecraft.jar | None |
| LCHIJA | mcp | 9.42 | minecraft.jar | None |
[省略...]
| LCHIJA | librarianliblate | 4.22 | librarianlib-1.12.2-4.22.jar | None |
Loaded coremods (and transformers):
[省略...]
- InspirationsShared (Enabled/Forced)
[省略...]
RLTweaker Error Report:
Launched Version: RLCraft
LWJGL: 2.9.4
OpenGL: GeForce GTX 1650/PCIe/SSE2 GL version 4.6.0 NVIDIA 457.49, NVIDIA Corporation
GL Caps: Using GL 1.3 multitexturing.
[省略...]
CPU: 12x Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
为节约空间修改了部分字节
一开始我上网查,结果嘛,貌似是跟玩家在服务器之类的地方的验证出错会出现,慢慢地就想到了是UUID的问题。但貌似还不能解决问题,网上也有人说得用其它的启动器启动才可,这才解决问题。
然后小粉丝问能不能解决下拔刀剑认不了主的问题,我试着去把PCL2生成的UUID插到HMCL启动器,呜呼,同样的问题出现了。这下我知道UUID是真的问题所在。
在万能的百科群群友的帮助下,找到了原因。PCL2传入mojang账号API的uuid不规范,以前可以通过检验,但现在mojang更新了API,通过不了了。
解决方案:(解决方案无先后排序)
1.更换除PCL2外的其他启动器。
2.PCL2作者已经更新了新版本,更新PCL2启动器到最新版本。
这里链一个PCL2作者的官宣:

要注意的是,PCL开发者说更新新版本会让背包清除,本人没有尝试过,但据我的小小经验,在单人存档内背包*应该不会*被清除,但在服务器中有*极大可能性*会被清除。
同时由于使用了新的UUID,像拔刀剑、宝可梦模组中有UUID判断认主机制的模组会比较麻烦,可能需要像NBTexplorer这类软件来修改回现有的UUID。(拔刀剑貌似放一次在地上再捡起来就好了?)