[Anleitung] Spieler Nicken - Name und Skin ändern - 1.8.8

Hier könnt ihr anderen Leuten helfen, indem ihr Anleitungen oder praktische Codesegmente zur Verfügung stellt.

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon crepperFreak123 » Mi 29. Jul 2015, 10:32

Okay, habe es jetzt so geamacht:

Code: Alles auswählen
  1.               if(profileMap.containsKey(p.getUniqueId()))
  2.             {
  3.             HeadChanging.setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, new PlayerInfoData[] { removeProfile.new PlayerInfoData(profileMap.get(p.getUniqueId()), -1, null,
  4.                   null) });
  5.             profileMap.remove(p.getUniqueId());
  6.             }
  7.             else
  8.             {
  9.                profileMap.put(p.getUniqueId(),prof);
  10.                HeadChanging.setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, new PlayerInfoData[] { removeProfile.new PlayerInfoData(entity.getProfile(), -1, null,
  11.                      null) });
  12.             }


Warum funktioniert das nicht?

MFG
Benutzeravatar
crepperFreak123
 
Beiträge: 125
Registriert: So 13. Apr 2014, 09:07

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Jofkos » Mi 29. Jul 2015, 13:47

kannst du bitte noch den context schicken?
Jofkos

...........

..Bild
Benutzeravatar
Jofkos
 
Beiträge: 1537
Registriert: So 16. Jun 2013, 22:45

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon phenomax » Mi 29. Jul 2015, 18:28

Twister_21 hat geschrieben:
Code: Alles auswählen
  1. PacketPlayOutPlayerInfo removeProfile = new PacketPlayOutPlayerInfo();
  2. setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, removeProfile.new PlayerInfoData(profile, -1, null, null));



Mit Twisters Code ist es ja möglich den genickten Spieler anhang des GameProfiles aus der TabList zu entfernen. Das wäre beim Unnicken ja quasi der Schritt 1.
Wäre es nicht möglich dem Spieler einfach beim Unnicken nochmal zu nicken, dieses Mal mit seinem echten Namen, den man hat immer noch mit p.getName() feststellen kann.
Alternative ließe sich doch auch, genauso wie beim Nicken, vier neue Packete (PacketPlayOutEntityDestroy, PacketPlayOutPlayerInfo zum Entfernen des Namens aus der Tablist, PacketPlayOutPlayerInfo zum Hinzufügen des "Neuen" bzw. des ursprünglichen Spielernames und PacketPlayOutNamedEntitySpawn zum Wiederherstellen des ursprünglichen Skins) verwenden.
Oder sehe ich das komplett falsch?
Gruß :)
Benutzeravatar
phenomax
 
Beiträge: 1
Registriert: Mi 29. Jul 2015, 18:24

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon crepperFreak123 » Mi 29. Jul 2015, 18:49

Der Contex:

Code: Alles auswählen
  1. static HashMap<UUID, GameProfile> profileMap = new HashMap<UUID, GameProfile>();
  2.     private static ExecutorService pool = Executors.newCachedThreadPool();
  3.     private static Field modifiers = getField(Field.class, "modifiers");
  4.     private static Field playerUuidField = getField(PacketPlayOutNamedEntitySpawn.class, "b");
  5.     private static Field actionField = getField(PacketPlayOutPlayerInfo.class, "a");
  6.     private static Field dataField = getField(PacketPlayOutPlayerInfo.class, "b");
  7.     private static Field nameField = getField(GameProfile.class, "name");
  8.     public static void nick(final Player p, final String name) {
  9.        pool.execute(new Runnable() {
  10.           @Override
  11.           public void run() {
  12.              try {               
  13.                 GameProfile prof = GameProfileBuilder.fetch(UUIDFetcher.getUUID(ChatColor.stripColor(name)));
  14.                 nameField.set(prof, name);
  15.                
  16.                 EntityPlayer entity = ((CraftPlayer) p).getHandle();
  17.                
  18.                 PacketPlayOutEntityDestroy despawn = new PacketPlayOutEntityDestroy(entity.getId());
  19.                
  20.                 PacketPlayOutPlayerInfo removeProfile = new PacketPlayOutPlayerInfo();
  21.                
  22.                 if(profileMap.containsKey(p.getUniqueId()))
  23.                 {
  24.                    setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, removeProfile.new PlayerInfoData(entity.getProfile(), -1, null, null));
  25.                 profileMap.remove(p.getUniqueId());
  26.                 }
  27.                 else
  28.                 {
  29.                    profileMap.put(p.getUniqueId(),prof);
  30.                    setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, removeProfile.new PlayerInfoData(entity.getProfile(), -1, null, null));
  31.                    
  32.                 }
  33.                 PacketPlayOutPlayerInfo info = new PacketPlayOutPlayerInfo();
  34.                 setInfo(info, EnumPlayerInfoAction.ADD_PLAYER, info.new PlayerInfoData(prof, entity.ping, entity.playerInteractManager.getGameMode(), CraftChatMessage.fromString(name)[0]));
  35.                
  36.                 PacketPlayOutNamedEntitySpawn spawn = new PacketPlayOutNamedEntitySpawn(entity);
  37.                 playerUuidField.set(spawn, prof.getId());
  38.                
  39.                 List<Player> players = (List<Player>) Bukkit.getOnlinePlayers();
  40.                
  41.                 synchronized (players) {
  42.                    for (Player player : players) {
  43.                       if (player == p) continue;
  44.                      
  45.                       PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  46.                      
  47.                       connection.sendPacket(despawn);
  48.                       connection.sendPacket(removeProfile);
  49.                    }
  50.                 }
  51.                
  52.                 synchronized (this) {
  53.                    wait(50L);                 
  54.                 }
  55.                
  56.                 synchronized (players) {
  57.                    for (Player player : players) {
  58.                       if (player == p) continue;
  59.                      
  60.                       PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  61.                      
  62.                       connection.sendPacket(info);
  63.                       connection.sendPacket(spawn);
  64.                    }
  65.                 }
  66.              } catch (Exception e) {
  67.                 e.printStackTrace();
  68.              }
  69.           }
  70.        });
  71.     }


MFG
Benutzeravatar
crepperFreak123
 
Beiträge: 125
Registriert: So 13. Apr 2014, 09:07

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon JanPlaysMC_HD » So 23. Aug 2015, 21:11

Hey Jofkos,

erstmal danke, dass du deine Klassen zur Verfügung stellst.

Ich habe alle 3 Klassen erstellt und die Import entsprechend gefixed doch nun habe ich 2 Errors die ich nicht weg bekomme.
Zunächst benutze ich Spigot 1.8.3 und Java 7.

Die Fehler treten auf bei:

setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, new PlayerInfoData(removeProfile, entity.getProfile(), -1, null, null));
Fehler:
The constructor PacketPlayOutPlayerInfo.PlayerInfoData(PacketPlayOutPlayerInfo, GameProfile, int, null, null) is undefined

setInfo(info, EnumPlayerInfoAction.ADD_PLAYER, new PlayerInfoData(info, prof, entity.ping, entity.playerInteractManager.getGameMode(), CraftChatMessage.fromString(name)[0]));
Fehler:
The constructor PacketPlayOutPlayerInfo.PlayerInfoData(PacketPlayOutPlayerInfo, GameProfile, int, WorldSettings.EnumGamemode, IChatBaseComponent) is undefined

Wäre sehr nett, wenn du mir helfen könntest.

Mit freundlichen Grüßen,

Jan (JanPlaysMC).

PS:
Skype: jbc2000de
TS: ts.pvpevents.de
Benutzeravatar
JanPlaysMC_HD
 
Beiträge: 2
Registriert: So 23. Aug 2015, 20:55

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » So 23. Aug 2015, 21:27

Das hatten wir glaube ich, sogar schon zwei mal. :D
Einfach ein paar Seiten weiter zurückblättern.
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon JanPlaysMC_HD » So 23. Aug 2015, 22:24

Twister_21 hat geschrieben:Das hatten wir glaube ich, sogar schon zwei mal. :D
Einfach ein paar Seiten weiter zurückblättern.


Danke für den Hinweis!

Hier meine geupdateten Methoden:
setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, removeProfile.new PlayerInfoData(entity.getProfile(), 0, WorldSettings.EnumGamemode.NOT_SET, CraftChatMessage.fromString(name)[0]));

setInfo(info, EnumPlayerInfoAction.ADD_PLAYER, info.new PlayerInfoData(prof, 0, WorldSettings.EnumGamemode.SURVIVAL, CraftChatMessage.fromString(name)[0]));
Benutzeravatar
JanPlaysMC_HD
 
Beiträge: 2
Registriert: So 23. Aug 2015, 20:55

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon IcySkill » So 27. Sep 2015, 00:37

Hey,

Ich habe ein Problem:
Die Nickklasse funktioniert an sich gut, jedoch wird der Skin nicht gesetzt. Jedoch ist die Klasse nur ein Teil, denn ich habe ein komplettes AutoNick System, welches den Spieler, falls er dieses Feature aktiviert hat, beim Join nickt. Jedoch habe ich auch die Ränge im Moment mit den Scoreboard Team geregelt und dann bleibt der normale Name in der Tablist - völlig klar, da ich das Team bzw. den Spieler neu setzen bzw. updaten muss. Also das eigentliche Problem ist, das der Skin nicht gesetzt wird. Zusätzlich hatte ich mich noch mit dem Unnicken versucht, jedoch klappt das auch nicht wie gewollt. Hier die Klassen:

Nickklasse (nick + unnick):

Code: Alles auswählen
  1. public class NickSystem extends JavaPlugin implements Listener {
  2.     private static ExecutorService pool = Executors.newCachedThreadPool();
  3.     private static Field modifiers = getField(Field.class, "modifiers");
  4.     private static Field playerUuidField = getField(PacketPlayOutNamedEntitySpawn.class, "b");
  5.     private static Field actionField = getField(PacketPlayOutPlayerInfo.class, "a");
  6.     private static Field dataField = getField(PacketPlayOutPlayerInfo.class, "b");
  7.     private static Field nameField = getField(GameProfile.class, "name");
  8.     public static HashMap<UUID, GameProfile> gameProfiles = new HashMap<>();
  9.     @Override
  10.     public void onEnable() {
  11.         Bukkit.getServer().getPluginManager().registerEvents(this, this);
  12.     }
  13.    
  14.     public static void nick(final Player p, final String name) {
  15.         pool.execute(new Runnable() {
  16.             @Override
  17.             public void run() {
  18.                 try {               
  19.                     GameProfile prof = GameProfileBuilder.fetch(UUIDFetcher.getUUID(ChatColor.stripColor(name)));
  20.                     nameField.set(prof, name);
  21.                     EntityPlayer entity = ((CraftPlayer) p).getHandle();
  22.                     PacketPlayOutEntityDestroy despawn = new PacketPlayOutEntityDestroy(entity.getId());
  23.                     PacketPlayOutPlayerInfo removeProfile = new PacketPlayOutPlayerInfo();
  24.                     setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, removeProfile.new PlayerInfoData(entity.getProfile(), -1, null, null));
  25.                     PacketPlayOutPlayerInfo info = new PacketPlayOutPlayerInfo();
  26.                     setInfo(info, EnumPlayerInfoAction.ADD_PLAYER, info.new PlayerInfoData(prof, entity.ping, entity.playerInteractManager.getGameMode(), CraftChatMessage.fromString(name)[0]));
  27.                     PacketPlayOutNamedEntitySpawn spawn = new PacketPlayOutNamedEntitySpawn(entity);
  28.                     playerUuidField.set(spawn, prof.getId());
  29.                    
  30.                     gameProfiles.put(p.getUniqueId(), prof);
  31.                     Collection<? extends Player> players = Bukkit.getOnlinePlayers();
  32.                     synchronized (players) {
  33.                         for (Player player : players) {
  34.                             if (player.getName().equals(p.getName())) continue;
  35.                             PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  36.                             connection.sendPacket(despawn);
  37.                             connection.sendPacket(removeProfile);
  38.                         }
  39.                     }
  40.                     synchronized (this) {
  41.                         wait(50L);                 
  42.                     }
  43.                     synchronized (players) {
  44.                         for (Player player : players) {
  45.                             if (player.getName().equals(p.getName())) continue;
  46.                             PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  47.                             connection.sendPacket(info);
  48.                             connection.sendPacket(spawn);
  49.                         }
  50.                     }
  51.                 } catch (Exception ex) {
  52.                     ex.printStackTrace();
  53.                 }
  54.             }
  55.         });
  56.     }
  57.    
  58.     public static void unnick(final Player p) {
  59.         UUID uuid = p.getUniqueId();
  60.         if(gameProfiles.containsKey(uuid)) {
  61.             pool.execute(new Runnable() {
  62.                 @Override
  63.                 public void run() {
  64.                     try {
  65.                         GameProfile fakeProf = gameProfiles.get(p.getUniqueId());
  66.                         GameProfile prof = GameProfileBuilder.fetch(p.getUniqueId());
  67.                         nameField.set(prof, p.getName());
  68.                        
  69.                         EntityPlayer entity = ((CraftPlayer) p).getHandle();
  70.                         PacketPlayOutEntityDestroy despawn = new PacketPlayOutEntityDestroy(entity.getId());
  71.                         PacketPlayOutPlayerInfo removeProfile = new PacketPlayOutPlayerInfo();
  72.                         setInfo(removeProfile, EnumPlayerInfoAction.REMOVE_PLAYER, removeProfile.new PlayerInfoData(fakeProf, -1, null, null));
  73.                         PacketPlayOutPlayerInfo info = new PacketPlayOutPlayerInfo();
  74.                         setInfo(info, EnumPlayerInfoAction.ADD_PLAYER, info.new PlayerInfoData(prof, entity.ping, entity.playerInteractManager.getGameMode(), CraftChatMessage.fromString(p.getName())[0]));
  75.                         PacketPlayOutNamedEntitySpawn spawn = new PacketPlayOutNamedEntitySpawn(entity);
  76.                         playerUuidField.set(spawn, prof.getId());
  77.                        
  78.                         gameProfiles.remove(p.getUniqueId());
  79.                        
  80.                         List<Player> players = (List<Player>) Bukkit.getOnlinePlayers();
  81.                         synchronized (players) {
  82.                             for (Player player : players) {
  83.                                 if (player == p) {
  84.                                     continue;
  85.                                 }
  86.                                 PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  87.                                 connection.sendPacket(despawn);
  88.                                 connection.sendPacket(removeProfile);
  89.                             }
  90.                         }
  91.                         synchronized (this) {
  92.                             wait(50L);
  93.                         }
  94.                         synchronized (players) {
  95.                             for (Player player : players) {
  96.                                 if (player == p) {
  97.                                     continue;
  98.                                 }
  99.                                 PlayerConnection connection = ((CraftPlayer) player).getHandle().playerConnection;
  100.                                 connection.sendPacket(info);
  101.                                 connection.sendPacket(spawn);
  102.                             }
  103.                         }
  104.                     } catch(Exception ex) {
  105.                         ex.printStackTrace();
  106.                     }
  107.                 }
  108.             });
  109.         }
  110.     }
  111.    
  112.     private static PacketPlayOutPlayerInfo setInfo(PacketPlayOutPlayerInfo packet, EnumPlayerInfoAction action, PlayerInfoData... data) {
  113.         try {
  114.             actionField.set(packet, action);
  115.             dataField.set(packet, Arrays.asList(data));
  116.         } catch (Exception ex) {
  117.             ex.printStackTrace();
  118.         }
  119.         return packet;
  120.     }
  121.    
  122.     private static Field getField(Class<?> clazz, String name) {
  123.         try {
  124.             Field field = clazz.getDeclaredField(name);
  125.             field.setAccessible(true);
  126.             if (Modifier.isFinal(field.getModifiers())) {
  127.                 modifiers.set(field, field.getModifiers() & ~Modifier.FINAL);
  128.             }
  129.             return field;
  130.         } catch (Exception ex) {
  131.             ex.printStackTrace();
  132.         }
  133.         return null;
  134.     }


PlayerJoinEvent:

Code: Alles auswählen
  1. @EventHandler(priority=EventPriority.HIGHEST)
  2.     public void onPlayerJoin(PlayerJoinEvent e) {
  3.         Player player = e.getPlayer();
  4.         UUID uuid = player.getUniqueId();
  5.        
  6.         if(!MySQLRanks.isUserExists(uuid)) {
  7.             MySQLRanks.update(uuid, "player", player.getName());
  8.         }
  9.            
  10.         if (player.hasPermission("system.nick")) {
  11.             if (!MySQLNick.isUserExists(uuid)) {
  12.                 MySQLNick.update(uuid, player.getName(), false);
  13.             }
  14.            
  15.             if (MySQLNick.isNicked(uuid)) {
  16.                 GetNickMethod.getNick(player);
  17.             } else GetPrefixMethod.getPrefix(player);
  18.         } else GetPrefixMethod.getPrefix(player);
  19.     }


GetNickMethod:

Code: Alles auswählen
  1. public class GetNickMethod {
  2.     private static String[] tabPrefix = { "§7Spieler | ", "§6Premium | " };
  3.     private static String[] prefix = { "§7", "§6" };
  4.     private static Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
  5.     private static Team team = null;
  6.    
  7.     public static void getNick(Player player) {
  8.         NicksMethod.loadNicks();
  9.        
  10.         if(board.getTeam("player") == null) team = board.registerNewTeam("player");
  11.         if(board.getTeam("premium") == null) team = board.registerNewTeam("premium");
  12.         if(board.getTeam("youtuber") == null) team = board.registerNewTeam("youtuber");
  13.         if(board.getTeam("supporter") == null) team = board.registerNewTeam("supporter");
  14.         if(board.getTeam("architect") == null) team = board.registerNewTeam("architect");
  15.         if(board.getTeam("developer") == null) team = board.registerNewTeam("developer");
  16.         if(board.getTeam("admin") == null) team = board.registerNewTeam("admin");
  17.         if(board.getTeam("youtuber").hasPlayer(player)) {
  18.             board.getTeam("youtuber").removePlayer(player);
  19.         } else if(board.getTeam("supporter").hasPlayer(player)) {
  20.             board.getTeam("supporter").removePlayer(player);
  21.         } else if(board.getTeam("architect").hasPlayer(player)) {
  22.             board.getTeam("architect").removePlayer(player);
  23.         } else if(board.getTeam("developer").hasPlayer(player)) {
  24.             board.getTeam("developer").removePlayer(player);
  25.         } else if(board.getTeam("admin").hasPlayer(player)) {
  26.             board.getTeam("admin").removePlayer(player);
  27.         }
  28.         String s = (String)SystemUtilS.nicks.get(new Random().nextInt(SystemUtilS.nicks.size()));
  29.         Random r = new Random();
  30.         int zf = r.nextInt(2);
  31.         switch (zf) {
  32.             case 0:
  33.                 NickManager.nick(player, s);
  34.                 player.setDisplayName(prefix[0] + s + "§r");
  35.                 if(board.getTeam("nickPlayer") == null) {
  36.                     team = board.registerNewTeam("nickPlayer");
  37.                 } else team = board.getTeam("nickPlayer");
  38.                 team.setPrefix(tabPrefix[0]);
  39.                 team.addPlayer(player);
  40.                 player.sendMessage(SystemUtilS.instance.prefix + "§bDein Nickname ist nun §7" + s + "§r§b.");
  41.                 break;
  42.             case 1:
  43.                 NickManager.nick(player, s);
  44.                 player.setDisplayName(prefix[1] + s + "§r");
  45.                 if(board.getTeam("nickPremium") == null) {
  46.                     team = board.registerNewTeam("nickPremium");
  47.                 } else team = board.getTeam("nickPremium");
  48.                 team.setPrefix(tabPrefix[1]);
  49.                 team.addPlayer(player);
  50.                 player.sendMessage(SystemUtilS.instance.prefix + "§bDein Nickname ist nun §6" + s + "§r§b.");
  51.         }
  52.         SystemUtilS.nicks.clear();
  53.     }
  54. }


GetPrefixMethod:

Code: Alles auswählen
  1. public class GetPrefixMethod {
  2.     private static String[] tabPrefix = { "§7Spieler | ", "§6Premium §7| ", "§5YouTuber §7| ", "§9Supporter §7| ", "§2Architekt §7| ", "§3Developer §7| ", "§4Admin §7| " };
  3.     private static String[] prefix = { "§7", "§6", "§5", "§9", "§2", "§3", "§4" };
  4.  
  5.     public static void getPrefix(Player p) {
  6.         UUID uuid = p.getUniqueId();
  7.         Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
  8.         Team team = null;
  9.         if (!MySQLRanks.isUserExists(uuid)) {
  10.             MySQLRanks.update(uuid, "player", p.getName());
  11.         }
  12.        
  13.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("player")) {
  14.             p.setDisplayName(prefix[0] + p.getName() + "§r");
  15.             if(board.getTeam("player") == null) {
  16.                 team = board.registerNewTeam("player");
  17.             } else team = board.getTeam("player");
  18.             team.setPrefix(tabPrefix[0]);
  19.             team.addPlayer(p);
  20.             return;
  21.         }
  22.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("premium")) {
  23.             p.setDisplayName(prefix[1] + p.getName() + "§r");
  24.             if(board.getTeam("premium") == null) {
  25.                 team = board.registerNewTeam("premium");
  26.             } else team = board.getTeam("premium");
  27.             team.setPrefix(tabPrefix[1]);
  28.             team.addPlayer(p);
  29.             return;
  30.         }
  31.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("youtuber")) {
  32.             p.setDisplayName(prefix[2] + p.getName() + "§r");
  33.             if(board.getTeam("youtuber") == null) {
  34.                 team = board.registerNewTeam("youtuber");
  35.             } else team = board.getTeam("youtuber");
  36.             team.setPrefix(tabPrefix[2]);
  37.             team.addPlayer(p);
  38.             return;
  39.         }
  40.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("supporter")) {
  41.             p.setDisplayName(prefix[3] + p.getName() + "§r");
  42.             if(board.getTeam("supporter") == null) {
  43.                 team = board.registerNewTeam("supporter");
  44.             } else team = board.getTeam("supporter");
  45.             team.setPrefix(tabPrefix[3]);
  46.             team.addPlayer(p);
  47.             return;
  48.         }
  49.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("architect")) {
  50.             p.setDisplayName(prefix[4] + p.getName() + "§r");
  51.             if(board.getTeam("architect") == null) {
  52.                 team = board.registerNewTeam("architect");
  53.             } else team = board.getTeam("architect");
  54.             team.setPrefix(tabPrefix[4]);
  55.             team.addPlayer(p);
  56.             return;
  57.         }
  58.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("developer")) {
  59.             p.setDisplayName(prefix[5] + p.getName() + "§r");
  60.             if(board.getTeam("developer") == null) {
  61.                 team = board.registerNewTeam("developer");
  62.             } else team = board.getTeam("developer");
  63.             team.setPrefix(tabPrefix[5]);
  64.             team.addPlayer(p);
  65.             return;
  66.         }
  67.         if (MySQLRanks.getRank(uuid).equalsIgnoreCase("admin")) {
  68.             p.setDisplayName(prefix[6] + p.getName() + "§r");
  69.             if(board.getTeam("admin") == null) {
  70.                 team = board.registerNewTeam("admin");
  71.             } else team = board.getTeam("admin");
  72.             team.setPrefix(tabPrefix[6]);
  73.             team.addPlayer(p);
  74.         }
  75.     }
  76. }


