yushijinhun / authlib-injector

Build your own Minecraft authentication system.
https://authlib-injector.yushi.moe
GNU Affero General Public License v3.0
754 stars 68 forks source link

1.13+ SkullOwner NBT 中 @mojang 后缀不生效 #76

Closed NPBeta closed 4 years ago

NPBeta commented 4 years ago

如题,1.13+ 对物品进行了扁平化,即原有 minecraft:skull 3 变更为 minecraft:player_head,因此命令对应变更为 /give @s minecraft:player_head{SkullOwner:"<玩家名>"}. 不知道是否是此原因,导致 @mojang 后缀不生效,获得的头颅名称为 "xxx@mojang 的头",并且材质也不正确。 image image image

yushijinhun commented 4 years ago

I cannot reproduce your problem.

image

Could you please enable debug logging by adding -Dauthlibinjector.debug=all parameter to JVM arguments and provide console logs?

NPBeta commented 4 years ago

enable debug logging by adding -Dauthlibinjector.debug=all parameter to JVM arguments

Where should I enable debug logging? I mean, server or client? I'm the server's owner, too. I would like to try it on client first. The log will be posted later.

NPBeta commented 4 years ago

Sorry I didn't clearify my game version. Server: Paper-1.16.1 Client: HMCL 3.2.172 / Vanilla 1.16.1 / Optifine HD U G2 pre5 Authlib-Injector: 1.1.29

NPBeta commented 4 years ago

image

I've trimmed the log to avoid useless info like Optifine logs. https://paste.ubuntu.com/p/JSp7sfYyrB/

NPBeta commented 4 years ago

UPDATE: Tried disable OptiFine - doesn't work. Tried get a existing player's skull - all works fine. Tried on a Singleplayer world - doesn't work.

Tried the game version that you've tested(1.13.2) - doesn't work.

My Skin server runs on Aliyun ECS.

Tried using LittleSkin - doesn't work. Tried using example.yggdrasil.yushi.moe - doesn't work.

yushijinhun commented 4 years ago

I have successfully reproduced your problem on vanila minecraft 1.16.1 (no optifine, singleplayer). But it works fine on vanila minecraft 1.13.2 (no optifine, singleplayer).

I will look into this problem.

Btw, did you encounter any crash after placing notch@mojang's skull?

NPBeta commented 4 years ago

But it works fine on vanila minecraft 1.13.2 (no optifine, singleplayer).

It doesn't work for me on 1.13.2. But if you cannot reproduce it, seems this bug doesn't affect 1.13.2. Need more test on 1.14.x and 1.15.x. (I will test it when I'm free).

Btw, did you encounter any crash after placing notch@mojang's skull?

No. No warnings, error or fetal have been outputted to Log.

Off Topic: 为什么要用英文交流呢 hhh

yushijinhun commented 4 years ago

The bug first occurs in authlib 1.6.25 (or Minecraft 1.16), so it should work fine if you're using 1.13.2.

To test the fix, you can download the snapshot build from GitHub Actions (it's 'artifact' file in Artifacts section), and tell HMCL to use it by appending -Dhmcl.authlibinjector.location=/path/to/authlib-injector.jar to HMCL's commandline.

Please check if this fixes your problem. Thanks.

p.s. I'm speaking English because I can't get Chinese IME to work on my Ubuntu laptop.

NPBeta commented 4 years ago

Please check if this fixes your problem. Thanks.

Confirm Fixed.