Spigot Listener?

2 Antworten

Hallo, wie wird das Team des Spielers denn bestimmt? Handelt es sich um Scoreboard-Teams, oder werden diese am Spielbeginn etc. festgelegt?

Dann kann ich die vermutlich weiter helfen...

LG

Servus.

Also.. Ich weiß nicht in welcher Version du Programmierst, ich vermute einfach mal in der Version 1.14. Da gibt es mehrere Möglichkeiten:

  • HashMaps
  • ArrayLists
  • Lists
  • Configs (oder Datenbank)

Ich erkläre dir einfach mal die einfachste Methode, die HashMaps:

Eine HashMap kann zwei Objekte Speichern. Damit ist es einfacher. Du kannst in deiner Klasse bspw. einen String mit dem namen "teamrot" erstellen und in die HashMap die UUID des Spielers.

...
public class DamageEvent {

//String der Teams
private String teamrot = "teamrot", teamblau = "teamblau";
//Dort werden die Teammitglieder gespeichert.
private HashMap<UUID, String> teams = new HashMap<UUID, String>();
//Die Hashmap und die Strings solltest du in der Klasse, wo die Spieler den
//Teams zugewiesen werden reintun, dann kannst du hier die Klasse in
//dem Constructor implementieren und von der anderen Klasse darauf zugreifen.
 
public void onHit(EntityDamageByEntityEvent e) {
if ((e.getEntity() instanceof Player) && (e.getDamager() instanceof Player)) {
//Hier Programmierst du das Event so, dass es den Damage des Teammitglieds //Cancelt. -> e.setCacelled(true);
}
}
}

Ich lasse dir mal die Knobelarbeit und helfe dir hier nicht weiter. Man Lernt nur durch Probieren, Probieren und nochmal Probieren. Falls du dennoch weitere Hilfe benötigst, steht die Kommentarsektion dir offen.

Woher ich das weiß:Hobby