2019-05-14 04:20:58 +02:00
|
|
|
From e8b48e35704ac20d175d9fda1a7b1b65005bff05 Mon Sep 17 00:00:00 2001
|
2018-03-18 16:46:14 +01:00
|
|
|
From: Aikar <aikar@aikar.co>
|
|
|
|
Date: Sun, 18 Mar 2018 11:45:57 -0400
|
|
|
|
Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent
|
|
|
|
|
|
|
|
This will allow you to change the players name or skin on login.
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
2019-04-28 19:59:47 +02:00
|
|
|
index fe912e0eb..7c3b9c0b9 100644
|
2018-03-18 16:46:14 +01:00
|
|
|
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
|
|
|
@@ -1,5 +1,7 @@
|
|
|
|
package net.minecraft.server;
|
|
|
|
|
|
|
|
+import com.destroystokyo.paper.profile.CraftPlayerProfile;
|
|
|
|
+import com.destroystokyo.paper.profile.PlayerProfile;
|
|
|
|
import com.mojang.authlib.GameProfile;
|
|
|
|
import com.mojang.authlib.exceptions.AuthenticationUnavailableException;
|
|
|
|
import io.netty.channel.ChannelFuture;
|
2019-01-01 04:15:55 +01:00
|
|
|
@@ -19,6 +21,7 @@ import org.apache.logging.log4j.LogManager;
|
2018-03-18 16:46:14 +01:00
|
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
|
|
|
|
// CraftBukkit start
|
|
|
|
+import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.craftbukkit.util.Waitable;
|
|
|
|
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
|
|
|
|
import org.bukkit.event.player.PlayerPreLoginEvent;
|
2019-04-28 19:59:47 +02:00
|
|
|
@@ -282,8 +285,16 @@ public class LoginListener implements PacketLoginInListener {
|
2018-03-18 16:46:14 +01:00
|
|
|
java.util.UUID uniqueId = i.getId();
|
|
|
|
final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server;
|
|
|
|
|
|
|
|
- AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId);
|
|
|
|
+ // Paper start
|
|
|
|
+ PlayerProfile profile = Bukkit.createProfile(uniqueId, playerName);
|
|
|
|
+ AsyncPlayerPreLoginEvent asyncEvent = new AsyncPlayerPreLoginEvent(playerName, address, uniqueId, profile);
|
|
|
|
server.getPluginManager().callEvent(asyncEvent);
|
|
|
|
+ profile = asyncEvent.getPlayerProfile();
|
|
|
|
+ profile.complete();
|
|
|
|
+ i = CraftPlayerProfile.asAuthlibCopy(profile);
|
|
|
|
+ playerName = i.getName();
|
|
|
|
+ uniqueId = i.getId();
|
|
|
|
+ // Paper end
|
|
|
|
|
|
|
|
if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) {
|
|
|
|
final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId);
|
|
|
|
--
|
2019-03-20 02:46:00 +01:00
|
|
|
2.21.0
|
2018-03-18 16:46:14 +01:00
|
|
|
|