ich hoffe ihr könnt mir helfen, da ich schon sehr lange herumteste, es jedoch nicht schaffe.

Vielen Dank im Voraus!
Mit freundlichen Grüßen

- IcySkill
Benutzeravatar
IcySkill
 
Beiträge: 153
Registriert: Do 12. Feb 2015, 15:23
Wohnort: Baden-Württemberg

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Twister_21 » Sa 10. Okt 2015, 12:40

Weiß jemand, wie ich den genickten Spieler in ein ScoreboardTeam packen kann? Ich hab das getan, aber der Spieler hatte trotzdem nicht den Prefix des ScoreboardTeams.
Mit freundlichen Grüßen
Twister21
Benutzeravatar
Twister_21
 
Beiträge: 652
Registriert: Mi 11. Jun 2014, 05:51
Wohnort: Deutschland

Re: [Anleitung] Spieler Nicken - Name und Skin ändern - 1.8+

Beitragvon Jofkos » Sa 10. Okt 2015, 12:46

Du musst den Nickname ins Scoreboard packen. Aus irgendeinem Grund, sind da immer noch die Namen und nicht die UUID's (Quelle: wiki.vg)
Jofkos

...........

..Bild
Benutzeravatar
Jofkos
 
Beiträge: 1537
Registriert: So 16. Jun 2013, 22:45

VorherigeNächste

Zurück zu Anleitungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron