Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. public void setName(Player p, String nickName){
  2. try {
  3. Method getHandle = p.getClass().getMethod("getHandle");
  4. Object profile = getHandle.invoke(p, new Object[0]).getClass().getMethod("getProfile", new Class[0]).invoke(getHandle.invoke(p, new Object[0]), new Object[0]);
  5. Field f = profile.getClass().getDeclaredField("name");
  6. f.setAccessible(true);
  7. f.set(profile, nickName);
  8. } catch (NoSuchFieldException e) {
  9. e.printStackTrace();
  10. } catch (SecurityException e) {
  11. e.printStackTrace();
  12. } catch (IllegalArgumentException e) {
  13. e.printStackTrace();
  14. } catch (IllegalAccessException e) {
  15. e.printStackTrace();
  16. } catch (NoSuchMethodException e) {
  17. e.printStackTrace();
  18. } catch (InvocationTargetException e) {
  19. e.printStackTrace();
  20. }
  21.  
  22. MinecraftServer nmsServer = ((CraftServer)Bukkit.getServer()).getServer();
  23. WorldServer nmsWelt = ((CraftWorld)Bukkit.getWorlds().get(0)).getHandle();
  24.  
  25. EntityPlayer ep = ((CraftPlayer)p).getHandle();
  26. EntityPlayer pNeu = new EntityPlayer(nmsServer, nmsWelt, new GameProfile(p.getUniqueId(), nickName), new PlayerInteractManager(nmsWelt));
  27.  
  28. for(Player all : Bukkit.getOnlinePlayers()){
  29. ((CraftPlayer)all).getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, new EntityPlayer[] { ep }));
  30. ((CraftPlayer)all).getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, new EntityPlayer[] { pNeu }));
  31.  
  32. if(all != p){
  33. ((CraftPlayer)all).getHandle().playerConnection.sendPacket(new PacketPlayOutNamedEntitySpawn(ep));
  34. }
  35. }
  36.  
  37. for(Player all : Bukkit.getOnlinePlayers()){
  38. all.hidePlayer(p);
  39. all.showPlayer(p);
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement