OnJoin event player namen heraus finden?
Wie kann ich die Nachricht "Hallo" an den Spieler der Joint ausgeben und ihm Items geben? Befehle kann ich, aber das verstehe ich noch nicht ganz.
Soll das "Hallo" nur der neue Spieler sehen?
Oder soll einfach "Hallo <Joinender Spieler>" im Chat geschrieben werden (für alle sichtbar)?
Nur der Spieler soll das sehen
2 Antworten
Player p = e.getPlayer();
e.setJoinMessage(p.getName() + " ist dem Spiel beigetreten!");
p.getInventory().addItem(new ItemStack(...));
Muss noch angepasst werden, aber so sollte es ungefähr passen.
Mit Player p = e.getPlayer(); definiert man den Spieler der Joint in einer Variabel.
Mit e.setJoinMessage, ändert man die Nachricht die erscheint, sobald der Spieler joint.
mit p.get Inventory, holt man das Inventar des Spielers und mit Add Item fügt man diesem Inventar ein Item (Itemstack) hinzu.
So sollte es ungefähr passen.
Hier genaueres zu dem Event:
https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/event/player/PlayerJoinEvent.html
Edit:
e.sendMessage(p.getName() + " ist dem Spiel beigetreten!");
Damit könnte es evtl gehen, sodass nur er die Nachricht sieht. Sicher bin ich mir hierbei aber nicht.
Falls die Frage noch aktuell ist:
@EventHandler
public void JoinEvent(PlayerJoinEvent event) {
Player p = event.getPlayer();
p.sendMessage("Hallo "+p.getName()+"!");
}
Also Ich habe das gerade mal Ausprobiert und das geht nicht, es wird kein Fehler Angezeigt. Ich habe das hier geschrieben: