Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void setName(Player p, String nickName){
- try {
- Method getHandle = p.getClass().getMethod("getHandle");
- Object profile = getHandle.invoke(p, new Object[0]).getClass().getMethod("getProfile", new Class[0]).invoke(getHandle.invoke(p, new Object[0]), new Object[0]);
- Field f = profile.getClass().getDeclaredField("name");
- f.setAccessible(true);
- f.set(profile, nickName);
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- MinecraftServer nmsServer = ((CraftServer)Bukkit.getServer()).getServer();
- WorldServer nmsWelt = ((CraftWorld)Bukkit.getWorlds().get(0)).getHandle();
- EntityPlayer ep = ((CraftPlayer)p).getHandle();
- EntityPlayer pNeu = new EntityPlayer(nmsServer, nmsWelt, new GameProfile(p.getUniqueId(), nickName), new PlayerInteractManager(nmsWelt));
- for(Player all : Bukkit.getOnlinePlayers()){
- ((CraftPlayer)all).getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, new EntityPlayer[] { ep }));
- ((CraftPlayer)all).getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, new EntityPlayer[] { pNeu }));
- if(all != p){
- ((CraftPlayer)all).getHandle().playerConnection.sendPacket(new PacketPlayOutNamedEntitySpawn(ep));
- }
- }
- for(Player all : Bukkit.getOnlinePlayers()){
- all.hidePlayer(p);
- all.showPlayer(p);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement