• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

NamenTags

Plugin00

Kuhfänger
Registriert
3 Februar 2013
Beiträge
71
Diamanten
0
Hallo,

Ich arbeite an ein "NameTags" Plugin.

Mein Code:

Code:
    @EventHandler(priority=EventPriority.HIGH)
    public void onNameTags([COLOR="#FF0000"]PlayerReceiveNameTagEvent[/COLOR] ev) {
    	
    	Player pl = ev.getPlayer();
    	
    	if (pl.hasPermission("cSystem.Owner")) {
    		ev.setTag("§4§l" + pl.getName());
    	}

        if (pl.hasPermission("cSystem.Developer")) {
    		ev.setTag("§3§l" + pl.getName());
    	}
    	
        if (pl.hasPermission("cSystem.Admin")) {
    		ev.setTag("§c§l" + pl.getName());
    	}
    	
    	if (pl.hasPermission("cSystem.CS")) {
    		ev.setTag("§2§l" + pl.getName());
    	}
    	
    	else {
    		ev.setTag("§f" + pl.getName());
    	}
    }

Nur das "PlayerReceiveNameTagEvent" gibs nicht??

und ich arbeite auch an mein Ban System Code:

//Code nicht mehr drine Grund: Habe schon Fertig :)

Nur der "Offline" Spieler wird nicht gebannt!
Nur der "Online" Spieler wird gebannt.

Bitte Helfen, :)
 
Zuletzt bearbeitet:
G

games6471

Guest
Hallo,

Ich arbeite an ein "NameTags" Plugin.

Mein Code:

Code:
    @EventHandler(priority=EventPriority.HIGH)
    public void onNameTags([COLOR="#FF0000"]PlayerReceiveNameTagEvent[/COLOR] ev) {
    	
    	Player pl = ev.getPlayer();
    	
    	if (pl.hasPermission("cSystem.Owner")) {
    		ev.setTag("§4§l" + pl.getName());
    	}

        if (pl.hasPermission("cSystem.Developer")) {
    		ev.setTag("§3§l" + pl.getName());
    	}
    	
        if (pl.hasPermission("cSystem.Admin")) {
    		ev.setTag("§c§l" + pl.getName());
    	}
    	
    	if (pl.hasPermission("cSystem.CS")) {
    		ev.setTag("§2§l" + pl.getName());
    	}
    	
    	else {
    		ev.setTag("§f" + pl.getName());
    	}
    }

Nur das "PlayerReceiveNameTagEvent" gibs nicht??

Bitte Helfen, :)

Das geht auch nur mit der TagApi. Also Bukkit selber bietet diese Funktion nicht an.
 
G

games6471

Guest
Aso, ok ist dan egal, bruche dan nur noch Hilfe wegen mein Ban System :)

Also 2 Dinge.
Eine Exception wird ich genauer definieren, hilft dir später einmal beim lesen des Cods.

Bukkit.getPlayer gibt dir einen online Spieler zurück und keine Offline Spieler. Das geht nur hiermit Bukkit.getOfflinePlayers(), damit bekommst du ein Array mit allen Spielern, die auf dem Server waren. In Bukkit gibt es noch die Methode Bukkit.getOfflinePlayer(name), davon würde ich dir aber abraten, da hier nicht wirklich überprüft wird, ob der Spieler auch auf dem Server war. Bei Bukkit.getOfflinePlayers() werden nur die Spieler angezeigt die auf dem Server waren.

- - - Updated - - -

und Nice Avatar :p
 

Calenria

Braumeister
Registriert
28 Juli 2012
Beiträge
386
Alter
45
Diamanten
300
Minecraft
Calenria
In Bukkit gibt es noch die Methode Bukkit.getOfflinePlayer(name), davon würde ich dir aber abraten, da hier nicht wirklich überprüft wird, ob der Spieler auch auf dem Server war. Bei Bukkit.getOfflinePlayers() werden nur die Spieler angezeigt die auf dem Server waren.

Code:
OfflinePlayer target = Bukkit.getOfflinePlayer(name);
if(target.hasPlayedBefore()) {}

dann brauchste nicht die ganze liste von 10000 offline Spielern durchlaufen.
 

Plugin00

Kuhfänger
Registriert
3 Februar 2013
Beiträge
71
Diamanten
0
So Hallo erst Mal,

Ich habe mal mein Plugin weiter gemacht,

Und jetzt geht es fast mit NameTags,

Nur wenn ein Spieler mich anguckt ist der Name bei mir nicht mehr Farbig,

Und wenn ich ein Spieler angucke hat er mein Namen,

Was ist der Fail?

Code:

Code:
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onNameTags(PlayerReceiveNameTagEvent ev) {
		
		Player pl = ev.getPlayer();
		
	    if (pl.hasPermission("cSystem.TabList.Owner")) {
	        ev.setTag("§4§l" + pl.getName());
	      }
	    
	      else if (pl.hasPermission("cSystem.TabList.Developer")) {
	        ev.setTag("§3§l" + pl.getName());
	      }
	    
	      else if (pl.hasPermission("cSystem.TabList.WebDev")) {
		        ev.setTag("§2§l" + pl.getName());
		      }
	    
	      else if (pl.hasPermission("cSystem.TabList.Admin")) {
	    	  ev.setTag("§c§l" + pl.getName());
	      }
	    
	      else if (pl.hasPermission("cSystem.TabList.CS")) {
	    	  ev.setTag("§a§l" + pl.getName());
	      } 
	}
}
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
@param who player who is receiving the nametag
@param named player whose nametag we're talking about

=> getNamedPlayer() => Der Spieler der gesehen wird
=> getPlayer() => (who) => Der Spieler der den anderen sieht.
 

Plugin00

Kuhfänger
Registriert
3 Februar 2013
Beiträge
71
Diamanten
0
Soll man es so machen?
Kann grade nicht Testen,

Code:

Code:
	@EventHandler(priority=EventPriority.HIGHEST)
	public void onNameTags(PlayerReceiveNameTagEvent ev) {
		
		Player pl = ev.getNamedPlayer();
		
	    if (pl.hasPermission("cSystem.TabList.Owner")) {
	        ev.setTag("§4§l" + pl.getName());
	      }
	    
	      else if (pl.hasPermission("cSystem.TabList.Developer")) {
	        ev.setTag("§3§l" + pl.getName());
	      }
	    
	      else if (pl.hasPermission("cSystem.TabList.WebDev")) {
		        ev.setTag("§2§l" + pl.getName());
		      }
	    
	      else if (pl.hasPermission("cSystem.TabList.Admin")) {
	    	  ev.setTag("§c§l" + pl.getName());
	      }
	    
	      else if (pl.hasPermission("cSystem.TabList.CS")) {
	    	  ev.setTag("§a§l" + pl.getName());
	      } 
	}
}
 
Oben