Seite 1 von 1

NickAPI geht nach joinen nicht?

BeitragVerfasst: Sa 9. Apr 2016, 12:42
von _PowerFox_
Hallo. Ich habe mir folgenden Code zusammen gestellt: http://pastebin.com/JmSp2Q4d

Dazu noch im Join-Bereich:

Code: Alles auswählen
  1. @SuppressWarnings("static-access")
  2.    @EventHandler (priority = EventPriority.HIGH)
  3.    public void onJoin(PlayerJoinEvent event) {
  4.       for(Entry<UUID, String> name : api.PlayerName.entrySet()) {
  5.          OfflinePlayer player = Bukkit.getOfflinePlayer(name.getKey());
  6.          
  7.          if(player != null && player.isOnline()) {
  8.             Bukkit.broadcastMessage("§7[§5Nick§7] §c" + player.getName());
  9.             MinecraftServer nmsServer = ((CraftServer) Bukkit.getServer()).getServer();
  10.             WorldServer nmsWorld = ((CraftWorld) Bukkit.getWorlds().get(0)).getHandle();
  11.             EntityPlayer pNeu = new EntityPlayer(nmsServer, nmsWorld, new GameProfile(player.getUniqueId(), api.PlayerName.get(name.getKey())), new PlayerInteractManager(nmsWorld));
  12.             EntityPlayer p = ((CraftPlayer)player).getHandle();
  13.             
  14.             PlayerConnection connection = ((CraftPlayer) event.getPlayer()).getHandle().playerConnection;
  15.             connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.REMOVE_PLAYER, p));
  16.             connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.ADD_PLAYER, pNeu));
  17.             
  18.             Bukkit.broadcastMessage("§7[§5Nick§7] §a" + player.getName());
  19.             
  20.             for(Entry<String, Player> nick : api.NamePlayer.entrySet()) {
  21.                if(nick.getValue().getName().equals(player.getName())) {
  22.                   Bukkit.broadcastMessage("RICHTIG!!");
  23.                   
  24.                   nick.getValue().setDisplayName(nick.getKey());
  25.                   nick.getValue().setCustomName(nick.getKey());
  26.                }
  27.             }
  28.          }
  29.       }
  30.       for(Player all : Bukkit.getOnlinePlayers()) {
  31.          event.getPlayer().hidePlayer(all);
  32.       }
  33.       for(Player all : Bukkit.getOnlinePlayers()) {
  34.          event.getPlayer().showPlayer(all);
  35.       }
  36.    }


Nun brauche ich eure Hilfe. Und zwar updatet sich der Name beim joinen nicht :(

Ich hoffe, dass ihr mir helfen könnt.

Re: NickAPI geht nach joinen nicht?

BeitragVerfasst: Sa 9. Apr 2016, 19:27
von Letsplaybar
frage soll der Skin auch geändert werden oder nur der Name? weil ich brauch bei nur dem Namen kein Gameprofile und kann es acu gleich im join event ausführen

Re: NickAPI geht nach joinen nicht?

BeitragVerfasst: Di 12. Apr 2016, 08:33
von CraftAttack
Letsplaybar hat geschrieben:frage soll der Skin auch geändert werden oder nur der Name? weil ich brauch bei nur dem Namen kein Gameprofile und kann es acu gleich im join event ausführen

Wie würdest du das machen das der Namen über dem Kopf sich auch verändert ?

Re: NickAPI geht nach joinen nicht?

BeitragVerfasst: Di 12. Apr 2016, 13:44
von Letsplaybar
CraftAttack hat geschrieben:
Letsplaybar hat geschrieben:frage soll der Skin auch geändert werden oder nur der Name? weil ich brauch bei nur dem Namen kein Gameprofile und kann es acu gleich im join event ausführen

Wie würdest du das machen das der Namen über dem Kopf sich auch verändert ?

Hier ist der Code mit den Methoden die man benötigt um nur den Namen über den Kopf zuändern:
http://github.letsplaybar.de/Letsplaybar/Bungeecord-Spigot/blob/master/Umbennenen_Methoden.java
und wie du sehen wirst benutze ich Packets. und so klappt es auch ohne Gameprofile den Namen zuäandern