From 95453f24d1a76e1197f6b2dd18a301459bcacf23 Mon Sep 17 00:00:00 2001 From: aro Date: Wed, 14 Dec 2022 15:58:02 +0100 Subject: [PATCH] fix: player skin when only changing name --- v1_17_R1/src/main/java/net/artelnatif/nicko/impl/v1_17_R1.java | 2 +- v1_18_R1/src/main/java/net/artelnatif/nicko/impl/v1_18_R1.java | 2 +- v1_18_R2/src/main/java/net/artelnatif/nicko/impl/v1_18_R2.java | 2 +- v1_19_R1/src/main/java/net/artelnatif/nicko/impl/v1_19_R1.java | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/v1_17_R1/src/main/java/net/artelnatif/nicko/impl/v1_17_R1.java b/v1_17_R1/src/main/java/net/artelnatif/nicko/impl/v1_17_R1.java index 16c632b..6f86140 100644 --- a/v1_17_R1/src/main/java/net/artelnatif/nicko/impl/v1_17_R1.java +++ b/v1_17_R1/src/main/java/net/artelnatif/nicko/impl/v1_17_R1.java @@ -93,7 +93,7 @@ public class v1_17_R1 implements Internals { final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a); final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName()); - if (skinChange) { + if (skinChange || !profile.getSkin().equalsIgnoreCase(player.getName())) { try { final Optional uuid = NickoBukkit.getInstance().getMojangAPI().getUUID(profile.getSkin()); if (uuid.isPresent()) { diff --git a/v1_18_R1/src/main/java/net/artelnatif/nicko/impl/v1_18_R1.java b/v1_18_R1/src/main/java/net/artelnatif/nicko/impl/v1_18_R1.java index bd72976..0528e61 100644 --- a/v1_18_R1/src/main/java/net/artelnatif/nicko/impl/v1_18_R1.java +++ b/v1_18_R1/src/main/java/net/artelnatif/nicko/impl/v1_18_R1.java @@ -95,7 +95,7 @@ public class v1_18_R1 implements Internals { final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a); final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName()); - if (skinChange) { + if (skinChange || !profile.getSkin().equalsIgnoreCase(player.getName())) { try { final Optional uuid = NickoBukkit.getInstance().getMojangAPI().getUUID(profile.getSkin()); if (uuid.isPresent()) { diff --git a/v1_18_R2/src/main/java/net/artelnatif/nicko/impl/v1_18_R2.java b/v1_18_R2/src/main/java/net/artelnatif/nicko/impl/v1_18_R2.java index c0f2dfc..3786512 100644 --- a/v1_18_R2/src/main/java/net/artelnatif/nicko/impl/v1_18_R2.java +++ b/v1_18_R2/src/main/java/net/artelnatif/nicko/impl/v1_18_R2.java @@ -95,7 +95,7 @@ public class v1_18_R2 implements Internals { final PacketPlayOutPlayerInfo add = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.a); final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName()); - if (skinChange) { + if (skinChange || !profile.getSkin().equalsIgnoreCase(player.getName())) { try { final Optional uuid = NickoBukkit.getInstance().getMojangAPI().getUUID(profile.getSkin()); if (uuid.isPresent()) { diff --git a/v1_19_R1/src/main/java/net/artelnatif/nicko/impl/v1_19_R1.java b/v1_19_R1/src/main/java/net/artelnatif/nicko/impl/v1_19_R1.java index 3a3304e..d05fa1c 100644 --- a/v1_19_R1/src/main/java/net/artelnatif/nicko/impl/v1_19_R1.java +++ b/v1_19_R1/src/main/java/net/artelnatif/nicko/impl/v1_19_R1.java @@ -99,7 +99,7 @@ public class v1_19_R1 implements Internals { final ProfilePublicKey.a key = remove.b().get(0).e(); final GameProfile gameProfile = new GameProfile(player.getUniqueId(), profile.getName()); - if (skinChange) { + if (skinChange || !profile.getSkin().equalsIgnoreCase(player.getName())) { try { final Optional uuid = NickoBukkit.getInstance().getMojangAPI().getUUID(profile.getSkin()); if (uuid.isPresent()) { @@ -121,6 +121,7 @@ public class v1_19_R1 implements Internals { } } + add.b().clear(); add.b().add(new PacketPlayOutPlayerInfo.PlayerInfoData(gameProfile, player.getPing(),