Dazu noch im Join-Bereich:
- Code: Alles auswählen
- @SuppressWarnings("static-access")
- @EventHandler (priority = EventPriority.HIGH)
- public void onJoin(PlayerJoinEvent event) {
- for(Entry<UUID, String> name : api.PlayerName.entrySet()) {
- OfflinePlayer player = Bukkit.getOfflinePlayer(name.getKey());
- if(player != null && player.isOnline()) {
- Bukkit.broadcastMessage("§7[§5Nick§7] §c" + player.getName());
- MinecraftServer nmsServer = ((CraftServer) Bukkit.getServer()).getServer();
- WorldServer nmsWorld = ((CraftWorld) Bukkit.getWorlds().get(0)).getHandle();
- EntityPlayer pNeu = new EntityPlayer(nmsServer, nmsWorld, new GameProfile(player.getUniqueId(), api.PlayerName.get(name.getKey())), new PlayerInteractManager(nmsWorld));
- EntityPlayer p = ((CraftPlayer)player).getHandle();
- PlayerConnection connection = ((CraftPlayer) event.getPlayer()).getHandle().playerConnection;
- connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.REMOVE_PLAYER, p));
- connection.sendPacket(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.ADD_PLAYER, pNeu));
- Bukkit.broadcastMessage("§7[§5Nick§7] §a" + player.getName());
- for(Entry<String, Player> nick : api.NamePlayer.entrySet()) {
- if(nick.getValue().getName().equals(player.getName())) {
- Bukkit.broadcastMessage("RICHTIG!!");
- nick.getValue().setDisplayName(nick.getKey());
- nick.getValue().setCustomName(nick.getKey());
- }
- }
- }
- }
- for(Player all : Bukkit.getOnlinePlayers()) {
- event.getPlayer().hidePlayer(all);
- }
- for(Player all : Bukkit.getOnlinePlayers()) {
- event.getPlayer().showPlayer(all);
- }
- }
Nun brauche ich eure Hilfe. Und zwar updatet sich der Name beim joinen nicht

Ich hoffe, dass ihr mir helfen könnt.