Merge pull request #354 from MrJeremyFisher/mc/1.20-namelayer-skin-fix

Fix skin not carrying over on profile change
This commit is contained in:
okx-code
2024-03-05 20:45:30 +00:00
committed by GitHub

View File

@@ -1,10 +1,12 @@
package vg.civcraft.mc.namelayer.misc;
import com.destroystokyo.paper.profile.CraftPlayerProfile;
import java.util.logging.Logger;
import com.destroystokyo.paper.profile.PlayerProfile;
import net.kyori.adventure.text.Component;
import org.bukkit.entity.Player;
import java.util.logging.Logger;
public class ProfileModifier implements ProfileInterface {
private static final Logger LOGGER = Logger.getLogger(ProfileModifier.class.getSimpleName());
@@ -12,12 +14,15 @@ public class ProfileModifier implements ProfileInterface {
@Override
public void setPlayerProfile(final Player player, final String name) {
final String oldName = player.getName();
PlayerProfile oldProfile = player.getPlayerProfile();
PlayerProfile newProfile = new CraftPlayerProfile(player.getUniqueId(), name);
if (name.length() > 16) {
LOGGER.info(String.format("The player %s (%s) was kicked from the server due to their "
+ "name already existing but now becoming over 16 characters.",
name, player.getUniqueId()));
}
player.setPlayerProfile(new CraftPlayerProfile(player.getUniqueId(), name));
newProfile.setProperties(oldProfile.getProperties());
player.setPlayerProfile(newProfile);
player.displayName(Component.text(name));
player.playerListName(Component.text(name));
player.customName(Component.text(name));