Wieso wird mein Scoreboard nicht angezeigt?

1 Antwort

Läuft das Plugin überhaupt?

Der Fehler liegt vermutlich in dem oberen Teil der Klasse, den du nicht mitkopiert hast :).

Du musst in der Klasse das Interface "Listener" implementieren.

public class BlaBlubb implements Listener { 
...dein codevon oben...

Dann musst du im onEnable() deiner Mainklasse die Eventhandler der erzeugten Instanz von BlaBlubb registrieren

BlaBlubb blaBlubb = new BlaBlubb(); //deine Klasse oben einmal instanzieren, falls noch nicht woanders geschehen.
Bukkit.getpluginManager().registerEvents(blaBlubbInstance, this); //die darin befindlichen Eventhandler registrieren, damit sie funktionieren.

Ob die Eventhandler funktionieren, kannst du ganz einfach testen:

         @EventHandler
        		  public void onJoin1(PlayerJoinEvent e) {
System.out.println(e.getPlayer().getName() + "has joined!"); //<--------
        		    (new BukkitRunnable() {
        		        public void run() {
        		          for (Player all : Bukkit.getOnlinePlayers())
        		            GunGame.this.setScoreboard(all); 
        		        }
        		      }).runTaskLater((Plugin)this, 1L);
        		  }

(Sorry, hat sich total verschoben... geht iwie nicht besser^^)

Außerdem solltest du immer ignoreCancelled = true setzen, wenn du keinen Grund hast, es nicht zutun. Sonst wird das scoreboard auch dann (unnötigerweise) aktualisiert, wenn der Loginvorgang abgebrochen wird.

Ebenso solltest du, wenn du ein runTaskLater machst, darin nochmals prüfen, ob der Player dann überhaupt noch on ist.

Woher ich das weiß:Hobby